我试图为评估创建一本小册子。我被要求使用一个列表(正常的枚举环境)来列出问题,但要写下来,每个问题行到页面末尾,然后再写一整页。问题后的行不应缩进。显然,每个问题的高度可能不同,因此问题后的行数可能会发生变化。我尝试过一种非常幼稚的方法,但我很好奇这是否可以自动化。
\documentclass[11pt,fleqn,oneside]{article}
\usepackage[a4paper]{geometry}
\geometry{height=245mm,width=160mm}
\parindent=0pt
\usepackage{tikz}
\usepackage{lipsum}
\begin{document}
\begin{enumerate}
\item \lipsum[1]
\vspace{1cm}\hrule
\foreach \n in {1,2,...,30}
{\vspace{0.7cm}\hrule}
\item \lipsum[2]
\vspace{1cm}\hrule
\foreach \n in {1,2,...,20}
{\vspace{0.7cm}\hrule}
\end{enumerate}
\end{document}
我的解决方案的问题是,每次我修改问题中的一小部分,我都需要重新计算每页的行数,浪费了很多时间。我希望有一个更好的解决方案,可以自动将行数放到最后。
谢谢你!
答案1
使用领导者:
\documentclass{article}
\usepackage{lipsum}
\newcommand{\makelines}{%
\par
\xleaders\vbox{\vskip2\baselineskip\hrule width\textwidth}\vfill
\newpage
\hrule width 0pt
\xleaders\vbox{\vskip2\baselineskip\hrule width\textwidth}\vfill
\newpage
}
\begin{document}
\begin{enumerate}
\item \lipsum[1]\makelines
\item \lipsum[2]\makelines
\end{enumerate}
\end{document}
注意:图片显示了不同粗细的线条,但这只是光栅化的效果。