我正在尝试在我的 chromebook 上安装的 linux texlive 中使用 examdesign 类。我已按照 README 文件中的说明操作 1) 将文件夹复制到 /usr/local/share/texmf/examdesign。2) 运行 latex examdesign.ins 3) 在文件夹中运行 sudo texhash
但是当我尝试编译我的测试文档时,出现错误“这里没有结束的行。”
当我改回文章文档类时,没有遇到任何问题。这是我尝试编译的文档,它实际上是我能想象到的最简单的文档。
%This LATEX document will be the template for tests.
\documentclass{examdesign}
\begin{document}
Test
\end{document}
就是这样。如果文档类是文章,它就会运行,但如果是考试设计,它就不会运行。我错过了什么?
答案1
快速浏览一下文档,这似乎是一个错误..(?) 如果您参考手册第 3.1 节,如果没有传递任何设置,则examtop
使用默认环境,它会自动排版班级名称和学生姓名区域:
% Taken from manual: http://texdoc.net/texmf-dist/doc/latex/examdesign/examdesign.pdf
\begin{examtop}
\@@line{\parbox{3in}{\classdata \\
\examtype, Form: \fbox{\textsf{\Alph{version}}}}
\hfill
\parbox{3in}{\normalsize \namedata}}
\bigskip
\end{examtop}
特别是,我认为这条\@@line{\parbox{3in}{\classdata \\
线路引起了问题。
\classdata
是一个使用 当前值的宏\class
。这里的问题是\class
没有默认值,因此\classdata
如果您不先指定\class
自己,则为空。众所周知,TeX 无法理解空行\\
后的换行符,因此会导致错误。
解决办法?
定义您自己的\class{...}
,它将为 分配一个值/字符串\classdata
,一切就都好了。否则,只需设计您自己的examtop
环境。
以下 MWE 应该可以工作:
\documentclass{examdesign}
\usepackage[showframe]{geometry}% To show page borders etc.
%\Fullpages
\class{TX0001 \TeX.SX basics}% <------------------
\begin{document}
\begin{exampreface}
\noindent Note that if you do not provide a minimal working example (MWE), you will get no marks. \\
\end{exampreface}
\begin{truefalse}[title={True/False (5 pts each)},
resetcounter=yes,suppressprefix]
\begin{question}
\answer{True} \TeX.SX is awesome.
\end{question}
\end{truefalse}
\end{document}