一行下的文字

一行下的文字

可能重复:
动态签名/日期行

我怎样才能使文本以如下形式出现在线下:

____________________
    name, phone

或者

Name:____________________
         (full name)

谢谢!

更新:

两位用户提供的解决方案对于固定大小的 效果很好hspace。 使用它来制作函数也很容易。

Name: $\underset{\text{(full name)}}{\underline{\hspace{5cm}}}$

但是我想知道是否可以使用这种动态hspace?或者这是完全不同的问题?

答案1

这是一个基于(可能被滥用的)数学模式的解决方案。我定义了一个名为的新命令,\tline以使其更简单。第一个参数是您想要的行下方的文本,第二个参数是您想要的行的长度。

代码/示例:

\documentclass[]{article}

\usepackage[]{amsmath}

% THIS IS MY NEWLY DEFINED COMMAND
\newcommand\tline[2]{$\underset{\text{#1}}{\text{\underline{\hspace{#2}}}}$}

\begin{document}

Name: \tline{(full name)}{1in}

\end{document}

输出: 示例输出

编辑:我修改了代码,使下划线填充了行的其余部分。该技术基于回答另一个问题。

附加前导码:

% Code based on http://www.latex-community.org/forum/viewtopic.php?f=44&t=10246
\newsavebox\mybox
\newlength\mylen
\newlength\fieldlen
\newcommand\tlinefill[2]{\noindent #1\sbox\mybox{#1}%
\settowidth\mylen{\usebox\mybox}%
\setlength\fieldlen{\linewidth}%
\addtolength\fieldlen{-\mylen}%
$\underset{\text{#2}}{\text{\underline{\hspace{\fieldlen}}}}$}

使用新命令\tlinefill,该行可以填充行的其余部分。第一个参数是您想要在行前面的文本,第二个参数是您想要在行下面的文本。因此,\tlinefill{Name: }{(full name)}将产生:

更多产出

请注意,lipsum这里的文字只是为了显示线宽。

答案2

或者通过使用\shortstack以下方式降低:-\baselineskip\raisebox

\documentclass{article}

\begin{document}
How now \raisebox{-\baselineskip}{\shortstack{\underline{\hspace{3cm}}\\(brown cow)}}?
\end{document}

答案3

另一种可能性是使用\undersetamsmath 包中的命令,例如

\documentclass{article}
\usepackage{amsmath}
\pagestyle{empty}
\begin{document}
$\underset{\text{name, phone}}{\underline{\hspace{5cm}}}$
\vspace*{2cm}

Name: $\underset{\text{(full name)}}{\underline{\hspace{5cm}}}$
\end{document}

在此处输入图片描述

答案4

可能有很多方法可以做到这一点。一种方法是使用tabular环境:

\begin{tabular}{lc}
Name: & \underline{\hspace{2in}}\\
& \textsf{(full name)}
\end{tabular}

相关内容