documentclass 选项内的条件编译?

documentclass 选项内的条件编译?

这可以正常工作并生成信纸大小的 PDF。

\documentclass{article}
\usepackage[\ifdefined\afive a5paper \fi]{geometry}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
\end{document}

但这个效果不太好。

\documentclass[\ifdefined\afive a5paper \fi]{article}
\begin{document}
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
\end{document}

它会导致这样的错误。

(./foo.tex
LaTeX2e <2018-12-01>
! Extra \else.
\@fileswith@pti@ns ... #3[{#2}][{#4}]#1}\fi \else 
                                                  \def \reserved@b ##1,{\ifx...
l.2 \begin
          {document}
?

这里出了什么问题?我该怎么做才能修复选项中的这个条件编译?

我见过将条件选项传递给 documentclass。它没有解决我的问题,因为它没有解释为什么会出现错误。它通过避免 documentclass 选项中的条件编译提供了一种解决方法,但它没有说明是否以及如何在 documentclass 选项中进行条件编译。

相关内容