\mathsmaller 在 align* 中不起作用

\mathsmaller 在 align* 中不起作用

这是一个最小工作示例

\documentclass[11pt]{book}
\usepackage{relsize}
\usepackage{amsmath}
\DeclareMathAlphabet{\denom}{T1}{lmss}{sbc}{n}
\begin{document}
$\denom{C\mathsmaller{ENTI}Meters}$
\begin{align*}
\denom{C\mathsmaller{ENTI}Meters}
\end{align*}
\end{document}

在此处输入图片描述

我知道阿瑟诺说“数学较大/较小命令不应该被信任太久,并且它们并非在每种情况下都有用“但我希望有人能找到解决办法。

答案1

碰巧的是,差不多 10 年前,我在 OSX TeX 列表上问了同样的问题,Frank STENGEL 解释了发生的事情,Ross MORE 说:“包括一个 \textstyle 转变“:

{\textstyle\denom{C\mathsmaller{ENTI}}}\;{\textstyle\denom{Meters}}

答案2

\mathsmaller被认为是诸如和的符号,当在以下位置找到时\sum使用:\textstyle\displaystyle

\def\rs@makesmallerchoice{\mathchoice
  {\textstyle \let\rs@sstyle\scriptstyle \rs@mathatom}%
  {\scriptstyle \let\rs@sstyle\scriptstyle \rs@mathatom}%
  {\scriptscriptstyle \let\rs@sstyle\scriptscriptstyle \rs@mathatom}%
  {\scriptscriptstyle \let\rs@sstyle\scriptscriptstyle \rs@mathatom}%
 \egroup}

如果您想用没有小写字母的字体来模拟小写字母,请使用\text(和一些技巧)。

\documentclass[11pt]{book}
\usepackage{amsmath}

\makeatletter
\newcommand{\fsc}[1]{%
  \begingroup\escapechar=\m@ne
  \xdef\fsc@font{\expandafter\string\the\textfont\mathgroup}%
  \endgroup
  \text{%
    \edef\fsc@size{\f@size}%
    \expandafter\split@name\fsc@font\@nil
    \usefont{\f@encoding}{\f@family}{\f@series}{\f@shape}%
    \fontsize{.7\dimexpr\fsc@size}{\z@}\selectfont
    #1%
  }%
}
\makeatother


\DeclareMathAlphabet{\denom}{T1}{lmss}{sbc}{n}
\begin{document}
$\denom{C\fsc{ENTI}Meters}+\frac{\denom{C\fsc{ENTI}Meters}}{2}$

$\mathrm{C\fsc{ENTI}Meters}$
\[
\denom{C\fsc{ENTI}Meters}+\frac{\denom{C\fsc{ENTI}Meters}}{2}
\]
\end{document}

在此处输入图片描述

相关内容