\mathbb{Z} 对于 \not? 无法正常工作。

\mathbb{Z} 对于 \not? 无法正常工作。

我在 Ubuntu 20.04.2 上使用 pdflatex。我编写了以下 latex 代码。

\documentclass{article}
\usepackage{amssymb,breqn}
\newcommand{\bZ}{{\mathbb Z}}
\newcommand{\lhdZl}{\lhd_{\bZ^{l}}}
 \begin{document}
 \begin{align}
   a &\not\lhdZl b\\
   a &\not\lhd_{\bZ^{l}} b
 \end{align}
\end{document}

在我看来,align 环境中的两行应该给出相同的表达式,因为第一行使用\lhdZl,其定义为\lhd_{\bZ^{l}},而第二行仅使用\lhd_{\bZ^{l}}。但是,下面生成的 pdf 将第一行与 放在一起\mathbb Z,而将第二行与 放在一起\mathbb Z

mathbbZ 与不

有什么不对?

答案1

明显的问题是breqn

一开始有几个修复:

  1. 正确的语法是\mathbb{Z},不是{\mathbb Z}

  2. \lhd不是定义为二元关系符号。

修复无breqn

\documentclass{article}
\usepackage{amsmath,amssymb}

\newcommand{\bZ}{\mathbb{Z}}
\newcommand{\nsg}{\mathrel{\lhd}} % normal subgroup
\newcommand{\nsgZl}{\nsg_{\bZ^{l}}}

\begin{document}

\begin{align}
   a &\not\nsgZl b\\
   a &\not\nsg_{\bZ^{l}} b
\end{align}

\end{document}

在此处输入图片描述

现在让我们尝试一下breqn。不,它不起作用。抱歉。你能做什么?不要使用breqn

显然,breqn(或者说,flexisym)希望_在否定符号后看到显式,而将其隐藏在宏中会毁掉一切。而且,出于奇怪的原因,将其变成\lhd二元关系符号将\not无法将其识别为二元关系符号。这是 中的一个错误breqn:例如,也会\not\sqsubset产生正确的结果。

相关内容