大家好,
考虑以下最小示例:
\documentclass{article}
\begin{document}
Introductive text \dots\par
\begin{tabular}{cc|cc}
A & B123 & C & D\\
E & F123 & G & H
\end{tabular}
Text between tables \dots\par
\begin{tabular}{c|cc}
B & C & D\\
F & G & H
\end{tabular}
\end{document}
两个表格的字母 C 和 D 以及 G 和 H 以及垂直分隔线应彼此对齐,并且较长的表格(在本例中为第一个表格)应位于页面中间,而第二个表格的第一列的宽度/长度不应与第一个表格的第二列一样宽/长。
最后,该文档看起来应该大致如下:
Introductive text ...
A B123 | C D
E F123 | G H
Text between tables ...
B | C D
F | G H
在此先感谢您的帮助。
答案1
这是我的解决方案。将第一个表格保存在一个框中,并使用该框的宽度创建另一个框,将第二个表格放入其中。这样,两个框的宽度相同,更容易对齐。
我的 MWE:
\documentclass{article}
\begin{document}
\newsavebox{\mytable} % Save the first table in a box
\savebox{\mytable}{%
\begin{tabular}{cc|cc}
A & B123 & C & D\\
E & F123 & G & H
\end{tabular}
}
% Now the example
\noindent\hrulefill\par % A line to see the page width
Introductive text \dots
\begin{center}
\usebox{\mytable} % Put the first table centered
\end{center}
Text between tables \dots
\begin{center} % Put the second table inside a box of the same width of the first one
\makebox[\wd\mytable][r]{% The r is for "flush right" the table inside the box
\begin{tabular}{c|cc}
B & C & D\\
F & G & H
\end{tabular}
}
\end{center}
\noindent\hrulefill\par % A line to see the page width
\end{document}
答案2
\documentclass{article}
\begin{document}
\noindent X\dotfill X
Introductive text \dots
\begin{center}
\begin{tabular}{ccc}
A & B & C\\
D & E & F\\[5pt]
\multicolumn{3}{c}{%
\hbox to 0pt{\hss\begin{minipage}{\textwidth}
\begin{flushleft}
Text between tables \dots
\noindent X\dotfill X
\end{flushleft}
\end{minipage}\hss}}\\[5pt]
&B & C\\
&E & F
\end{tabular}
\end{center}
\end{document}
答案3
关于什么:
\documentclass{article}
\begin{document}
Introductive text \dots
\begin{center}
\begin{tabular}{ccc}
A & B & C\\
D & E & F
\end{tabular}
\end{center}
Text between tables \dots
\begin{center}
\begin{tabular}{ccc}
\phantom{A} & B & C\\
& E & F
\end{tabular}
\end{center}
\end{document}
\hline
但是,如果您有 等等,则可能需要进一步的技巧......