我希望能够将表格居中,但中心要与第一个单元格的末尾对齐。目前,只需使用命令,\begin{center}
我就能将表格居中,但我希望表格以第一个单元格的末尾为中心,而不是以表格的平均中心为中心。
\documentclass{article}
\begin{document}
\begin{center}
\begin{tabular}{r | l}
I am some really long text & 10pt \\
I am also really long & 12pt \\
\end{tabular}
\end{center}
\end{document}
获取一个居中的表格,但我更希望它变成“我是一些很长的文本{居中} 10pt。
编辑:我正在寻找的想法可以通过以下方式看到对齐方程式在任何时候。
答案1
这只是 Poul 答案的一个变体。相反,array 包可以使用 tabularx 包并定义新的列类型 R 和 L。无需测量列的宽度:
\documentclass{article}
\usepackage{tabularx}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\begin{document}
\begin{center}
\begin{tabularx}{\textwidth}{|R|L|}
I am some really long text & 10pt \\
I am also really long & 12pt
\end{tabularx}
\end{center}
\hrulefill.\hrulefill % just for visual check
\end{document}
答案2
我不知道 Chris (cmhughes) 为何删除了他的答案。但是,对于这项简单的工作,无需加载像 这样的重型软件包tabularx
。没有它,这就是完成的方式。
\documentclass{article}
\usepackage{showframe}
\usepackage{array}
\newcolumntype{L}{>{\raggedright\arraybackslash}p{\dimexpr0.5\textwidth
-2\tabcolsep-\arrayrulewidth\relax}}
\newcolumntype{R}{>{\raggedleft\arraybackslash}p{\dimexpr0.5\textwidth
-2\tabcolsep-\arrayrulewidth\relax}}
\begin{document}
\begin{center}
\begin{tabular}{R|L}
aaaa I am some really long text & I am some really long text aaaa\\
I am also really long & I am also really long \\
\end{tabular}
\end{center}
\hrulefill.\hrulefill % just for visual check
\end{document}
答案3
显然,可以在任一(子)表格上插入额外的列,以分别将表格向左或向右延伸,即使两半之间的分界线仍然居中。
\documentclass{article}
\begin{document}
\begin{center}
\makebox[0pt][r]{%
\begin{tabular}{r |}
I am some really long text\\
I am also really long\\
\end{tabular}%
}%
\makebox[0pt][l]{%
\begin{tabular}{| l}
10pt \\
12pt \\
\end{tabular}%
}
\end{center}
\end{document}
答案4
史蒂文的答案是可行的,但如果你想避免分解表格(以需要指定宽度为代价):
基于这个答案,我们可以使用该array
包的功能来定义新的列类型L{<width}
,,可以为其声明显式宽度。选择此项以适合所有列中最宽的内容,并将其设置为所有列C{<width>}
:R{<width>}
<width>
\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{center}
\begin{tabular}{R{1.7in} | L{1.7in}}
I am some really long text & 10pt \\
I am also really long & 12pt \\
\end{tabular}
\end{center}
\hrulefill.\hrulefill % just for visual check
\end{document}