使用 .cls 类对 documentclass{} 进行选项

使用 .cls 类对 documentclass{} 进行选项

我在用 latex 编写自己的课程时遇到了问题。我希望能够在\documentclass{my_own_class}我的.tex文档中传递选项,我以为在网上查看示例会很容易,但我搞不懂它是如何工作的。

这是一个非常简单的例子。我的.cls,称为baz.cls,如下所示:

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{baz}

\LoadClass{article}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions \relax

\RequirePackage[T1]{fontenc} \RequirePackage[utf8]{inputenc}

那么.tex文件内容如下:

\documentclass[12pt,twocolumn]{baz}

\usepackage{lipsum}
\begin{document}
\lipsum
\end{document}

我希望能够更改字体大小和/或一列或两列的选项,甚至更多选项。但正如您所看到的,或者至少对我来说是这样的,当我尝试使用 和 时,什么都没有发生12pttwocolums结果是10ptonecolumn文档,这是文章类的默认选项。如果我尝试\LoadClass[12pt]{article},结果确实是12pt,但我再次无法更改它。

有人知道该怎么做吗?

答案1

您的问题是,您加载了为其自身配置一些选项的类。之后,您告诉它您希望它处理一些额外的选项。您的要点只是交换顺序:

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{baz}

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions \relax
\LoadClass{article}

\RequirePackage[T1]{fontenc} \RequirePackage[utf8]{inputenc}

相关内容