我想要两行连续的文本,其中最短的一行对齐,以便它在另一行的末尾结束,即两行都应该在最长的一行的末尾结束。我该怎么做?
以下是我想要的示例。假设您有以下两行:
1) Lorem ipsum dolor sit amet,
2)consectetur adipisicing elit,
这些线很相似,但它们的结束点并不完全一致。我希望最短的线(在本例中是第二条线)能够对齐,以便它与第一条线的结束点相同。我尝试了 tabular 环境,但无法获得所需的结果。:(
答案1
您可以使用\makebox
使用可选s
参数(用于拉伸)来对齐两条线。
以下是一个例子:
\documentclass{article}
\usepackage{calc}
\newcommand{\justifytwo}[2]{
\makebox[\maxof{\widthof{#1}}{\widthof{#2}}][s]{#1}\par
\makebox[\maxof{\widthof{#1}}{\widthof{#2}}][s]{#2}}
\begin{document}
\justifytwo{Lorem ipsum dolor sit amet et amet et amet,}
{consectetur adipisicing elit,}
\end{document}
答案2
无需明确测量,即可进行tabular
:
\documentclass{article}
\begin{document}
\begin{tabular}{l}
Lorem ipsum dolor sit amet,\hfilneg\null\\
consectetur adipisicing elit,\hfilneg\null\\
\end{tabular}
\end{document}
评论:
\hfilneg
取消\hfil
插入到类型为 的列右侧的l
。\null
确保在单元格内容末尾\hfilneg
内部添加的内容能够存活下来。\unskip
纯 TeX
在普通的 TeX 中,它甚至更简单,\halign
直接使用:
\noindent
\halign{#\cr
Lorem ipsum dolor sit amet,\cr
consectetur adipisicing elit,\cr
}
\end