newcommand 中的参数

newcommand 中的参数

我目前正在运行 Julia 1.0 内核的 Jupyter 笔记本中使用 MathJax 并尝试使用\newcommand,但似乎我读过的文档和帖子\newcommand与我所看到的内容相冲突。

当我使用: 时\newcommand{\Dot}[2][X]{\mathbf{#2}\cdot\mathbf{#1}},我的期望是当我使用时\Dot{a}{b}我会看到 的输出\mathbf{a}\cdot\mathbf{b},但是我看到 的输出\mathbf{a}\cdot\mathbf{X}b。为了看到我预期的输出,我必须使用: 。我认为第一个参数可能是某种函数名称占位符或C 中\newcommand{\Dot}[3][X]{\mathbf{#3}\cdot\mathbf{#2}}的第一个元素,所以我尝试了,但是宏的使用没有呈现。argv\newcommand{\Dot}[2][X]{\mathbf{#3}\cdot\mathbf{#2}}

我在这里遗漏了什么?

答案1

\newcommand{\Dot}[2][X]{\mathbf{#2}\cdot\mathbf{#1}}

定义一个命令选修的参数和可选参数始终标记为[],并放置为第一的参数(如果使用),因此使用将是

\Dot{a}生产·X

\Dot[Y]{a}生产·Y

与您尝试的调用相匹配的声明将具有两个强制参数,因此

\newcommand{\Dot}[2]{\mathbf{#2}\cdot\mathbf{#1}}

使用

\Dot{X}{a}生产·X

\Dot{Y}{a}生产·Y

相关内容