问题
出于某种原因,\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
):
问题
为什么会发生这种情况? 不
\nsim
应该是否定的吗\sim
?我怎样才能用
\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 失败时,如何制作自己的符号?
有关以下方面的更多详细信息\ooalign
:https://tex.stackexchange.com/a/22375/125871
要使用上述代码,调用$a\nsim b_{a\nsim b_{a\nsim b}}$
会产生输出
由于原\sim
命令是重新定义的\nsim
,所以厚度相等:
答案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}