如何让我的 \defeq 更低

如何让我的 \defeq 更低

我的 tex 代码显示如下。

\documentclass[10pt]{article}
\usepackage{amsmath}
\newcommand{\defeq}{\overset{\text{\tiny def}}{=}}
\begin{document}
$P\defeq A$
\end{document}

在此处输入图片描述

我打算将红色矩形中的 \defeq 符号移到绿色矩形中。或者换句话说,我希望 \defeq 符号在 LaTeX 字符框中居中对齐。你能告诉我怎么做吗?

答案1

您可以使用一些低级命令:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\defeq}{\mathrel{\aban@defeq}}
\newcommand{\aban@defeq}{%
  \vbox{\offinterlineskip\check@mathfonts
    \ialign{\hfil##\hfil\cr
      \fontsize{\ssf@size}{\z@}\normalfont def\cr
      \noalign{\kern1\p@}
      $\m@th=$\cr
      \noalign{\kern-.5\fontdimen22\textfont2}
    }%
  }%
}
\makeatother

\begin{document}

\[
A=B\defeq P
\]

\end{document}

“def” 和 “=” 之间的间距设置为一个点,您可以根据自己的喜好进行调整。“=” 降低了数学轴高度的一半,如下所示\fontdimen22\textfont2

在此处输入图片描述

就我个人而言,我不喜欢这样的符号。如果我被迫使用“它被定义为”之类的符号,我可能会选择\coloneq不对称的。但我从未觉得数学上需要这样的符号。

答案2

这是一个使用 LaTeX 命令的解决方案\raisebox

在此处输入图片描述

\documentclass[10pt]{article}
\usepackage{amsmath}
\newcommand{\defeq}{\overset{\text{\tiny def}}{=}}
\newcommand{\ldefeq}{\mathrel{\raisebox{-0.3ex}{$\defeq$}}}
\begin{document}
$P\defeq A$, $P\ldefeq A$
\end{document}

相关内容