不能被整除 - LaTeX 符号

不能被整除 - LaTeX 符号

我正在寻找一种方法来为两个数字 a 和 b 写出可整除性(或者更准确地说是否定)。代码片段:

$a \not\vdots b$

有两个主要问题:

  1. “切割”并没有穿过符号的中间;
  2. 符号和 b 之间的空间极小。

第二个问题可以通过以下方式解决:

$a \not\vdots \ b$

那么,如何解决第一个问题?对于第二个问题,还有其他更优雅的解决方案吗?我使用的是 article 类,导入了几个包(我总是使用“ams-”系列,偶尔使用其他包)。

答案1

我建议用这个MWE来加载 centernot包。可以比较一下与你的LaTeX代码片段的差异。

\documentclass[a4paper,12pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{centernot}


\begin{document}
$a \centernot\vdots b, \quad a \not\vdots b$
\end{document}

在此处输入图片描述

答案2

为了不劫持塞巴斯蒂亚诺的精彩答案,我警告你不要使用\vdots这种方式,原因如下:

  1. \vdots未被声明为数学关系;
  2. \vdots太高;
  3. 的边界框\vdots很“有趣”。

\Div下面是我定义的符号的边界框的比较\vdots

在此处输入图片描述

这是我的建议(但我会使用竖线):

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

\makeatletter
\DeclareRobustCommand{\Div}{\mathrel{\Div@}}
\DeclareRobustCommand{\nDiv}{\mathrel{\nDiv@}}

\newcommand{\Div@}{%
  \mkern2mu\nonscript\mkern-2mu % some space in subscripts
  \mathpalette\Div@@\relax
  \mkern2mu\nonscript\mkern-2mu
}
\newcommand{\Div@@}[2]{%
  \hbox{%
    \sbox\z@{$#1T$}%
    \vbox to \ht\z@{%
      \offinterlineskip\m@th
      \hbox{$#1.$}\vfil
      \hbox{$#1.$}\vfil
      \hbox{$#1.$}%
    }%
  }%
}
\newcommand{\nDiv@}{\centernot\Div@}
\makeatother

\begin{document}

$a\Div b\quad\scriptstyle a\Div b$

$a\mid b\quad\scriptstyle a\mid b$

$a\nDiv b\quad\scriptstyle a\nDiv b$

$a\nmid b\quad\scriptstyle a\nmid b$

\end{document}

在此处输入图片描述

相关内容