我目前正在运行 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