两条线以最长的一条线结束

两条线以最长的一条线结束

我想要两行连续的文本,其中最短的一行对齐,以便它在另一行的末尾结束,即两行都应该在最长的一行的末尾结束。我该怎么做?

以下是我想要的示例。假设您有以下两行:

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

结果

相关内容