列的xtable斜体格式

时间:2015-09-06 20:59:07

标签: r knitr sweave xtable

我需要在我的Rnw文件中将xtable创建的表中的种类名称插入,我想将相对列转换为斜体格式。没有任何人工干预可以吗?

我的电话是:

xtable(cklist, caption="Checklist...", align='lllc',label = 'tab:ckzygo')

1 个答案:

答案 0 :(得分:2)

要以斜体(或任何其他非标准字体形状)排版列,您应该使用>{\cmd}语法进行列规范。

指定列类型>{\itshape}l会生成斜体的左对齐列。

这是一个比评论中建议的iris$Species <- paste0("\\textit{", iris$Species, "}")更好的解决方案,因为您既不需要修改数据也不需要禁用文本清理。

小插图:

\documentclass{article}
\usepackage{array}
\begin{document}
<<xtableItalics, results = "asis">>=
library(xtable)

print(xtable(head(iris), align = c(rep("l", 5), ">{\\itshape}l")))
@
\end{document}

PDF看起来像: enter image description here

请注意,您需要使用array包才能实现此目的。

编辑:为了展示这种方法的灵活性,还有两个例子:

print(xtable(head(iris), align = c(rep("l", 5), ">{\\textit\\bgroup}l<{\\egroup}")))
print(xtable(head(iris), align = c(rep("l", 5), ">{\\textcolor{red}\\bgroup}l<{\\egroup}")))

第一行使用\textit{}代替\itshape来排版斜体。由于\textit{}要求将文本修改为参数,因此我们需要稍微复杂的语法。 (它在上面链接的wikibooks.org文章中描述过。)

此语法也可用于更改文本的颜色。在更复杂的情况下,需要lrbox,如链接文章中所述。