如何通过kable和kableExtra在Rmarkdown LaTex中打印小于/大于符号?

时间:2018-06-12 19:44:20

标签: r latex r-markdown kable kableextra

我试图通过kable和kableExtra函数使用Rmarkdown LaTex打印一个相当简单的表,这些函数允许我加粗行和列。以下是我的问题的一个例子:

df <- data_frame(grp=c("<1","1-5","5+"),n=c(3,4,5))

#This works
df %>%
  kable(format="latex",booktabs=T)

#This works
df %>%
  kable(format="latex",booktabs=T) %>%
  kable_styling(latex_options = c("hold_position"))

#This works
df %>%
  kable(format="latex",booktabs=T) %>%
  kable_styling(latex_options = c("hold_position")) %>%
  column_spec(1,bold=T)

#This works
df %>%
  kable(format="latex",booktabs=T) %>%
  kable_styling(latex_options = c("hold_position")) %>%
  row_spec(1 ,bold=T)

#This does not work
df %>%
  kable(format="latex",booktabs=T) %>%
  kable_styling(latex_options = c("hold_position")) %>%
  row_spec(0 ,bold=T) %>%
  column_spec(1,bold=T) 

现在我能够弄明白这是因为我的小组以小于符号开头,这显然在尝试同时使用column_specrow_spec时导致混乱。错误消息是:

! Misplaced \noalign.
\toprule ->\noalign 
                    {\ifnum 0=`}\fi \@aboverulesep =\abovetopsep \global \@b...
l.129 \toprule

在我的实际数据框架中(它本身并不比这个复杂得多),我的主要错误实际上是Error: \caption outside float(但我似乎无法用我的MVE复制它,诚然,我遗漏了这个例子的其他一些选项,但是)。

我已经尝试过按\<1向上\\\\<1的方向重新命名该群组,并且这些群组的工作原理是&#39;但打印斜线,或者它给我一个关于无法识别的逃生的错误。现在我知道最简单的选择是简单地以某种方式重命名该组,但我有兴趣看看是否有其他逃脱技巧或解决方法,以便我可以保留我的组名。

谢谢!

0 个答案:

没有答案