我希望{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}