我确信这一定是重复的,但我找不到它。
我正在准备一份工作表,供学生在开始做作业时使用。以下是代码的(自然改良版):
\documentclass{article}
\usepackage{kantlipsum}
\begin{document}
\begin{flushleft}
Toffee or caramel? \dotfill\medskip
Fudge fantasy fiction: \dotfill\medskip
Curious confectionery connections: \dotfill\medskip\par\mbox{}\dotfill\bigskip
\end{flushleft}
\kant[1]\bigskip
\begin{flushleft}
What do you like best about your preferred confection?\vfill
What are the health implications?\vfill
Does your preferred confection taste really good or just good?
If the latter, how might it be improved?\vfill
\end{flushleft}
\end{document}
得出的结果为:
我想\vfill
用虚线、水平线替换命令创建的空格。是否可以整齐、美观地自动完成此操作?
我知道考试和测试包在某些情况下会提供类似这样的功能,但exam
在这种情况下我无法使用专门的类,因为这只是材料包中的一页。
通过这种方式填满整个页面也没有太大问题,例如可以创建各种类型的横格纸或方格纸。
这个答案解决了类似的问题,但我不确定如何修改它,并且我不想对文本宽度进行硬编码。
如果有必要,我可以使用 TikZ 来做到这一点,但我希望可能有更简单的方法。
答案1
exam
这是从课堂上窃取的并稍加修改的代码。
\documentclass{article}
\usepackage{kantlipsum}
\makeatletter
\newlength\dottedlinefillheight
\setlength\dottedlinefillheight{.25in}
\def\fillwithdottedlines{%
\begingroup
\ifhmode
\par
\fi
\hrule height \z@
\nobreak
\setbox0=\hbox to \hsize{\hskip \@totalleftmargin
\vrule height \dottedlinefillheight depth \z@ width \z@
\dotfill}%
\cleaders \copy0 \vfill \hbox{}%
\endgroup
}
\makeatother
\begin{document}
\begin{flushleft}
Toffee or caramel? \dotfill\medskip
Fudge fantasy fiction: \dotfill\medskip
Curious confectionery connections: \dotfill\medskip\par\mbox{}\dotfill\bigskip
\end{flushleft}
\kant[1]\bigskip
\begin{flushleft}
What do you like best about your preferred confection?\fillwithdottedlines
What are the health implications?\fillwithdottedlines
Does your preferred confection taste really good or just good?
If the latter, how might it be improved?\fillwithdottedlines
\end{flushleft}
\end{document}