新课程以书本课程为基础,并提供选项

新课程以书本课程为基础,并提供选项

我创建了一个自己的类,将其用作book基类。

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{manuscript}[2013/03/23 Creative writing manuscripts class]
\LoadClass[a4paper,12pt,oneside]{book}

问题是我希望能够选择纸张大小和book类中的其他选项。唯一的方法是用book相同的值重新定义类中已有的所有选项,并在加载基类时传递它?

另外,假设我想给我的课程添加一个语言选项,例如,如果我选择葡萄牙语,我想babel用葡萄牙语加载。

我如何使用book类中已定义的选项来更改该类的值,并使用我的新葡萄牙语选项来加载babel该语言。

答案1

您可以使用

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}

当使用 调用时将所有未使用的选项传递给您的基础课程书籍\LoadClass{book}

为了给你更好的建议,你应该添加 MWE 来了解你在课堂上所做的事情。

答案2

要传递选项,请使用

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
\ProcessOptions \relax
\LoadClass[12pt,a4paper,oneside]{book}

将新选项传递给另一个包(在本例中为 babel)

\DeclareOption{english}{\AtEndOfClass{\main@language{english}}}
\DeclareOption{portuguese}{\AtEndOfClass{\main@language{portuges}}}
\RequirePackage[portuges, english]{babel}

相关内容