在 \newcommand 中使用参数作为命令

在 \newcommand 中使用参数作为命令

因此,我使用 fontawesome 包在小标题旁边显示图标。本质上,以下代码

{\large \faBook\ } \textbf {Method}\\

创建以下内容:

书本图标后面写着“方法”

现在,我需要在文档中的多个位置执行此操作,但使用不同的图标。因此,我尝试了以下操作:

\newcommand{\iconHeading}[2]{{\large \fa#1\ } \textbf{#2}\\}

\iconHeading{Book}{Method}

不幸的是,这将返回:

Use of \fa doesn't match its definition.

所以,我很好奇想知道这是否有可能实现?

仅供参考,fontawesome 的工作方式如下:

\faNameOfIcon\

答案1

fontawesome包定义了\faBook要执行的操作\faicon{book}。因此,您只需执行以下操作即可解决问题

\newcommand{\iconHeading}[2]{%
  {\large\faicon{#1}}\quad\textbf{#2}%
}

呼叫

\iconHeading{book}{Method}

翻译规则很简单:

Book -> book
SearchPlus -> search-plus
ArrowCircleODown -> arrow-circle-o-down

你也可以这样做

\newcommand{\iconHeading}[2]{%
  {\large\csname fa#1\endcsname}\quad\textbf{#2}%
}

在这种情况下,您可以这样称呼它\iconHeading{Book}{Method}

随意选择。

相关内容