为什么作者不断定义自己的 \gtrsim 和 \lesssim 命令?

为什么作者不断定义自己的 \gtrsim 和 \lesssim 命令?

正如标题所说,我的问题是:“为什么作者不断定义自己的 \gtrsim 和 \lesssim 命令?”

这种事情经常发生。以下是我最近遇到的情况:

\newcommand{\gsim}{\raisebox{-0.13cm}{~\shortstack{$>$ \\[-0.07cm]
      $\sim$}}~}
\newcommand{\lsim}{\raisebox{-0.13cm}{~\shortstack{$<$ \\[-0.07cm]
      $\sim$}}~}

\def\gsim{\stacksymbols{>}{\sim}{2.5}{.2}}
\def\lsim{\stacksymbols{<}{\sim}{2.5}{.2}}

编辑。这里是另一个“新鲜”的(我真的很想收集它们全部......):

\newcommand{\lsim}{{\;\raise0.3ex\hbox{$<$\kern-0.75em\raise-1.1ex\hbox{$\sim$}}\;}}
\newcommand{\gsim}{{\;\raise0.3ex\hbox{$>$\kern-0.75em\raise-1.1ex\hbox{$\sim$}}\;}}

当然,补救措施是:

\newcommand{\gsim}{\gtrsim}

作为埃格尔建议。

答案1

我认为,主要原因是惯性。作者\gsim在三十多年前就学会了如何用那种(搞笑的)方式制作,或者从一些起源于 LaTeX 早期的模板中借用了它。该amssymb软件包自 1994 年以来基本上一直处于当前形式,但符号已经可用好几年了,甚至对于纯 TeX(或 AMS-TeX)也是如此。

该宏\shortstack是为picture模式而设计的,但实际上并不适用于任何据我所知,这是真实的应用。

您所展示的定义在很多方面都是错误的:

  1. 间距与关系符号不一样;
  2. 它不会改变下标/上标的大小;
  3. -0.07cm 的垂直调整是“通过眼睛”计算的,并且不会随着主字体大小而缩放。

以下是一个视觉比较:

\documentclass{article}

\usepackage{amssymb}

\newcommand{\gsim}{\raisebox{-0.13cm}{~\shortstack{$>$ \\[-0.07cm]
      $\sim$}}~}

\begin{document}

$a\gtrsim b_{\gtrsim}$

$a\gsim b_{\gsim}$

\end{document}

在此处输入图片描述

(第二行)的输出\gsim看起来还不错,但是间距很奇怪,而且下标明显错误。

再做一些工作就可以获得稍微好一点的结果:

\documentclass{article}

\usepackage{amssymb}

\makeatletter
\newcommand{\undersim}[1]{\mathrel{\mathpalette\@undersim{#1}}}
\newcommand{\@undersim}[2]{%
  \vcenter{%
    \ialign{%
      ##\cr
      $\m@th#1#2$\cr
      \noalign{\nointerlineskip\kern.2ex}
      $\m@th#1\sim$\cr
      \noalign{\kern-.4ex}
    }%
  }%
}
\newcommand{\gsim}{\undersim{>}}
\newcommand{\lsim}{\undersim{<}}
\makeatother

\begin{document}

$a\gtrsim b_{\gtrsim}$

$a\gsim b_{\gsim}$

\end{document}

在此处输入图片描述

然而,这种技巧只应用于没有预先组合好的符号的情况(或者在数学字体太多的紧张情况下)。

在你的情况下,不要害怕删除愚蠢的定义,并将它们改为

\newcommand{\gsim}{\gtrsim}
\newcommand{\lsim}{\lesssim}

随着\usepackage{amssymb}

相关内容