如何使表格的中间位于页面的中心?

如何使表格的中间位于页面的中心?

我希望{r|l}表格中的垂直规则与页面中心水平对齐。

到目前为止,我只做到了

\begin{center}
  \begin{tabular}{r|l}
    short & long long long \\
    short & long long long \\
    short & long long \\
    short & long long long\\
  \end{tabular}
\end{center}

\begin{center}
  \begin{tabular}{r|l}
    long long & short
  \end{tabular}
\end{center}

得出输出

如何使表格的垂直线位于页面的中心?

答案1

您可能需要定义新的列类型(感谢@lockstep回答

\documentclass{article}
\usepackage{array}

\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\begin{document}

    \begin{tabular}{ R{0.465\textwidth} | L{0.465\textwidth}}
        short & long long long \\
        short & long long long \\
        short & long long \\
        short & long long long\\
    \end{tabular}

    \begin{tabular}{ R{0.465\textwidth} | L{0.465\textwidth}}
        long long & short
    \end{tabular}

\end{document}

这使

在此处输入图片描述

答案2

您可以为表的列指定固定的长度。

如果您希望列占据行半部分的所有可能空间,则必须按照以下方式计算它们的列宽,以免出现过满的水平盒子:(
.5\linewidth半行)
-2\tabsep(减去文本列前后的两个空格)
-.5\arrayrulewidth(减去垂直条宽度的一半)。

在我的 MWE 中我使用了该calc包,没有它您也可以编写\setlength{\myhalfpage}{\dimexpr .5\linewidth-2\tabcolsep-.5\arrayrulewidth}来获得相同的结果。

您可以使用lockstep 的定义这个长度。

\documentclass{article}
\usepackage{array}
\usepackage{calc}
\newlength{\myhalfpage}
\setlength{\myhalfpage}{.5\linewidth-2\tabcolsep-.5\arrayrulewidth}
\newcolumntype{L}{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{\myhalfpage}}
\newcolumntype{C}{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{\myhalfpage}}
\newcolumntype{R}{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{\myhalfpage}}

\begin{document}

\begin{center} 
\begin{tabular}{R|L} 
short & long long long \\
short & long long long \\ 
short & long long \\ 
short & long long long\\ 
\end{tabular} 
\end{center} 
\begin{center} 
\begin{tabular}{R|L} 
long long & short 
\end{tabular} 
\end{center}
\end{document}

在此处输入图片描述

相关内容