我想将我的表拆分成多个文件:
\input{table_head.tex}
包含以下内容
\begin{table}[htpb]
\centering
\caption{Caption}
\begin{tabular}[r]{ccc}
\addlinespace
\toprule
A &
B &
C \\
\midrule
\input{content1.tex}
包含以下内容
A1 & B1 & C1 \
\input{content2.tex}
包含以下内容
A2 & B2 & C2 \
依此类推,直到
\input{contentX.tex}
包含以下内容
AX & BX & CX \
最后是表脚
\input{table_footer.tex}
内容如下
\bottomrule
\end{tabular}
\label{tab:tab_label}
\end{table}
我应该使用哪个命令?我使用 时出现错误input
。
答案1
这个问题类似于带有 \input 的超表问题:该\bottomrule
命令必须紧跟在\\
(或\tabularnewline
) 之前。尽管\input
在大多数情况下,它的工作方式就像您直接输入内容一样,但这是失败的情况之一:\bottomrule
无法\\
从前面的文件中找到。在我链接到的答案中,Bruno 建议将最后一个放入\\
页脚文件中,但我认为您希望保持所有文件的结构input
相同。我建议\\[-\normalbaselineskip]
在文件开头添加table_footer.tex
,它将充当换行符,实际上不会改变垂直位置:
\documentclass{article}
\usepackage{filecontents}
\usepackage{booktabs}
\begin{filecontents}{table_head.tex}
\begin{table}[htpb]
\centering
\caption{Caption}
\begin{tabular}[r]{ccc}
\addlinespace
\toprule
A &
B &
C \\
\midrule
\end{filecontents}
\begin{filecontents}{input1.tex}
A1 & B1 & C1\\
\end{filecontents}
\begin{filecontents}{input2.tex}
A2 & B2 & C2\\
\end{filecontents}
\begin{filecontents}{table_foot.tex}
\\[-\normalbaselineskip]\bottomrule
\end{tabular}
\label{tab:tab_label}
\end{table}
\end{filecontents}
\begin{document}
\input{table_head.tex}
\input{input1.tex}
\input{input2.tex}
\input{table_foot.tex}
\end{document}