将表格左对齐到中间和垂直线

将表格左对齐到中间和垂直线

大家好,

考虑以下最小示例:

\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但是,如果您有 等等,则可能需要进一步的技巧......

相关内容