我在源代码中定义了一个新命令:
\newcommand{\IN}{interface}
打印出来界面,但有时我希望它打印出来界面(大写 I)或接口相反,如果不定义另外 2 个新命令,我该如何做到这一点?
答案1
像这样吗?
代码
\documentclass{article}
\newcommand*{\IN}[1][0]{%
\ifnum#1=0 interface\fi
\ifnum#1=1 Interface\fi
\ifnum#1=2 interfaces\fi
}
\begin{document}
\IN, \IN[1], \IN[2]
\end{document}
输出
但是,正如 Egreg 所说,输入“界面”很容易。:)
答案2
您还可以为大写字母定义一个带星号的命令,然后简单地附加s
复数形式:
\documentclass{article}
\makeatletter
\DeclareRobustCommand*{\IN}{%
\@ifstar{Interface}{interface}}
\makeatother
\begin{document}
Singular: \IN, \IN*
\par Ways to write plurals: \IN s, \IN{s}, \IN{}s, \IN*s
\end{document}
\DeclareRobustCommand
需要使命令不易碎,因此您不需要\protect
在标题等中使用它。