`centernot` 与其他软件包冲突

`centernot` 与其他软件包冲突

我将NOT \ll使用上述方法排版这里作者:@Leo Liu。

此代码片段使用所需的最少包完美地运行:

\documentclass{article}

\usepackage{centernot}
\usepackage{amsmath}

\begin{document}

\begin{equation}
(\forall \pi_{i},\pi_{j} \in \mathcal{P}) [\pi_{i} \centernot\ll \pi_{j} \wedge \pi_{j} \centernot\ll \pi_{i}].
\end{equation}

\end{document}

但是当我在包含许多其他包的主文件中使用该方法时,会引发一个错误Missing $ inserted

\documentclass{article}

\usepackage{graphicx}
\usepackage{mathptmx}
\usepackage{centernot}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{enumitem}
\usepackage{mathtools}
\usepackage{mathrsfs}
\usepackage{mathtools}
\usepackage{tabularx}
\usepackage{fdsymbol}
\usepackage{rotating}
\usepackage{nth}
\usepackage{array}
\usepackage{makecell}
\usepackage{soul}
\usepackage[normalem]{ulem}
\usepackage{algorithm}
\usepackage{algorithmicx,algpseudocode}
\usepackage[top=2cm, left = 2cm, right = 2cm, bottom = 2cm]{geometry}
\usepackage{stackengine}
\usepackage{braket}

\begin{document}

\begin{equation}
(\forall \pi_{i},\pi_{j} \in \mathcal{P}) [\pi_{i} \centernot\ll \pi_{j} \wedge \pi_{j} \centernot\ll \pi_{i}].    % error is here
\end{equation}

\end{document}

我猜测是存在包冲突。

我该如何解决这个问题?!

编辑1:

错误:

缺少 $ 插入。...j} \in \mathcal{P}) [\pi_{i} \centernot\l​​l

编辑2:

冲突与fdsymbol包有关。

答案1

包中fdsymbol提供的符号种类繁多,其中有很多的否定符号amssymb可用。因此,包centernot实际上是多余的,冲突也会得到解决。

我建议使用\nll来自包fdsymbol而不是\centernot\ll

答案2

centernot假设原来的是\not,它是一个简单的关系符号。包fdsymbol重新定义\not为具有一个参数的宏。

以下示例中的补丁重新定义\@centernot为允许\not成为具有一个参数的宏:

\documentclass{article}

\usepackage{centernot}
\usepackage{fdsymbol}

% Patch centernot to support \not as macro with argument.
\usepackage{etoolbox}
\makeatletter
\patchcmd\@centernot{\not}{\not{\hphantom{=}}}{}{%
  \errmessage{Patching \noexpand\@centernot failed.}%
}
\makeatother

\begin{document}
  \begin{equation}
    (\forall \pi_{i},\pi_{j} \in \mathcal{P}) [\pi_{i} \centernot\ll \pi_{j}
    \wedge \pi_{j} \centernot\ll \pi_{i}].
  \end{equation}
\end{document}

Result

当然,使用\nll包中的实数否定符号fdsymbol,如 Zarko 的回答是首选解决方案。

相关内容