如何通过重新缩放符号来“居中”定义的数学运算符?

如何通过重新缩放符号来“居中”定义的数学运算符?

考虑一下这个MWE:

\documentclass[12pt,letterpaper]{article}

\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{scalerel}
\usepackage{amsmath}
\usepackage{scalerel}

\newcommand{\smallrel}[1]{\mathop{\scaleobj{0.5}{#1}}}
\newcommand{\smalltimes}{\smallrel{\times}}

\begin{document}
    \begin{equation*}
        a\smalltimes b + c\smalltimes d = e
    \end{equation*}
\end{document}

它产生如下输出:

在此处输入图片描述

我如何才能使小乘号符号相对于正常加号符号正确对齐?

答案1

\scalebox以下是使用包提供的宏的解决方案graphicx。该解决方案采用\vcenter“原始”指令将其参数置于数学轴的中心。

我还将默认缩放因子设置为0.8,这0.5对我来说似乎有点极端。(当然,您可以随意更改默认缩放因子以满足您的需求和偏好。)对于 的任何实例,可以“动态”覆盖缩放因子。\smalltimes如果符号需要出现在第一和第二级下标或上标位置(希望不是经常出现!),这将很有用。由于\scriptstyle\scriptscriptstyle比 分别小 30% 和 50% \textstyle,只需将您首选的缩放因子分别乘以 0.7 和 0.5,即可获得\smalltimes第一和第二级下标或上标材料的正确大小。

在此处输入图片描述

\documentclass{article}
\usepackage{graphicx} % for "\scalebox" macro

% Default scaling factor: 0.8
\newcommand{\smalltimes}[1][0.8]{%
    \mathbin{\vcenter{\hbox{\scalebox{#1}{$\times$}}}}}

\begin{document}
$a\smalltimes b + c\smalltimes d = e $

$\scriptstyle a\smalltimes[0.56] b + c\smalltimes[0.56] d = e$     % .7*.8=.56

$\scriptscriptstyle a\smalltimes[0.4] b + c\smalltimes[0.4] d = e$ % .5*.8=.4 
\end{document}

答案2

此答案基于这个答案

\documentclass[12pt,letterpaper]{article}

\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{scalerel}
\usepackage{amsmath}

\newcommand{\smallrel}[1]{\mathop{\scaleobj{0.5}{#1}}}
\makeatletter
\newcommand{\smalltimes}{\mathbin{\mathpalette\@smalltimes\relax}}
\newcommand{\@smalltimes}{%
  \raisebox{.4\height}{$\smallrel{\times}$}}
\makeatother

\begin{document}
    \begin{equation*}
        a\smalltimes b + c\smalltimes d = e
    \end{equation*}
\end{document}

在此处输入图片描述

答案3

这是一个对您当前所处的风格很敏感的版本。否则,重新缩放的行为会有所不同(例如),具体取决于您是处于正常大小的数学中还是指数中。

\usepackage{scalerel}
\newcommand{\smalltimes}{\ThisStyle{\scaleobj{0.63}{\raisebox{2.7pt}{$\boldsymbol{\SavedStyle\times}$}}}}

您可以根据自己的喜好调整数字!

相关内容