我有一张学生必须回答的工作表。我在工作表中放置了一个字段,学生可以使用命令在上面写下自己的名字\line
。
现在我正在准备答题纸,这样他们就可以在 .pdf 文件上看到正确的答案,我想在之前使用的命令上方输入“答题纸” \line
。简单地写下它会将行“推”到右侧,但不会在行上方执行。
MWE 中的“姓名字段”代码如下。“姓名”字段位于“Nome”一词的右侧,因为这是葡萄牙语中“姓名”的意思。代码之所以\textnumero
存在,是因为它会产生一个好看的数字符号,学生可以在其右侧写下自己的学号。
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[brazil]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{textcomp}
\begin{document}
\fbox{
\begin{minipage}{0.90\linewidth}
\vspace*{0.30cm} Nome: \line(1,0){260} \ \textnumero:\line(1,0){25}
\end{minipage}
}
\end{document}
答案1
您可以使用 . 将文本插入到线条上\rlap
,但线条将会覆盖插入文本的底部,因此您必须将文本稍微凸起一些。
这使用了该方法。您可以调整升力以适应。
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[brazil]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{textcomp}
\begin{document}
\fbox{
\begin{minipage}{0.90\linewidth}
\vspace*{0.30cm} Nome: \raisebox{.2ex}{\rlap{Answer sheet}}{\line(1,0){260}} \ \textnumero:\line(1,0){25}
\end{minipage}
}
\end{document}
egreg (正确地) 指出,使用\makebox
而不是\rlap
更符合 latex 的精神,并且可以避免一些问题。以下是更改的一行和输出:
\vspace*{0.30cm} Nome:
\raisebox{.2ex}{\makebox[0pt][l]{Answer sheet}}{\line(1,0){260}} \ %
\textnumero:\line(1,0){25}
最后,还有一种替代方法,使用下划线,将线条置于文本基线以下:
\vspace*{0.30cm}
Nome: \underline{\makebox[260pt][l]{Answer sheet}} \ %
\textnumero:\underline{\makebox[25pt]{ }}
答案2
\documentclass[12pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[brazil]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{textcomp}
\begin{document}
\noindent
\fbox{\makebox[\dimexpr\linewidth-2\fboxsep-2\fboxrule]{%
\rule{0pt}{3ex} Nome: \hrulefill~\textnumero:\rule{2cm}{0.4pt}}}
\bigskip
\noindent
\fbox{\makebox[\dimexpr\linewidth-2\fboxsep-2\fboxrule]{%
\rule{0pt}{3ex} Nome: Answer Sheet\hrulefill~\textnumero:\rule{2cm}{0.4pt}}}
\bigskip
\noindent
\fbox{\makebox[\dimexpr\linewidth-2\fboxsep-2\fboxrule]{%
\rule{0pt}{3ex} Nome: \rlap{Answer Sheet}\hrulefill~\textnumero:\rule{2cm}{0.4pt}}}
\end{document}