我已经定义了定义上相等符号:
使用以下代码:\newcommand{\eqdef}{\overset{def}{=}}
。
但是,“def”超出了等号的边缘。有没有更宽的等号可以使用?
答案1
只需放置两个等号,稍微后退:
\newcommand{\eqdef}{\overset{\mathrm{def}}{=\joinrel=}}
这就是 TeX 构建可扩展箭头的方式。
魔法宏\joinrel
定义为
\mathrel{\mkern-3mu}
而神奇的是,TeX 不会在连续的关系符号之间放置空格:
=\mathrel{\mkern-3mu}=
这样就会导致两个等号稍微重叠在一起。
答案2
这extarrows
包裹提供\xlongequal{<stuff>}
:
\documentclass{article}
\usepackage{extarrows}% http://ctan.org/pkg/extarrows
\newcommand{\eqdef}{\xlongequal{\text{def}}}%
\begin{document}
\[ f(x) \eqdef g(x) = ax^2+bx+c \]
\end{document}
extarrows
需要amsmath
(因此默认情况下会加载它)。因此,我使用了根据 \text
给定的数学大小缩放到适当文本字体的字体。
如果你希望覆盖范围的边界def
更紧密,可以使用
\newcommand{\eqdef}{\xlongequal{\!\text{def}\!}}%
这会消除周围的一些空间def
。
答案3
如果你想要精确计算尺寸,你可以\resizebox
使用包裹graphicx
并将宽度缩放到所需大小(未缩放版本的宽度),并使高度与标志的高度相同=
。以下是常规版本和重新调整大小版本的比较:
\kern1.25pt
请注意,可能需要根据所使用的字体进行手动调整。
\documentclass{article}
\usepackage{amsmath}%
\usepackage{graphicx}% needed for \resizebox
\usepackage{calc}% needed for the width/height calculations
\newcommand*{\MyDef}{\mathrm{def}}
\newcommand*{\MyEqdefU}{\ensuremath{\mathrel{\overset{\MyDef}{=}}}}% Unscaled version
\newcommand*{\MyEqdef}{\mathrel{\overset{\MyDef}{\resizebox{\widthof{\kern1.25pt\MyEqdefU}}{\heightof{$=$}}{$=$}}}}
\begin{document}
\begin{alignat*}{2}
f(x) &\MyEqdefU g(x) = h(x) \quad\text{Unscaled}\\
f(x) &\MyEqdef g(x) = h(x) \quad\text{Scaled}
\end{alignat*}
\end{document}
答案4
使用 graphicx 包只需对方程式标记进行简单的水平延伸即可:
\usepackage{graphicx}
...
{\scalebox{3}[1]{=}}
您还可以为此定义一个命令并在以后使用它
\newcommand{\longeq}{\scalebox{3}[1]{=}}
像这样:
\longeq