我刚刚发现,打印文档时,大于等于符号 \geq 看起来与我想要的不一样。因为我经常使用它,所以我想重新定义 \geq 命令,从而得到另一个版本。
首先它太大了。我找到了 scalerel 包,并设法缩放它并重新定义它:
\let\oldgeq\geq
\renewcommand{\geq}{\scaleobj{0.8}{\oldgeq}}
效果很好,空间太小了,但这不是重点。
其次,符号的底线与文本的其余部分不对齐。如果你仔细看,你会发现它比其余部分略低。所以我尝试对齐它或将其设置在文本线上方一点,但没有成功。我找到了一种使用 tikz 的解决方法,但它只适合普通字体中的正确位置。我希望它与每个字体大小的文本对齐,所以这不是一个好的解决方案。
也许有人可以帮助我解决第二个问题,或者对整个问题有更好的解决方案?
以下是 MWE:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{scalerel}
\let\oldgeq\geq
\renewcommand{\geq}{\scaleobj{0.8}{\oldgeq}}
\begin{document}
$5\oldgeq8$ $5\geq8$
\end{document}
提前致谢。
答案1
我不确定您不喜欢标准符号的什么地方。无论如何,您可以而且应该使用\mathpalette
。
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
\let\oldgeq\geq
\let\oldleq\leq
\renewcommand{\geq}{\mathrel{\mathpalette\bueckirel\oldgeq}}
\renewcommand{\leq}{\mathrel{\mathpalette\bueckirel\oldleq}}
\newcommand{\bueckirel}[2]{%
\raisebox{\depth}{\scalebox{0.8}{$#1#2$}}%
}
\begin{document}
$5\oldgeq8$ $5\geq8_{a\geq b}$
$5\oldleq8$ $5\leq8_{a\leq b}$
\end{document}
答案2
这会将修订版的基数设置\geq
为与原始版相同的深度,并修复水平间距。已编辑以处理较小的数学样式。
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{scalerel,stackengine}
\let\oldgeq\geq
\newcommand{\geqaux}{\mathrel{\scaleobj{0.8}{\oldgeq}}}
\renewcommand\geq{\mathrel{\ThisStyle{%
\setbox0=\hbox{$\SavedStyle\geqaux$}
\edef\dpgeq{\the\dp0}
\abovebaseline[-\dpgeq]{$\SavedStyle\geqaux$}
}}}
%\renewcommand\geq{\mathrel{\ThisStyle{\abovebaseline[0pt]{$\SavedStyle\geqaux$}}}}
\begin{document}
$5\oldgeq8\quad 5\geq8$
$\scriptstyle 5\oldgeq8\quad 5\geq8$
\end{document}
如果确实希望符号的水平斜线位于数字基线上,则使用重新定义的注释版本\geq
,结果为