如何使一段文本具有预定义的固定宽度

如何使一段文本具有预定义的固定宽度

1)我目前拥有的乳胶代码和相应的输出

\def\lineA{Email   \ \ \ Lorem ipsum dolor sit amet}
\def\lineB{Phone   \ \ \ Lorem ipsum dolor sit amet}
\def\lineC{Address \ \ \ Lorem ipsum dolor sit amet}
\def\lineD{Website \ \ \ Lorem ipsum dolor sit amet}
...
\lineA \\
\lineB \\
\lineC \\
\lineD \\

这将产生以下结果

在此处输入图片描述

2)我想要的 latex 代码和相应的输出

\def\lineA{\width{20px}{Email}   \ \ \ Lorem ipsum dolor sit amet}
\def\lineB{\width{20px}{Phone}   \ \ \ Lorem ipsum dolor sit amet}
\def\lineC{\width{20px}{Address} \ \ \ Lorem ipsum dolor sit amet}
\def\lineD{\width{20px}{Website} \ \ \ Lorem ipsum dolor sit amet}
...
\lineA \\
\lineB \\
\lineC \\
\lineD \\

希望能够产生以下结果

在此处输入图片描述

我怎样才能实现这个目标?

答案1

您在这里寻找的(而不是\width)是\makebox[<len>][<align>]{<stuff>},它设置<stuff>一个宽度的框<len>和特定的<align>ment(left、right、centred 或tretched)。如果您不指定任何ment,s则默认为entred 。您可以在i els 中指定,但通常使用其他标准长度,具体取决于您想要绝对长度(如oin s)还是相对长度(如s)。请参阅c<align><len>pxptem毫米中表示的各种单位(、、、、、、ex)是什么?eminptbpddpc

在你的特定情况下,使用类似

\def\lineA{\makebox[5em][l]{Email}   Lorem ipsum dolor sit amet}
\def\lineB{\makebox[5em][l]{Phone}   Lorem ipsum dolor sit amet}
\def\lineC{\makebox[5em][l]{Address} Lorem ipsum dolor sit amet}
\def\lineD{\makebox[5em][l]{Website} Lorem ipsum dolor sit amet}

如果您想自动计算最大宽度,可以考虑使用eqparbox's其中您对要考虑的每个元素\eqmakebox[<tag>][<align>]{<stuff>}使用相同的方法。<tag>

答案2

上面的答案是 LaTeX 和 TeX 代码的混合。我向你展示纯 TeX 代码:

\def\lineA{\leavevmode\hbox to5em{Email\hss}   Lorem ipsum dolor sit amet\par}
\def\lineB{\leavevmode\hbox to5em{Phone\hss}   Lorem ipsum dolor sit amet\par}
\def\lineC{\leavevmode\hbox to5em{Address\hss} Lorem ipsum dolor sit amet\par}
\def\lineD{\leavevmode\hbox to5em{Website\hss} Lorem ipsum dolor sit amet\par}
 
\lineA
\lineB
\lineC
\lineD

答案3

我猜你想要一个tabular

\documentclass{article}

\begin{document}

\begin{tabular}{@{} l l @{}}
Email & \texttt{[email protected]} \\
Phone & (888) 555 99 99 99 \\
Address & 99 Some Street, Sometown \\
Website & \texttt{https://name.example.com}
\end{tabular}

\end{document}

在此处输入图片描述

相关内容