![使用 \ifdefined 在 \DeclareOption 内进行定义](https://linux22.com/image/459512/%E4%BD%BF%E7%94%A8%20%5Cifdefined%20%E5%9C%A8%20%5CDeclareOption%20%E5%86%85%E8%BF%9B%E8%A1%8C%E5%AE%9A%E4%B9%89.png)
我正在检查内部声明的命令\DeclareOption
,但\ifdefined
似乎没有按预期工作。这是一个 MWE:
% example23.sty
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{example23}[2023/01/01 Example package]
\RequirePackage{xcolor}
\definecolor{redcolor}{HTML}{ff0000}
\definecolor{bluecolor}{HTML}{0000ff}
\DeclareOption{red}{\gdef\red{1}}
\ifdefined\red
\newcommand{\mycolor}{redcolor}
\else
\newcommand{\mycolor}{bluecolor}
\fi
\ProcessOptions\relax
% main.tex
\documentclass{article}
\usepackage[red]{example23}
\begin{document}
Test text \textcolor{\mycolor}{test}.
\end{document}
输出:
当我使用 导入包时\usepackage[red]{example23}
,我希望\red
命令被定义并\mycolor
设置为红色。我做错了什么?
请注意,这是一个 MWE,我实际上并没有使用它来改变颜色。