我需要在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看起来像:
r - 列的xtable斜体格式-LMLPHP

请注意,您需要使用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/

10-12 17:13