我正在开发一个类,但搞不清楚为什么 geometry 会传递给我的参数“twocolumn”,尽管我没有使用 \RequirePackageWithOptions,而只使用了 \RequirePackage。有人能向我解释如何避免这种奇怪的行为吗?
类文件
\ProvidesClass{toto}
\DeclareOption{twocolumn}{}
\ProcessOptions\relax
\LoadClass[a4paper]{article}
\RequirePackage{geometry}
\endinput
主 .tex 文件
\documentclass[twocolumn]{toto}
\usepackage{lipsum}
\begin{document}
\lipsum
\end{document}
答案1
全局选项传递给每个加载的包并且geometry
有其自己的twocolumn
选项。
如果你想取消它,那就做
\ProvidesClass{toto}
\DeclareOption{twocolumn}{}
\ProcessOptions\relax
\LoadClass[a4paper]{article}
\RequirePackage[twocolumn=false]{geometry}
\endinput