我想创建一个基于 KOMA-Script 类的文档类。首先,我想更改纸张大小,这将在 cls 文件中定义。我看到有人在这里,但没有明确的解决方案。你们当中有人有基于 scrbook 的自己的文档类的示例吗?
wikibook.cls:
\ProvidesClass{wikibook}[2013/06/30]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrbook}}
\ProcessOptions\relax
\LoadClass[paper=b4]{scrbook}
或者替代方案:
\ProvidesClass{wikibook}[2013/06/30]
\PassOptionsToPackage{b4paper}{typearea}
\LoadClass{scrbook}
测试.tex:
\documentclass[12pt]{wikibook}
\usepackage{bookman}
\usepackage{lipsum}
\begin{document}
\chapter{First example}
\section{Section one}
\lipsum[2-8]
\chapter{Second example}
\section{Section two}
\end{document}
生成的pdf大小始终为a4。
答案1
软件包typearea
确实支持 ISO 纸张大小,包括 B 系列。但软件包不会自动将纸张大小告知输出驱动程序。然后会根据指定的纸张大小计算布局,但 PDF 文件的介质大小将采用输出驱动程序的默认大小。软件包提供了将纸张大小告知输出驱动程序的typearea
选项,请参阅“表 2.6:选项的输出驱动程序”pagesize
pagesize=output driver
KOMA-Script 的文档。
类文件示例:
\ProvidesClass{wikibook}[2013/06/30]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrbook}}
\ProcessOptions\relax
\PassOptionsToPackage{paper=b5,pagesize=auto}{typearea}
\LoadClass{scrbook}