在乳胶中,通常使用CamelCase。
在我的风格文件中,我有
\newif\ifMath
\Mathfalse
这些布尔标志是否可以允许 CamelCase,因此用法是
\newif\ifMath
\MathFalse
答案1
您可以定义自己的\NewIf
宏:
\def\sdef#1{\expandafter\def\csname#1\endcsname}
\def\NewIf #1{\expandafter\NewIfA \string#1\relax #1}
\expandafter\def \expandafter\NewIfA \string \If#1\relax #2{%
\sdef{#1True}{\let#2=\iftrue}%
\sdef{#1False}{\let#2=\iffalse}%
\let#2=\iffalse
}
%test:
\NewIf\IfMath
\IfMath Yes\else No\fi
\MathTrue
\IfMath Yes\else No\fi
\MathFalse
\IfMath Yes\else No\fi
此宏也允许您使用 CamelCased \IfSomething
。上面的代码灵感来自\newif
OpTeX 中定义的宏。
答案2
为了回答这个问题,community
希望机器人不会每隔几个月就发生一次碰撞,如果你想将一个宏或值分配为与另一个值或宏相同,请使用\let
,如下所示诺曼·格雷的回答解释道。
只需将\let\MathFalse\Mathfalse
的值分配给 即可。如果您将其放在样式文件的开头,那么您应该能够在文件的其余部分使用CamelCase来代替。\Mathfalse
\MathFalse
.sty
\MathFalse
\Mathfalse
答案3
你可以这样做,但是这破坏了语言惯例,所以这不是一个好主意:
不要使用\newif
,只需执行
\def\MathTrue{\let\ifMath\iftrue}
\def\MathFalse{\let\ifMath\iffalse}
\MathFalse