![为什么“几何”包传递了一个不需要的参数?](https://linux22.com/image/317666/%E4%B8%BA%E4%BB%80%E4%B9%88%E2%80%9C%E5%87%A0%E4%BD%95%E2%80%9D%E5%8C%85%E4%BC%A0%E9%80%92%E4%BA%86%E4%B8%80%E4%B8%AA%E4%B8%8D%E9%9C%80%E8%A6%81%E7%9A%84%E5%8F%82%E6%95%B0%EF%BC%9F.png)
我正在开发一个类,但搞不清楚为什么 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