Выделите жирным шрифтом содержимое нижней строки в xtable

Как я могу выделить содержимое последней строки xtable? Нижняя строка содержит суммы, и я бы хотел, чтобы они были выделены жирным шрифтом.

Я использую следующее:

<<eval=TRUE,echo=FALSE,results='asis',warning=FALSE,message=FALSE,error=FALSE>>=

test.xt <- xtable(test, label="table", caption='test')
align(test.xt) <- "|l|l|r|r|r|r|r|r|"
print(test.xt, tabular.environment='tabularx', include.rownames = FALSE,  width="\\textwidth", floating=FALSE)
@

person George Dontas    schedule 19.10.2015    source источник
comment
Я думаю, вам нужно вручную вставлять жирные теги вокруг каждой записи в строке, к сожалению.   -  person Thomas    schedule 19.10.2015
comment
Нельзя ли это сделать с помощью add.to.row? Я использую его, чтобы добавить цвет фона. См. это, например, правила для строк в xtable"> stackoverflow.com/questions/20867670/   -  person George Dontas    schedule 19.10.2015
comment
Похоже, вы действительно хотите использовать sanitize.text.function в соответствии с этим вопросом. stackoverflow.com/questions/13762431/   -  person Benjamin    schedule 19.10.2015


Ответы (1)


Вот рабочий пример (в Rmarkdown, но его легко адаптировать.

---
title: "Untitled"
output: pdf_document
header-includes:
  - \usepackage{tabularx}
  - \usepackage{array}
---

```{r, eval=TRUE,echo=FALSE,results='asis',warning=FALSE,message=FALSE,error=FALSE}
library(xtable)
test <- rbind(mtcars[1:10, 1:5], 
              colSums(mtcars[1:10, 1:5]))
rownames(test)[11] <- "Sum"

test[11, ] <- paste0("BOLD", test[11, ])

bold.somerows <- 
        function(x) gsub('BOLD(.*)',paste('\\\\textbf{\\1','}'),x)


test.xt <- xtable(test, label="table", caption='test')
align(test.xt) <- "|l|l|l|r|r|r|"
print(test.xt, tabular.environment='tabularx', include.rownames = FALSE,  width="\\textwidth", floating=FALSE, sanitize.text.function = bold.somerows)
```

И если вы можете обойтись без границ на данный момент, вы можете использовать pixiedust (границы таблиц в документах LaTeX — это следующее в списке дел для pixiedust, и их нужно сделать через несколько недель).

```{r}
library(pixiedust)
test <- rbind(mtcars[1:10, 1:5], 
              colSums(mtcars[1:10, 1:5]))
rownames(test)[11] <- "Sum"

dust(test, keep_rownames = TRUE) %>%
  sprinkle(rows = 11, bold = TRUE) %>%
  sprinkle_print_method("latex")
```
person Benjamin    schedule 19.10.2015
comment
Спасибо, sanitize.text.function — это то, что нужно. - person George Dontas; 19.10.2015