更好的 long ≝(定义等于,按定义等于)没有凸起

更好的 long ≝(定义等于,按定义等于)没有凸起

很长一段时间以来,我一直在通过以下方式定义一个长的“根据定义等于”符号 ≝ for [ pdf| lua| xe]latex

\newcommand*{\longDefiningEquals}{\stackrel{\text{def}}{=\joinrel=}}

它的典型用法是在块公式中,例如

答案1

使用 luatex 您可以使用可扩展的符号:

\documentclass{article}
\usepackage[math-style=ISO]{unicode-math}
\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}

\newcommand*{\longDefiningEquals}
 {\Uoverdelimiter 0 "3D {\text{ \vphantom{j}definition }}}
\begin{document}
\[\longDefiningEquals\]
\end{document}

在此处输入图片描述

答案2

您不必使用 PGF/TikZ 绘制它。它只是两个水平条。

值 .225ex​​ 是 TikZ “等号距离” 的一半(无论它来自哪里),而 2.57pt 则来自 TikZ-CD 的axis_height函数。值 .56pt 来自该rule_thickness函数。

每种字体的这些值都不同,需要在实际使用情况下进行更好的评估。

唯一的缺点是它不再是=并且无法在输出中选择。

代码

\documentclass{article}
\usepackage{iftex}
\ifTUTeX
  \usepackage[math-style=ISO]{unicode-math}
  \setmainfont[Ligatures=TeX]{TeX Gyre Termes}
  \setsansfont{TeX Gyre Heros}[Scale=0.88]%%% Somewhat ok scaling.
  \setmonofont{TeX Gyre Cursor}%%% No explicit turning on ligatures for the monospaced font.
  \setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}
  \setmathfont[Ligatures=TeX,Extension=.otf,range={"2A3E},BoldFont=XITSMath-Bold]{XITSMath-Regular}%%% The fat semicolon comes from XITS.
\else
  \usepackage{newtxtext,newtxmath}
\fi
\usepackage{graphics}
\newcommand*{\longDefiningEquals}{\stackrel{\text{def}}{=\joinrel=}}
\makeatletter
\newcommand*\lde[1][def]{%
  \stackrel{\mathrm{#1}}{%
    \settowidth\dimen@{$\scriptstyle\mathrm{#1}$}%
    \rlap{\rule[\dimexpr-.225ex+2.57pt]{\dimen@}{.56pt}}%
          \rule[\dimexpr+.225ex+2.57pt]{\dimen@}{.56pt}}}
\makeatother

\usepackage{tikz}
\begin{document}
%\[R⨾

答案3

您可以使用graphicx提供的包\scalebox\resizebox更改任何内容的宽度。如果内容是文本,则它将保留为文本,即加宽的 = 符号仍然可以像普通字符一样被选择/复制/搜索。

\scalebox可以分别设置水平和垂直比例。要使符号更宽,垂直比例应保持为 1。

要使符号与顶部的文本一样宽,您可以使用包\widthof中的calc宽度值\resizebox。对于高度值,您可以使用\height包含框的原始高度的宏。但是,由于包含的框定义略大于单词本身,符号可能显得太宽。该calc包提供了构造* \real{number}来修改 的结果\widthof

梅威瑟:

\documentclass{article}
\usepackage{graphicx}
\usepackage{calc}
\usepackage[math-style=ISO]{unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Termes}
\setsansfont{TeX Gyre Heros}[Scale=0.88]%%% Somewhat ok scaling.
\setmonofont{TeX Gyre Cursor}%%% No explicit turning on ligatures for the monospaced font.
\setmathfont[Ligatures=TeX]{TeX Gyre Termes Math}
\setmathfont[Ligatures=TeX,Extension=.otf,range={"2A3E},BoldFont=XITSMath-Bold]{XITSMath-Regular}%%% The fat semicolon comes from XITS.
\newcommand*{\longDefiningEquals}{\stackrel{\text{def}}{=\joinrel=}}%%% long equality symbol that is used to define stuff
\newcommand*{\scaleDefiningEquals}{\stackrel{\text{def}}{\scalebox{2}[1]{=}}}%%% long equality symbol that is used to define stuff
\newcommand*{\wdDefiningEquals}{\stackrel{\text{def}}{\resizebox{\widthof{def} * \real{0.8}}{\height}{=}}}%%% long equality symbol that is used to define stuff

\begin{document}
\[R⨾

答案4

在 Unicode 中,≝ 符号为 U+225D,\eqdefunicode-mathstix或中则为stix2

相关内容