点填充文本长度

点填充文本长度

我正在尝试制作一些小虚线,用于签名不同的人,下面印有他们的名字。我认为如果虚线的宽度和水平位置与人的名字相匹配,看起来会很棒。我寻找了一个解决方案,并找到了一个这里,并包含在我的示例中。

但是,这不会改变间距,因此它实际上与长度并不完全匹配。 有什么好方法可以实现这一点吗?

\documentclass{letter}
\usepackage{lipsum}
\address{Street \\ City \\ Country}

\newlength\mylen
\newcommand\mdotfill[2][-0em]{%
  \settowidth\mylen{$#2$}
  \addtolength\mylen{#1}
  \leavevmode\hbox to \mylen{\xleaders\hbox{.}\hfill}}

\begin{document}
\begin{letter}{Company name \\ Street\\ City\\ Country}
\opening{Dear Sir or Madam:}
\lipsum[1-2]
\vfill
\closing{Signed,}

\mdotfill{John Doe}\hfill\mdotfill{Jane Doe} \hfill \mdotfill{Joe W. Long Name} \hfill \mdotfill{Lisa Simpson}\\
John Doe\hfill Jane Doe\hfill Joe W. Long Name\hfill Lisa Simpson

\end{letter}
\end{document}

答案1

这是一个根据小包装打印下面的点和名称的宏makebox

\documentclass{letter}
\usepackage{lipsum}
\address{Street \\ City \\ Country}
\usepackage{makebox}
\newcommand\signhere[1] {\begin{tabular}{c}\makebox*{#1}{\xleaders\hbox{.}\hfill}\\[2ex]#1\end{tabular}}

\begin{document}

\begin{letter}{Company name \\ Street\\ City\\ Country}
  \opening{Dear Sir or Madam:}
  \lipsum[1-2]
  \vfill
  \closing{Signed,}
  \signhere{Edward Lear}\hfill\signhere{Jane Eyre}\hfill\signhere{Mahatma Kane Jeeves}\hfill\signhere{Lisa Simpson}

\end{letter}

\end{document} 

在此处输入图片描述

相关内容