基于 KOMA-Script 类创建文档类:纸张大小问题

基于 KOMA-Script 类创建文档类:纸张大小问题

我想创建一个基于 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:选项的输出驱动程序”pagesizepagesize=output driverKOMA-Script 的文档

类文件示例:

\ProvidesClass{wikibook}[2013/06/30]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrbook}}
\ProcessOptions\relax
\PassOptionsToPackage{paper=b5,pagesize=auto}{typearea}
\LoadClass{scrbook}

相关内容