\DeclareMathOperator 不适用于某些以数字结尾的数学名称

\DeclareMathOperator 不适用于某些以数字结尾的数学名称

我正在尝试使用\DeclareMathOperator特殊函数为 Maple 生成的乳胶命名洛默尔S1

由于某些我无法弄清楚的原因,它无法工作。

\documentclass[11pt]{article}
\usepackage{amsmath,mathtools,amssymb}
\DeclareMathOperator{\LommelS1}{LommelS1}
\DeclareMathOperator{\LommelS2}{LommelS2}

\begin{document}
\[
\LommelS1 x
\]
\end{document}

错误是

>lualatex foo.tex
This is LuaTeX, Version 1.07.0 (TeX Live 2018)
 restricted system commands enabled.
(/usr/local/texlive/2018/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)))
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsfonts/umsa.fd)
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsfonts/umsb.fd)
! Use of \LommelS doesn't match its definition.
l.14 \LommelS1
             x
?

注意,它正在寻找,\LommelS但操作员是\LommelS1

似乎运算符末尾的数字让人困惑。此外,当我删除第二个时,\DeclareMathOperator它就可以正常工作了:

\documentclass[11pt]{article}
\usepackage{amsmath,mathtools,amssymb}
\DeclareMathOperator{\LommelS1}{LommelS1}
%\DeclareMathOperator{\LommelS2}{LommelS2}  %when commented, it works
\begin{document}
\[
\LommelS1 x
\]
\end{document}

但是我需要使用\LommelS1\LommelS2所以最后的数字很重要,因为枫树乳胶将包含这两个名称。

有没有什么办法可以解决这个问题?

2018 年

答案1

如果没有\LommelS后面没有数字的 ,并且 Maple 总是生成\LommelS1\LommelS2,那么就很简单了:

\newcommand{\LommelS}[1]{\operatorname{LommelS#1}}

您应该知道,只有名称中带有字母的命令名称才可接受字母(只有单个非字母可以形成命令名称)。

相关内容