我想对颜色进行全局控制。
这个 MWE 不起作用...问题是什么?
谢谢
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\def\versionNB
%\def\versionColor
% -----------------------------------%
%
\def\colorNB{black}
\def\colorColor{blue}
%
\def\myColor
{%
\ifdefined\versionNB%
\colorNB%
\else%
\colorColor%
\fi}
% -----------------------------------%
\color{\myColor}
test
\end{document}
答案1
我\show
在你的例子中添加了一个
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\def\versionNB
%\def\versionColor
% -----------------------------------%
%
\def\colorNB{black}
\show\versionNB
\def\colorColor{blue}
%
\def\myColor
{%
\ifdefined\versionNB%
\colorNB%
\else%
\colorColor%
\fi}
% -----------------------------------%
\color{\myColor}
test
\end{document}
生产
> \versionNB=macro:
\par \def \colorNB ->black.
l.14 \show\versionNB
?
所以\versionNB
定义为
\versionNB\par \def \colorNB
将扩展为black
,并且的任何其他使用\versionNB
都是错误的。
\colorNB
未定义,\def \colorNB
是参数文本中未评估的标记,\versionNB
因此稍后您会得到
! Undefined control sequence.
\myColor ->\ifdefined \versionNB \colorNB
\else \colorColor \fi
l.27 \color{\myColor}
?
你可能打算
\def\versionNB{}