为什么 \nsim 比 \sim 粗?

为什么 \nsim 比 \sim 粗?

问题

出于某种原因,\nsim看起来像是被否定了大胆的版本\sim,而我希望它看起来就像\sim上面有一个斜线一样。


例子

这似乎发生在mathdesign

\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage[charter]{mathdesign}
\begin{document}
\begin{center}
\scalebox{10}{%
$\sim$
$\nsim$
\makebox[0pt][l]{$\nsim$}%
\color{red}$\sim$%
}
\end{center}
\end{document}

它看起来像这样(请注意,\nsim比更粗;当我们将红色叠加在黑色上\sim时最容易看到):\sim\nsim

数学设计

而且它似乎也发生在amssymb

\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{amssymb}
\begin{document}
\begin{center}
\scalebox{10}{%
$\sim$
$\nsim$
\makebox[0pt][l]{$\nsim$}%
\color{red}$\sim$%
}
\end{center}
\end{document}

它看起来像这样(\nsim红色下再次可见黑色\sim):

符号


问题

  1. 为什么会发生这种情况? 不\nsim应该是否定的吗\sim

  2. 我怎样才能用\usepackage[charter]{mathdesign}看起来像否定版本的符号来构造\sim?(像的东西\not\sim很丑陋。)

答案1

由于问题似乎出在 的定义上\nsim,我建议您重新定义它:

\makeatletter
\renewcommand{\nsim}{\mathrel{\mathpalette\n@sim\relax}}
\newcommand{\n@sim}[2]{%
  \ooalign{%
    $\m@th#1\sim$\cr
    \hidewidth$\m@th#1\rotatebox[origin=c]{50}{$#1-$}$\hidewidth\cr
  }%
}
\makeatother

对于不熟悉的用户\mathpalette\mathpalette 的奥秘

关于设计您自己的符号的一般建议:当 Detexify 失败时,如何制作自己的符号?

有关以下方面的更多详细信息\ooalignhttps://tex.stackexchange.com/a/22375/125871

要使用上述代码,调用$a\nsim b_{a\nsim b_{a\nsim b}}$会产生输出 在此处输入图片描述

由于原\sim命令是重新定义的\nsim,所以厚度相等:

在此处输入图片描述

使用mathdesign在此处输入图片描述

在此处输入图片描述

答案2

这似乎取决于字体——\nsim字形是不同的字形,而不是由组合而成(使用类的默认字体article,看起来相当丑陋):

\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{amssymb}
\begin{document}
\begin{center}
\scalebox{10}{%
$\sim$
$\nsim$
\makebox[0pt][l]{$\nsim$}%
\color{red}$\sim$%
}

\scalebox{10}{%
$\sim$
$\not\sim$
\makebox[0pt][l]{$\not\sim$}%
\color{red}$\sim$%
}
\end{center}
\end{document}

在此处输入图片描述

在我看来,字体的情况stix2要好得多:

\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{stix2}
\begin{document}
\begin{center}
\scalebox{10}{%
$\sim$
$\nsim$
\makebox[0pt][l]{$\nsim$}%
\color{red}$\sim$%
}

\scalebox{10}{%
$\sim$
$\not\sim$
\makebox[0pt][l]{$\not\sim$}%
\color{red}$\sim$%
}
\end{center}
\end{document}

在此处输入图片描述

...并且看一下例子,我认为这amssymb是在引擎盖下使用 stix 字形...

答案3

其中amssymb\thicksim\nsim一对,但\sim\nsim不是。为了获得更一致的输出,您可以通过重新定义\sim为。\thicksim\let\sim\thicksim

\documentclass{article}
\usepackage{amssymb}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}[blend group=screen, scale=10, every node/.style={scale=10}]
  \node[red] {$\sim$};
  \node[blue] {$\nsim$};
  
  \begin{scope}[xshift=10pt]
    \node[red] {$\thicksim$};
    \node[blue] {$\nsim$};
  \end{scope}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关实现:

% latex2e kernel
\DeclareSymbolFont{symbols} {OMS}{cmsy}{m}{n}
\DeclareMathSymbol{\sim}      {\mathrel}{symbols}{"18}

% amsfonts.sty
\DeclareSymbolFont{AMSb}    {U}{msb}{m}{n}
% amssymb.sty
\DeclareMathSymbol{\thicksim} {\mathrel}{AMSb}{"73}
\DeclareMathSymbol{\nsim}     {\mathrel}{AMSb}{"1C}

相关内容