在 \section 参数中使用 \(...\) 环境时出错

在 \section 参数中使用 \(...\) 环境时出错

在我看来,这可能是一个常见问题,其解决方案可能已在某处发布,不幸的是,我不太确定应该使用什么关键词来找到它。

无论如何,对于这个问题:像这样的事情

\subsubsection{Spin-orbit coupling \( ciao \) }

通常不会造成问题。但是当我尝试使用

\tableofcontents

命令我收到以下错误:

\contentsline {subsubsection}{\numberline {5.1.2}Spin-orbit coupling \relax $ ciao \relax \GenericError { }{LaTeX Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type I <command> <return> to replace it with another command,\MessageBreak or <return> to continue without it.}}{8}{subsubsection.5.1.2}

目录本身似乎不是问题,因为当我不使用上面显示的命令时,一切都正常。奇怪的是,我实际上可以通过使用而不是\( stuff \)替代方法来解决问题$stuff$。现在,这应该以这种方式工作吗?还是某种错误?或者(更可能是)我做错了什么?

答案1

LaTeX 的命令\(\)默认为脆弱命令,这意味着它们可能会导致移动参数时出错,例如与结合的分段命令\tableofcontents。包fixltx2e修复了这个问题,因为威尔·罗伯逊提及他的回答对于数学模式来说,\(和比美元符号更可取吗?\)

或者你可以加载mathtools(谢谢@daleif), 加载etoolbox并亲自强化它们

\usepackage{etoolbox}
\robustify\(
\robustify\)

或者手动保护它们:

\subsubsection{Spin-orbit coupling \protect\( ciao \protect\) }

也可以看看脆弱命令和坚固命令之间有什么区别?

相关内容