考虑以下类:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{sampleclass}
\LoadClass[
paper=a5,
chapterprefix=true
]{scrbook}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrbook}}
\ProcessOptions\relax
以及以下文件:
\documentclass[
]{sampleclass}
\begin{document}
\chapter{Test}
\end{document}
我观察到选项chapterprefix=true
对文档有影响,而选项paper=a5
没有影响。
如果我在文档中包含纸质选项,如下所示:
\documentclass[
paper=a5
]{sampleclass}
\begin{document}
\chapter{Test}
\end{document}
然后它就起作用了。发生了什么事?
编辑:聊天中有人建议该问题可能与 KOMA 类有关,所以我只是在这里添加标签来吸引 KOMA 专家。
答案1
paper=a5
是 KOMA-Script 类的一部分包的一个选项typearea
。它由每个 KOMA-Script 类自动加载。因此,您必须将选项传递给包typearea
:
\begin{filecontents}{sampleclass.cls}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{sampleclass}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrbook}}
\ProcessOptions\relax
\PassOptionsToPackage{paper=a5}{typearea}
\LoadClass[
chapterprefix=true
]{scrbook}
\end{filecontents}
\documentclass[
]{sampleclass}
\begin{document}
\chapter{Test}
\end{document}