合并 2 个 \includegraphics 命令及其间的文本的新命令

合并 2 个 \includegraphics 命令及其间的文本的新命令

我正在尝试合并两个自定义\includegraphic命令。第一个命令插入 a -->,第二个命令插入 a <--。它基本上看起来像这样:

-->这是一个示例<--

如何创建一个新命令,使我能够包含两个箭头并仍然输入任意文本?

目前,我的代码如下所示:\fa "Some Text \ba

\fa包括使用命令的前箭头\includegraphics\ba后箭头。我的目标是将两个命令合二为一,同时仍能够在两者之间添加一些文本。

答案1

如果我正确理解了您的要求,那么执行的方法是定义一个接受一个参数的宏,该参数将是“自定义文本”。

您可以使用 TeX 的\def原语来定义新命令,或者使用 LaTeX 的\newcommand。通常,后者是预先触发的,因为它会检查您定义的宏是否已经存在,然后拒绝再次定义它并发出错误。对于您的问题,答案是:

\newcommand{\faba}[1]{\fa#1\ba}

新命令名为\faba,它需要一个 (1) 个参数(因此为[1])。然后是定义。在定义中,您可以使用其他先前定义的宏(例如 和 ,\fa它们是用于生成箭头的命令),以及表示参数实际值的\ba特殊符号(自定义文本)。#1

定义完此之后,你就可以写入\faba{This is an example}你的文本了,该命令\faba将会被扩展为#1等于This is an example

我猜你的“自定义文本”将由几个单词组成,而不是包含几个段落。在这种情况下,你可以使用\newcommand*(注意最后的星号)来定义它,如下所示:

\newcommand*{\faba}[1]{\fa#1\ba}

用法完全相同,不同之处\par在于 中不允许有 (或空行) #1。这有助于您尽早发现何时忘记在宏参数后关闭右括号。

如果你更喜欢 TeX 的\def原始形式(不鼓励),语法如下:

\def\faba#1{\fa#1\ba}

它相当于带星号的版本\newcommand,但不检查是否\faba已定义,而是覆盖其先前的值。宏的使用方式相同。

相关内容