\stackrel 和 \stackbin 之间的区别

\stackrel 和 \stackbin 之间的区别

\stackrel和之间有什么区别\stackbin?在什么情况下使用其中一个更好?

答案1

如果没有stackrel包,\stackrel则定义在ltxmath.dtx作为

\def\stackrel#1#2{\mathrel{\mathop{#2}\limits^{#1}}}

它排版了一个具有上限的关系运算符(有效地将其置于顶部)。Heiko Oberdiek 的stackrel包裹据说提供了一个

增强命令\stackrel

这种“增强”为 提供了一个可选参数,用于\stackrel将某些内容放置在关系运算符下方(使用与原始 类似的过程\stackrel)。此外,它还为二元关系提供了一个对应项,称为\stackbin。两者之间的区别(或何时使用哪一个)包含在帖子中\mathbin和 有什么区别?\mathrel以下是对 的使用类似的看法stackrel

在此处输入图片描述

\documentclass{article}

\usepackage{stackrel}

\begin{document}

\begin{tabular}{clc}
  \multicolumn{3}{c}{Relations} \\[5pt]
  \LaTeX & Typeset & width \\
  \hline
  \verb|$x=x$| & $x=x$ & \setbox0=\hbox{$x=x$} \the\wd0 \\
  \verb|$x\stackbin[c]{a}{=}x$| & $x\stackbin[c]{a}{=}x$ & 
    \setbox0=\hbox{$x\stackbin[c]{a}{=}x$} \the\wd0 \\
  \verb|$x\stackrel[c]{a}{=}x$| & $x\stackrel[c]{a}{=}x$ & 
    \setbox0=\hbox{$x\stackrel[c]{a}{=}x$} \the\wd0 \\[10pt]
  \multicolumn{3}{c}{Binary operators} \\[5pt]
  \LaTeX & Typeset & width \\
  \hline
  \verb|$x+x$| & $x+x$ & \setbox0=\hbox{$x+x$} \the\wd0 \\
  \verb|$x\stackbin[c]{a}{+}x$| & $x\stackbin[c]{a}{+}x$ & 
    \setbox0=\hbox{$x\stackbin[c]{a}{+}x$} \the\wd0 \\
  \verb|$x\stackrel[c]{a}{+}x$| & $x\stackrel[c]{a}{+}x$ & 
    \setbox0=\hbox{$x\stackrel[c]{a}{+}x$} \the\wd0
\end{tabular}

\end{document}

\stackrel注意使用和时间距相等,而使用和=时间距相近。本质上,对于关系运算符使用 ,对于二元运算符使用 。\stackbin+\stackrel\stackbin

答案2

不要使用\stackrelor \stackbin,它们已经过时了。请使用amsmath 中的\undersetand ,\overset因为它们可以自动正确地分隔事物(无论是二元关系还是二元运算符):

以下代码的结果

\documentclass{article}

\usepackage{amsmath}

\begin{document}

$f(x) \overset{\text{def}}{=} x \ln(1+x)$

$f(x) \underset{x \to 0}{=} x^2 + o(x^2)$

$A \underset{\text{below}}{\overset{\text{above}}{+}} C$

\end{document}

答案3

我个人更喜欢使用\mathop,因为它更简单。您可以简单地编写代码,而不是使用嵌套的下限/上限:

$A \mathop{+}_{\text{below}}^{\text{above}} C$

相关内容