\ExecuteOptions 错误 \CurrentOption \@nil

\ExecuteOptions 错误 \CurrentOption \@nil

我尝试遵循这个方案:

如果没有 DeclareOption

但有这种类型的错误:

当我将 `\ExecuteOptions` 与 `\usepackage{geometry}` 一起使用时出现错误

但我不知道如何解决它。

这是我的 MWE:

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[marginparsep=3pt, top=2cm, bottom=1.5cm, left=1.5cm, right=1.5cm]{geometry}

\newif\ifMyFancy

\DeclareOption{fancy}{\MyFancytrue}
\DeclareOption{nofancy}{\MyFancyfalse}

\ExecuteOptions{fancy}

\ProcessOptions\relax

\ifMyFancy
    \usepackage{fancyhdr}
    \pagestyle{fancy}
\fi

\documentclass[12pt,a4paper]{article}
\usepackage{bob}

\fancyhead[L]{\textbf{6}}
\fancyhead[R]{27 mai 2015}
\fancyhead[C]{\textbf{Devoir commun}}
\fancyfoot[C]{}

\begin{document}
essai
\end{document}

答案1

问题似乎非常类似SF298 包给出未定义的控制序列错误和 似乎是由于同样的问题:geometry和都totpages做了一些技巧,\ExecuteOptions最终\CurrentOption定义为\@nil

当您加载任何其他包后,geometry这个问题就会消失,但这显然是一个错误。

最小示例:

\documentclass[a4paper]{article}
\usepackage[margin=2cm]{geometry}
\show\CurrentOption

终端上显示,

> \CurrentOption=macro:
->\@nil .

解决方法:\def\CurrentOption{}在加载后添加geometry或将调用移至geometry调用之前fontenc

相关内容