我正在尝试使用threeparttablex
软件包提供的 threeparttable 构造,它允许在 longtable 的底部添加注释。但是,我希望它能够向后兼容我之前使用普通 longtable 的用法。
因此,我希望有一个选项,即拥有一个带有空注释的 threeparttable,然后将其简化为通常的 longtable。但是,这似乎不可能,因为将 TableNotes 部分留空会给出错误消息。它只接受\item
,但这会在表格底部添加一行,或者至少添加一些额外的空间,可以通过将只有一个\item
as 注释的 threeparttable ( \emptythreeparttable
) 与常规 longtable ( \emptylongtable
) 进行比较来验证。我希望能够拥有一个与 longtable 完全一样的 threeparttable。
那么,有可能实现这个吗?
我还对指向具有类似功能的包或构造的指针感兴趣。
\documentclass[12pt]{scrartcl}
\usepackage{longtable}
\usepackage{threeparttablex}
\usepackage{booktabs}
\begin{document}
\newcommand{\emptythreeparttable}
{
\begin{ThreePartTable}
\begin{TableNotes}
\item
\end{TableNotes}
\begin{longtable}{l l}
\toprule
Column 1 & Column 2 \\
\midrule
\endhead
\cmidrule{2-2}
\multicolumn{2}{r}{\textit{continued}}
\endfoot
\bottomrule
\insertTableNotes
\endlastfoot
% the contents of the table
A& B\\
C& D\\
\end{longtable}
\end{ThreePartTable}
}
\newcommand{\emptylongtable}
{
\begin{longtable}{l l}
\toprule
Column 1 & Column 2 \\
\midrule
\endhead
\cmidrule{2-2}
\multicolumn{2}{r}{\textit{continued}}
\endfoot
\bottomrule
%\insertTableNotes
\endlastfoot
% the contents of the table
A& B\\
C& D\\
\end{longtable}
}
%\emptythreeparttable
\emptylongtable
Some text.
\end{document}
答案1
重新定义命令环境\insertTableNotes
中不执行任何操作就足够了。如果您的实际用例与您创建的示例不同,那么这可能无法满足您的要求。ThreePartTable
\emptythreeparttable
\documentclass[12pt]{scrartcl}
\usepackage{longtable}
\usepackage{threeparttablex}
\usepackage{booktabs}
\begin{document}
\newcommand{\emptythreeparttable}
{
\begin{ThreePartTable}
\renewcommand{\insertTableNotes}{}
\begin{TableNotes}
\item
\end{TableNotes}
\begin{longtable}{l l}
\toprule
Column 1 & Column 2 \\
\midrule
\endhead
\cmidrule{2-2}
\multicolumn{2}{r}{\textit{continued}}
\endfoot
\bottomrule
\insertTableNotes
\endlastfoot
% the contents of the table
A& B\\
C& D\\
\end{longtable}
\end{ThreePartTable}
}
\newcommand{\emptylongtable}
{
\begin{longtable}{l l}
\toprule
Column 1 & Column 2 \\
\midrule
\endhead
\cmidrule{2-2}
\multicolumn{2}{r}{\textit{continued}}
\endfoot
\bottomrule
%\insertTableNotes
\endlastfoot
% the contents of the table
A& B\\
C& D\\
\end{longtable}
}
\emptythreeparttable
\rule{\linewidth}{1pt}
Some text
\emptylongtable
\rule{\linewidth}{1pt}
Some text.
\end{document}