我使用新命令定义了一个术语,如下所示:
\newcommand{\ourmethod}{G-MM\xspace}
现在我想为刚刚定义的术语添加后缀,例如我想使用“\ourmethod”表示 G-MM(请注意,术语后面加了一个“s”)。如何在 LATEX 中执行此操作?
答案1
我认为你应该遵循 David 的建议。但是,如果你仍然想使用xspace
(或者即使你决定不使用),我建议你使用类似下面的代码定义单数和复数:
\DefineTerms{ourmethod}{G-MM}
这将创建两个宏:\ourmethod
和\ourmethods
:
另外,您可以定义命令,其中在方括号中提供后缀作为可选参数:
\newcommand{\ourmethod}[1][]{G-MM#1\xspace}
代码:使用etoolbox
\documentclass{article}
\usepackage{etoolbox}
\usepackage{xspace}
\newcommand{\DefineTerms}[2]{%
\csdef{#1}{#2\xspace}%
\csdef{#1s}{#2s\xspace}%
}
\DefineTerms{ourmethod}{G-MM}
\begin{document}
\verb|\ourmethod|: \ourmethod
\verb|\ourmethods|: \ourmethods
\end{document}
代碼: 沒有etoolbox
:
\documentclass{article}
\usepackage{xspace}
\newcommand{\DefineTerms}[2]{%
\expandafter\newcommand\csname#1\endcsname{#2\xspace}%
\expandafter\newcommand\csname#1s\endcsname{#2s\xspace}%
}
%\newcommand{\ourmethod}{G-MM\xspace}
\DefineTerms{ourmethod}{G-MM}
\begin{document}
\verb|\ourmethod|: \ourmethod
\verb|\ourmethods|: \ourmethods
\end{document}
代码:可选参数
\documentclass{article}
\usepackage{xspace}
\newcommand{\ourmethod}[1][]{G-MM#1\xspace}
\begin{document}
\verb|\ourmethod|: \ourmethod
\verb|\ourmethod[s]|: \ourmethod[s]
\end{document}