我在用 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}
我希望能够更改字体大小和/或一列或两列的选项,甚至更多选项。但正如您所看到的,或者至少对我来说是这样的,当我尝试使用 和 时,什么都没有发生12pt
。twocolums
结果是10pt
和onecolumn
文档,这是文章类的默认选项。如果我尝试\LoadClass[12pt]{article}
,结果确实是12pt
,但我再次无法更改它。
有人知道该怎么做吗?
答案1
您的问题是,您加载了为其自身配置一些选项的类。之后,您告诉它您希望它处理一些额外的选项。您的要点只是交换顺序:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{baz}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions \relax
\LoadClass{article}
\RequirePackage[T1]{fontenc} \RequirePackage[utf8]{inputenc}