我需要在Rnw文件中的xtable
创建的表中插入物种名称,并且要将相对列转换为斜体格式。没有任何手动干预,是否有可能?
我的电话是:
xtable(cklist, caption="Checklist...", align='lllc',label = 'tab:ckzygo')
最佳答案
要以斜体(或任何其他非标准字体形状)排版的列,应使用 >{\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看起来像:
请注意,您需要使用
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
。关于r - 列的xtable斜体格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32428249/