如何在带有下划线的运算符上声明数学操作符?

如何在带有下划线的运算符上声明数学操作符?

我正在尝试编译由计算机代数系统 Fricas 生成的 latex,它生成log_integral。由于 latex 不知道这一点,我尝试通过更改 log_integral\log_integral然后添加来制作数学运算符\DeclareMathOperator

但我不知道该怎么做,因为 Latex 抱怨说它log已经存在,而试图_通过将其更改为\_不起作用来逃脱。

这是 MWE

\documentclass[11pt]{article}
\usepackage{amsmath}
\DeclareMathOperator{\log_integral}{log_integral}
\begin{document}
$\frac{\log\left(t\right) \log_integral\left(t\right) - t}{\log\left(t\right)}$
\end{document}

lualatex只使用。错误是

Use of \log doesn't match its definition. ...tegral\left(t\right) - t}{\log\left(t\right)}

2019 年

答案1

我很乐意删除它,但\DeclareMathOperator{<macro>}{<operator>}会创建一个宏,这是第一个参数。宏名称中不能有下划线(只需键入即可“执行” \<macro name>)。此外,您的版本的第二个参数在下划线前缺少反斜杠。最后,使用快捷方式也是有意义的。因此,一个选择是执行

\documentclass[11pt]{article}
\usepackage{amsmath}
\DeclareMathOperator{\lin}{log\_integral}
\begin{document}
$\frac{\log\left(t\right) \lin\left(t\right) - t}{\log\left(t\right)}$
\end{document}

在此处输入图片描述

常见的注意事项适用。我不能排除某些包已经定义了\lin,在这种情况下您需要想出另一个捷径,并且可能已经有一些标准符号。

相关内容