我确信之前有人问过这个问题。但是,我找不到问题的答案,所以我想问问你们。
正如标题所述,我希望有两行签名并排,下面有两个名字。到目前为止,我已经编写了以下代码:
\begin{center}
\hbox{
\vbox{------------------------------------------------ \\ Name 1} \hspace*{2cm}
\vbox{------------------------------------------------ \\ Name 2}
}
\end{center}
然而,看起来好像第一个\vbox
正在吞噬另一个,并且从视觉上看起来像这样(我知道,我想这里没什么特别的):
知道如何解决这个问题吗(\vbox
一个 es 中有两个 es \hbox
,或者另一个带有两个\vbox
es 的解决方案)?
答案1
真的不需要\vbox
。你可以将通配符定义为\parbox
:
\documentclass{article}
\newcommand*\wildcard[2][5cm]{\vspace*{2cm}\parbox{#1}{\hrulefill\par#2}}
\begin{document}
Some text...
\begingroup
\centering
\wildcard{Name 1}
\hspace{1cm}
\wildcard{Name 2}
\par
\endgroup
\end{document}
笔记。如果您希望通配符下的文本居中,您可以将通配符宏定义为
\newcommand*\wildcard[2][5cm]{\vspace*{2cm}\parbox{#1}{\centering\hrulefill\par#2\par}}
附录
如果你确实受限于\vbox
原始定义,则上述定义可以转换为:
\newcommand*\wildcard[2][5cm]{%
\mbox{%
\vbox to 3cm{%
\vfill
\hbox to #1{\hrulefill}\par
\hbox to #1{\strut\hfil#2\hfil}
}
}
}