我将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\ll
编辑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}
当然,使用\nll
包中的实数否定符号fdsymbol
,如 Zarko 的回答是首选解决方案。