Добавьте \emph
вручную с помощью paste
и добавьте новую строку с помощью rbind
, установив имя новой строки в один пробел. Кроме того, используйте stringsAsFactors=FALSE
при создании исходного фрейма данных, чтобы сделать возможным добавление нового значения в столбец таксонов.
Затем используйте sanitize.text.function=identity
, чтобы xtable
сохранял обратную косую черту в команде \emph
, и hline.after
, чтобы получить строки, где вы хотите их.
\documentclass[12pt,letterpaper,oneside]{amsart}
\usepackage{graphicx}
\usepackage{longtable}
\SweaveOpts{keep.source=TRUE} % Keeps formatting of the R code.
\begin{document}
<<echo=TRUE>>=
taxa <- c("Arabidopsis thaliana",
"Populus trichocarpa",
"Brachypodium distachyon")
sites <- c(270,320,240)
data.df <- data.frame(taxa,sites, stringsAsFactors=FALSE)
@
~
<<label=tab2, echo=TRUE, results=tex>>=
library(xtable)
data.df$taxa <- paste("\\emph{",taxa,"}", sep="")
data.df <- rbind(data.df, ` `=c("Total Sites", sum(data.df$sites)))
data.table <- xtable(data.df,
caption="Sweave Output")
print(data.table,
caption.placement="top",
sanitize.text.function=identity,
hline.after=c(-1,0,nrow(data.df)-1, nrow(data.df)))
@
\end{document}