将 \CurrentOption 与字符串进行比较

将 \CurrentOption 与字符串进行比较

我遇到一个问题,我想将其\CurrentOption与字符串进行比较。

.tex文件中我有下面的代码。

\usepackage[en-ver]{cufestatletter}

然后我想用它\ifx来判断我是否使用en-ver选项。这是我现在使用的代码。

\ifx \CurrentOption \en-ver
\chead{\cufestatlogo}
\else
\lhead{\cufestatlogo}
\fi

我已经使用以下选项声明了en-ver

\DeclareOption{en-ver}{\def\cufestatlogo
{\hspace*{-0.6in} \includegraphics[scale=0.07]{Header_En_ver.jpg}}} 

但是,这段\ifx代码根本不起作用。

答案1

有多种方法可以测试该选项en-ver

  • \cufestatlogo测试由选项定义的效果:

    \let\cufestatlogo\relax % initialization
    \DeclareOption{en-ver}{\def\cufestatlogo{...}}
    ...
    \ifx\cufestatlogo\relax
      % option en-ver not used
    \else
      % option en-ver used
    \fi
    
  • 添加开关:

    \newif\ifcufestatlogo
    \DeclareOption{en-ver}{%
      \def\cufestatlogo{...}%
      \cufestatlogotrue
    }%
    ...
    \ifcufestatlogo
      % option en-ver used
    \else
      % option en-ver not used
    \fi
    
  • LaTeX 的\@ifpackagewith{<package name>}{<option list>}{<then>}{<else>}

    \@ifpackagewith{cufestatletter}{en-ver}{%
      % option en-ver used
    }{%
      % option en-ver not used
    }
    

相关内容