我想写一个有 3 列的表格。第二列应该位于页面的中间(水平方向)。
谢谢,阿德里安。
答案1
您可以尝试这样的操作(所有水平和垂直规则仅用于解释并且可以删除):
\documentclass{article}
\usepackage{array,tabularx}
\begin{document}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}
\newcolumntype{N}{>{\centering\arraybackslash}X}
\begin{tabularx}{\linewidth}{|R{5cm}|N|m{5cm}|} \hline
Lorem ipsum dolor sit & $\longrightarrow$ & Lorem ipsum dolor sit \\ \hline
Lorem ipsum dolor sit & $\longrightarrow$ & Lorem ipsum dolor sit \\ \hline
Lorem ipsum dolor sit & $\longrightarrow$ & Lorem ipsum dolor sit \\ \hline
\end{tabularx}
\end{document}
用于tabularx
使表格占据整个行宽。两个外侧列指定了一定的宽度,以便第二列可以相对于行宽居中,并且其宽度等于剩余长度(因此,需要 X 列类型)。
此外,为了使第二列相对于单元格内容居中,我们使用\newcolumntype
如下定义:
\newcolumntype{N}{>{\centering\arraybackslash}X}
这需要array
包。此外,第一列根据定义右对齐:
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}
第三列已经左对齐。
编辑:
定义\newenvironment
为:
\newenvironment{ABC}{\tabularx{\linewidth}{R{5cm}Nm{5cm}}}
{\endtabularx}
\begin{ABC}
Lorem ipsum dolor sit & $\longrightarrow$ & Lorem ipsum dolor sit \\
Lorem ipsum dolor sit & $\longrightarrow$ & Lorem ipsum dolor sit \\
Lorem ipsum dolor sit & $\longrightarrow$ & Lorem ipsum dolor sit \\
\end{ABC}
你将会得到相同的结果。