使用 xtable 时选择性地隐藏标题编号

使用 xtable 时选择性地隐藏标题编号

我有一段使用 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}

谢谢你观看!

相关内容