为什么如果我们在“mathtools”之后加载“nccmath”,“\shortintertext”命令不起作用?

为什么如果我们在“mathtools”之后加载“nccmath”,“\shortintertext”命令不起作用?

nccmath如果在 之后加载mathtools并使用\shortintertext,您将收到错误消息“Package amsmath 错误:无效使用”。如果在 之前\shortintertext加载,错误消息将消失。nccmathmathtools

这两个软件包的功能是否有重叠?在修改标准 LaTeX 的内部命令时,它们是否有重叠?

\documentclass[]{book}


\usepackage[T1]{fontenc}

\usepackage{mathtools}
\usepackage{nccmath}

\begin{document}

\begin{align}
    (A + B \thinspace C) \thinspace x + C \thinspace y &= 0,
    \\
    \shortintertext{Short Intertext}
    E \thinspace x + (F + G) \thinspace y &= 23.
\end{align}

\end{document}

答案1

\intertext和命令\shortintertext仅在某些情况下有效;nccmath修改了 的含义(这是 定义并由 使用的\intertext@内部命令),最终与 所做的重新定义相冲突。amsmathmathtoolsmathtools

解决方案:nccmath在 之前加载。这将删除done bymathtools的重新定义,但这不是必需的,因为您可以使用类似的功能。\intertextnccmath\shortintertext

\documentclass[]{book}

\usepackage[T1]{fontenc}

\usepackage{nccmath}
\usepackage{mathtools}

\begin{document}

\begin{align}
    (A + B C) x + C y &= 0,
    \\
    \shortintertext{Short Intertext}
    E x + (F + G) y &= 23.
\end{align}

\end{document}

我删除了所有\thinspace不需要的和错误的命令:对于数学模式中的窄空间,您应该使用\,。但实际上,在那些地方不需要它。

在此处输入图片描述

答案2

我猜想在这方面存在一些重叠,因为 nccmath在标准中添加了一个可选参数\intertext来指定在 \intertext 上方和下方插入的垂直间距(文档第 2 页)。

相关内容