Формат xtable курсива для столбца
Мне нужно вставить названия видов в таблицу, созданную xtable
в моем файле Rnw, и я хочу преобразовать относительный столбец в формат курсива. Возможно ли это без какого-либо ручного вмешательства?
Мой звонок:
xtable(cklist, caption="Checklist...", align='lllc',label = 'tab:ckzygo')
1 ответ
Чтобы набрать столбец курсивом (или любой другой нестандартный шрифт), вы должны использовать >{\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}
Обратите внимание, что вам нужно использовать 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
требуется, как описано в связанной статье.