我开始阅读有关 KOMA Script 类的文档,因为它们似乎有许多比标准类更灵活的工具,但我不明白应该把所有选项放在哪里。 \documentclass 内是最佳位置吗?
举例来说:
\documentclass[headsepline=true,paper=letter,headings=small,DIV=10]{scrbook}
\usepackage{typearea}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{bera}
\usepackage[berasans]{quotchap}
\usepackage[nouppercase]{scrpage2}
\pagestyle{scrheadings}
\usepackage{blindtext}
\begin{document}
\Blinddocument
\end{document}
编译成功,但标题行没有出现,标题大小也没有改变。如果类选项不是最佳位置,我该在哪里或如何添加这些可选值?
另一方面,关于字体,KOMA Script 使用无衬线字体来表示标题和其他内容,并使用衬线字体来表示文本。阅读此内容后:如何设置文档使用 Bera 字体而不是默认字体? 我知道如果我想使用 LaTeX 字体(不使用 XeTeX),我需要加载每种字体的页面,然后 KOMA 才会使用它们。我说得对吗?[在示例中,我使用 bera 字体,因为软件包包含这两种字体。]
答案1
几乎可以在文档的每个位置设置 KOMAoptions,但必须确保它们被正确传递和处理。使用(即将过时的)包 scrpage2,您必须直接将选项 headsepline 提供给包。使用新的 scrlayer-scrpage 允许您将 headsepline 设置为 documentclass 选项。
正如埃塞克斯让我意识到,这是不正确的。包scrpage2
根本不知道键值对headsepline=true
。可以通过设置来设置将被拾取的全局选项
headsepline
(即使没有加载特殊包)\pagestyle{headings}
。设置
\pagestyle{scrheadings}
(由提供scrpage2
)也可以解决问题。
有了后继,和scrlayer-scrpage
之间的区别 就消失了。headings
scrheadings
\documentclass[headsepline=true,paper=letter,headings=small,DIV=10]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{bera}
%\usepackage[berasans]{quotchap}
\usepackage[markcase=ignoreuppercase]{scrlayer-scrpage}
\usepackage{blindtext}
\begin{document}
\blinddocument
\clearpage
\KOMAoption{headsepline}{false}
\blinddocument
\end{document}
现在谈谈你提到的字体。KOMA 使用很多内部辅助宏。这是向用户提供选项的唯一方法,例如headings=small
。内部接口,我们称之为高级。像quotchap
或这样的软件包titlesec
使用基本的 LaTeX 接口。
相比之下,KOMA 提供了一个简单的用户界面处理复杂的内部接口。找一个 KOMA 机械师告诉他该怎么做,他打开他那花哨的工具箱开始工作。现在你叫来(标准)人来做标题,他不是那么先进,但已经在这里待了一段时间。他有一把螺丝刀和一把锤子,就是这样。如果什么东西不合适,用锤子狠狠地敲一下就能解决问题。
总而言之,像这样的包quotchap
会破坏 KOMA-script 精心构建的内部结构。
我刚刚看了一下包的文档和代码quotchap
。它声称与 KOMA-script 合作。它采用了原始 KOMA 章节的定义并重新定义了它。quotchap
从 1998 年开始,15 年过去了,很多水顺流而下,KOMA 得到了沉重扩展(向框中添加专门的工具)。quotchap
从未学过这些增强功能。