我是一名高中老师,我通常使用 LaTeX 准备课堂测试。我面临以下问题:我可以组织文本,以便 - 比如说 - 一页中可以包含 4 到 8 个(内容不同,但模式和空间占用相同)测试。测试的前半部分在一侧,测试的后半部分在背面,这样双面打印就可以将纸张切成条状,每个条状包含完整的测试文本(条状的一侧有一半,条状的背面有一半)。
目前,我正在手动分割和调整高度,以便两半在纸张正面和背面具有相同的高度,从而适当地分割整个测试。我正在(非常)使用等\vspace
。\\[....]
对我来说,拥有这样的环境会非常有帮助
\begin{duplexprint}
<< Text of the test >>
\end{duplexprint}
这会自动将页面分成<< Text of the test >>
高度相等的两部分(或最小化两个高度的差异),将第一部分放在当前应该出现的位置,将第二部分放在下一页,高度相同。下一页可以包含其上方的文本。实际上,我的想法是使用类似
\begin{duplexprint}
\item << Text of test 1 >>
\item << Text of test 2 >>
...
\item << Text of test n >>
\end{duplexprint}
结果就是这样的 - 参见正面和背面https://testlatex.jimdo.com/
我希望我说得足够清楚。你认为这可行吗?我可以使用一些已经可用的命令(或命令组合)还是应该编写一个新的包?
答案1
这不是您所希望的全自动解决方案,但它可能会有所帮助。
这个想法是将问题布置在高度非常小的页面上,然后使用将它们组装到第二个文件中pdfpages
。
这里你只需要调整第一个文件的 paperheight 和 textheight 以及第二个文件的 textheight。这是使用 完成的geometry
。第一个文件中的 textheight 应该比 pageheight 小一点,以便在文本上方和下方留出一些空白。两个文件中的 Paperwidth 和 textwidth 相同。
切割线是使用pdfpages
选项实现的frame
。
第一个文件包含问题:
\documentclass[10pt]{article}
\usepackage{geometry}
\usepackage{multicol}
\geometry{paperheight=4cm,paperwidth=21cm,textheight=3.2cm,textwidth=15cm,centering}
\pagestyle{empty}
\parindent0pt
\begin{document}
\textbf{Math Question 1}
\begin{multicols}{2}
\begin{enumerate}
\item Subquestion 1 \[1 + 1 =\]
\item Subquestion 2 \[1 + 2 =\]
\item Subquestion 3 \[1 + 3 =\]
\item Subquestion 4 \[1 + 4 =\]
\item Subquestion 5 \[1 + 5 =\]
\item Subquestion 6 \[1 + 6 =\]
\item Subquestion 7 \[1 + 7 =\]
\item Subquestion 8 \[1 + 8 =\]
\end{enumerate}
\end{multicols}
\textbf{Math Question 2}
\begin{multicols}{2}
\begin{enumerate}
\item Subquestion 1 \[2 + 1 =\]
\item Subquestion 2 \[2 + 2 =\]
\item Subquestion 3 \[2 + 3 =\]
\item Subquestion 4 \[2 + 4 =\]
\item Subquestion 5 \[2 + 5 =\]
\item Subquestion 6 \[2 + 6 =\]
\item Subquestion 7 \[2 + 7 =\]
\item Subquestion 8 \[2 + 8 =\]
\end{enumerate}
\end{multicols}
\textbf{Math Question 3}
\begin{multicols}{2}
\begin{enumerate}
\item Subquestion 1 \[3 + 1 =\]
\item Subquestion 2 \[3 + 2 =\]
\item Subquestion 3 \[3 + 3 =\]
\item Subquestion 4 \[3 + 4 =\]
\item Subquestion 5 \[3 + 5 =\]
\item Subquestion 6 \[3 + 6 =\]
\item Subquestion 7 \[3 + 7 =\]
\item Subquestion 8 \[3 + 8 =\]
\end{enumerate}
\end{multicols}
\textbf{Math Question 4}
\begin{multicols}{2}
\begin{enumerate}
\item Subquestion 1 \[4 + 1 =\]
\item Subquestion 2 \[4 + 2 =\]
\item Subquestion 3 \[4 + 3 =\]
\item Subquestion 4 \[4 + 4 =\]
\item Subquestion 5 \[4 + 5 =\]
\item Subquestion 6 \[4 + 6 =\]
\item Subquestion 7 \[4 + 7 =\]
\item Subquestion 8 \[4 + 8 =\]
\end{enumerate}
\end{multicols}
\textbf{Math Question 5}
\begin{multicols}{2}
\begin{enumerate}
\item Subquestion 1 \[5 + 1 =\]
\item Subquestion 2 \[5 + 2 =\]
\item Subquestion 3 \[5 + 3 =\]
\item Subquestion 4 \[5 + 4 =\]
\item Subquestion 5 \[5 + 5 =\]
\item Subquestion 6 \[5 + 6 =\]
\item Subquestion 7 \[5 + 7 =\]
\item Subquestion 8 \[5 + 8 =\]
\end{enumerate}
\end{multicols}
\textbf{Math Question 6}
\begin{multicols}{2}
\begin{enumerate}
\item Subquestion 1 \[6 + 1 =\]
\item Subquestion 2 \[6 + 2 =\]
\item Subquestion 3 \[6 + 3 =\]
\item Subquestion 4 \[6 + 4 =\]
\item Subquestion 5 \[6 + 5 =\]
\item Subquestion 6 \[6 + 6 =\]
\item Subquestion 7 \[6 + 7 =\]
\item Subquestion 8 \[6 + 8 =\]
\end{enumerate}
\end{multicols}
\end{document}
生成的页面如下:
第二个文件将这些页面组合起来。这里nup=1x6
将这些页面排列成一列六行。6 必须与每张纸的问题数量相适应。每页\includepdf
需要一行。
\documentclass[10pt]{article}
\usepackage{geometry}
\usepackage{pdfpages}
\geometry{paper=a4paper,textheight=24cm,textwidth=15cm,centering}
\begin{document}
\includepdf[pages={1,3,5,7,9,11},nup=1x6,frame]{first-file}
\includepdf[pages={2,4,6,8,10,12},nup=1x6,frame]{first-file}
\end{document}
生成的结果如下: