我有一段使用 Xtable 生成表格输出的代码,我想取消表格编号。我知道我可以在 Xtable 之外使用 \caption* 取消编号,但我不知道如何在 Xtable 中使用 \caption* 或它的等效项。
恐怕我才刚开始使用 KnitR、Sweave 和 LaTeX 几天,所以请原谅我的无知,并感谢您的帮助。工作示例如下,我想删除表 1。
免责声明 - 以下代码是http://christophj.github.io/replicating/r/how-to-produce-nice-tables-in-pdfs-using-knitr-sweave-and-r/
编辑:我想我可以\captionsetup[table]{labelformat=empty}
在序言中使用它,因为在这个文档中我不认为我会对任何表格进行编号,但在特定的表格环境中使用 \captionsetup 会更好。
\documentclass[draft]{article}
\usepackage{booktabs}
\begin{document}
<<results='asis', echo=FALSE>>=
library(xtable)
strCaption<- paste0("Sample table")
df<-data.frame(Area=1:5, n=seq(0,50, length.out=5))
print(xtable(df, digits=1, caption=strCaption, label="Test_table"),
size="footnotesize",
include.rownames=FALSE,
include.colnames = FALSE,
caption.placement = "top",
hline.after=NULL,
add.to.row = list(pos=list(-1,
nrow(df)),
command = c(paste("\\toprule \n",
"Stratum & Sets \\\\\n",
"\\midrule \n"),
"\\bottomrule \n")
)
)
@
\end{document}
答案1
好吧,很抱歉问了这个问题。不过我确实花了不少时间才弄清楚(正如我所说,我刚刚开始学习!)所以希望这个答案对其他人有用。
标题包为我的问题提供了答案。
使用\captionsetup{labelformat=empty}
表格前和captionsetup{lableformat=default}
表格后似乎允许我有选择地从标题中删除表格编号。
我看到我也可以在 \usepackage 声明中设置此选项,如下所示:\usepackage[labelformat=empty]{caption}
。
下面是一个工作示例:
\documentclass[draft]{article}
\usepackage{booktabs}
\usepackage[font=small, justification=justified, singlelinecheck=false]{caption}
\begin{document}
\captionsetup{labelformat=empty}
<<echo=FALSE, results='asis'>>=
library(xtable)
strCaption<- paste0("Sample table")
df<-data.frame(Area=1:5, n=seq(0,50, length.out=5))
print(xtable(df, digits=1, caption=strCaption, label="Test_table"),
latex.environments = "flushleft",
size="footnotesize",
include.rownames=FALSE,
include.colnames = FALSE,
caption.placement = "top",
hline.after=NULL,
add.to.row = list(pos=list(-1,
nrow(df)),
command = c(paste("\\toprule \n",
"Stratum & Sets \\\\\n",
"\\midrule \n"),
"\\bottomrule \n")
)
)
@
\captionsetup{labelformat=default}
<<echo=FALSE, results='asis'>>=
print(xtable(df, digits=1, caption=strCaption, label="Test_table2"),
latex.environments = "flushleft",
size="footnotesize",
include.rownames=FALSE,
include.colnames = FALSE,
caption.placement = "top",
hline.after=NULL,
add.to.row = list(pos=list(-1,
nrow(df)),
command = c(paste("\\toprule \n",
"Stratum & Sets \\\\\n",
"\\midrule \n"),
"\\bottomrule \n")
)
)
@
\end{document}
谢谢你观看!