代码

代码

我在源代码中定义了一个新命令:

\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在标题等中使用它。

相关内容