rmd에서 xtable과 lualatex를 사용하여 테이블을 중앙에 맞출 수 없는 이유는 무엇입니까?

rmd에서 xtable과 lualatex를 사용하여 테이블을 중앙에 맞출 수 없는 이유는 무엇입니까?

누구든지 xtable 관련 문제를 해결하도록 도와줄 수 있나요?

Rstudio에서 처리한 데이터를 기반으로 xtable을 사용하여 테이블을 만듭니다. 기본 R 코드는 해당 테이블로 PDF를 생성하는 Rmd 스크립트를 실행합니다. 잘 작동하지만 며칠 이후로 테이블을 중앙에 놓을 수 없습니다!

Rmd의 코드는 다음과 같습니다.

---
#knit: (function(inputFile, encoding) { rmarkdown::render(inputFile, ) })
#template: default-1.17.0.2.tex
output: 
  pdf_document:
    latex_engine: lualatex 
    keep_tex: true
documentclass: article
mainfont: Arial
fontsize: 12pt
params:
  dyntitle:  !r dyntitle
  dynsubtitle:  !r dynsubtitle
  dynfigno:  !r dynfigno
  dynprojectname:  !r dynprojectname

title: "`r params$dyntitle`"
subtitle: "`r params$dynsubtitle`"
figureno: "`r params$dynfigno`"
projectname: "`r params$dynprojectname`"
---


```{r echo = FALSE, results='asis'}
library(xtable)
options(xtable.floating = FALSE)
options(xtable.timestamp = "")
options(xtable.comment = FALSE)
library(knitr)
library(kableExtra)

tbl<-Bdata[-c(13,16),]
x<-xtable(tbl, auto = T)
rws <- seq(1, (nrow(tbl)), by = 2)
spc <- seq(4, (nrow(tbl)), by = 4)
addtorow <- list()
addtorow$pos <- as.list(c(0,
                          rws,
                          nrow(x),
                          spc)
                        )
addtorow$command <- as.vector(c("\\toprule \n 
                                &\\multicolumn{4}{c}{OP4} \\\\ \\cmidrule(lr){2-5} \n 
                                &\\multicolumn{2}{c}{30} & \\multicolumn{2}{c}{00} \\\\ \\cmidrule(lr){2-3} \\cmidrule(lr){4-5} \n
                                & TP & EO & TP & EO & \\\\ \\midrule ",
                                rep("\\rowcolor[gray]{0.95}", length(rws)),
                                "\\bottomrule",
                                rep("\\addlinespace[5pt] ", length(spc)))
                              ,mode="character" )

digits(x) <- matrix(c(0,0,0,-2,0,0,0,0,0,0,0,0,0,0,1,0), nrow = nrow(x), ncol = ncol(x)+1)

print(x, add.to.row=addtorow,include.colnames = FALSE, hline.after = NULL, size="\\fontsize{10pt}{12pt}\\selectfont")


답변1

를 사용하고 있으므로 다음과 같이 results='asis'추가 LaTeX 코드를 출력할 수 있습니다 cat.

cat("\\begin{center}")
print(x, add.to.row=addtorow,include.colnames = FALSE, hline.after = NULL, size="\\fontsize{10pt}{12pt}\\selectfont")
cat("\\end{center}")

일부 표준 데이터 세트를 사용할 때 저에게 효과적입니다.

관련 정보