寻找 \nmid 但带有更大、更明显的斜线

寻找 \nmid 但带有更大、更明显的斜线

正如标题所述,我正在寻找一个能\nmid提供更长、更明显的斜线的版本。原因是我使用 OneNote 将结果投影到屏幕上,这会使生成的 .pdf 有点模糊,而且标准中的小斜线\nmid对我的学生来说很难阅读。

我一直在寻找解决方案,并且尝试了一些方法:

\not\mid:结果与\nmid

\centernot\mid(使用centernot包):完美,除了我还想用它unicode-math来加载 Libertinus Math 字体,而这看起来\centernot很奇怪。

\notdivides来自mathabx包:很好,但是将包添加到我的序言中会引发很多“已定义”错误,我猜这意味着它与我正在加载的其他包发生冲突。我想我可以解决\let\relax这些问题,但如果可以的话,我想要一个更干净、更现代的解决方案。

答案1

基本成分:

  1. 我们mathabx.dcl发现\DeclareMathSymbol{\notdivides}{3}{matha}{"1F}

  2. 我们mathabx.sty发现

    \DeclareFontFamily{U}{matha}{\hyphenchar\font45}
    \DeclareFontShape{U}{matha}{m}{n}{
         <5> <6> <7> <8> <9> <10> gen * matha
         <10.95> matha10 <12> <14.4> <17.28> <20.74> <24.88> matha12
         }{}
    \DeclareSymbolFont{matha}{U}{matha}{m}{n}
    \DeclareFontSubstitution{U}{matha}{m}{n}
    

如今,字体形状声明可以更好,但更改很容易。

但是,您还需要导入\divides,如以下示例所示。

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

%%% import \notdivides
\DeclareFontFamily{U}{matha}{}
\DeclareFontShape{U}{matha}{m}{n}{
  <-5.5> matha5
  <5.5-6.5> matha6
  <6.5-7.5> matha7
  <7.5-8.5> matha8
  <8.5-9.5> matha9
  <9.5-11> matha10
  <11-> matha12
}{}
\DeclareSymbolFont{matha}{U}{matha}{m}{n}
\DeclareFontSubstitution{U}{matha}{m}{n}

\DeclareMathSymbol{\divides}{3}{matha}{"17}
\DeclareMathSymbol{\notdivides}{3}{matha}{"1F}

\begin{document}

$a\mid b \nmid c$ (CM and amssymb)

$a\mid b \notdivides c$ (CM and mathabx)

$a\divides b \notdivides c$ (both mathabx)

\end{document}

在此处输入图片描述

我不确定它是否真的能解决投影仪模糊的问题。

答案2

您可以通过叠加旋转的 来制作一个新-符号\mid

在此处输入图片描述

\documentclass{article}

\usepackage{graphicx, amssymb}

\makeatletter
\newcommand{\Nmid}{\mathrel{\mathpalette\N@mid\relax}}
\newcommand{\N@mid}[2]{%
  \ooalign{%
    \negthickspace\rotatebox{42}{$\m@th#1-$}\negthickspace\cr
    \hfil$\m@th#1\mid$\hfil\cr
  }%
}
\makeatother

\begin{document}

$a\Nmid b\nmid c$

\end{document}

相关内容