使用 \input 将表拆分为多个文件

使用 \input 将表拆分为多个文件

我想将我的表拆分成多个文件:

\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}

相关内容