(This question不解決這個問題,因爲這是有關線寬內居中,我感興趣的是全幅。)xtable和knitr:如何在整頁寬度上居中對齊表格?
我產生一個表是這樣的:
\documentclass{article}
\begin{document}
<<tabletest, message=F, warning=F, echo = F, results = "asis">>=
library(readr)
library(xtable)
# Create dummy data.frame
values <- 1:14
df <- t(data.frame(values, values))
colnames(df) <- paste("column", values, sep="")
rownames(df) <- c("row1", "row2")
ltable <- xtable(
x = df
)
print(ltable)
@
\end{document}
結果看起來像這樣:
我想在頁面上水平居中這一點。我的第一次嘗試是在包裝的\centerline{}
塊,但是這讓我這個:
Runaway argument?
{ \begin {table}[ht] \centering \begin {tabular}{rrrrrrrrrrrrrrr} \hline \ETC.
! Paragraph ended before \centerline was complete.
<to be read again>
\par
中產生的.tex文件中有趣的部分是這樣的:
\centerline{
% latex table generated in R 3.2.5 by xtable 1.8-2 package
% Mon Apr 25 16:40:48 2016
\begin{table}[ht]
\centering
\begin{tabular}{rrrrrrrrrrrrrrr}
\hline
& column1 & column2 & column3 & column4 & column5 & column6 & column7 & column8 & column9 & column10 & column11 & column12 & column13 & column14 \\
\hline
row1 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 \\
row2 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 \\
\hline
\end{tabular}
\end{table}
}
如果我手動編輯那對此:
% latex table generated in R 3.2.5 by xtable 1.8-2 package
% Mon Apr 25 16:40:48 2016
\begin{table}[ht]
\centerline{
\begin{tabular}{rrrrrrrrrrrrrrr}
\hline
& column1 & column2 & column3 & column4 & column5 & column6 & column7 & column8 & column9 & column10 & column11 & column12 & column13 & column14 \\
\hline
row1 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 \\
row2 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 \\
\hline
\end{tabular}
}
\end{table}
然後它工作。但我怎麼能自動完成這一點?閱讀this和this後,我想:
x <- capture.output(print(xtable(ltable)))
x <- gsub("\\\\centering", "", x, fixed=TRUE) # Remove \centering
x <- gsub("\\begin{table}[ht]", "\\begin{table}[ht]\\centerline{", x, fixed=TRUE) # Add \centerline{
x <- gsub("\\end{table}", "\\end{table}}", x, fixed=TRUE) # Add ending }
但x
格式是不是我打電話print(ltable)
當早點起牀:
> print(x)
[1] "% latex table generated in R 3.2.5 by xtable 1.8-2 package"
[2] "% Mon Apr 25 16:51:02 2016"
也就是說,這將輸出與前面的數字括號的每一行,它不會產生一個表。誰能幫我這個?
你想表浮動? –
我希望桌子位於整個頁面寬度的中間(水平方向)。 – L42
當然。但它仍然可以浮動(根據LaTeX的規則,它會出現在適合的位置),或者作爲文本的一部分出現在與源代碼中位置相對應的位置。 –