我们知道\tiny
,,\scriptsize
等是文本字体宏,在数学模式下使用它们时我们会收到通知:
LaTeX 字体警告:命令 \tiny 在输入行的数学模式下无效……
然而,如下面的 MCE 所示,它们看起来是有效的,至少在环境中是有效的equation
(缺点是标签方程的大小也会改变)。有趣的是,它们在环境中不起作用equation*
。
因此,命令 \tiny 等在数学模式下无效,但事实并非如此,不是吗?
\documentclass{article}
\usepackage{mathtools}
\begin{document}
\begin{equation}
\tiny%
e^{i\pi}+1=0
\end{equation}
\begin{equation}
e^{i\pi}+1=0
\end{equation}
\begin{equation*}
\tiny%
e^{i\pi}+1=0
\end{equation*}
\end{document}
编辑
这个问题之所以产生,是因为有用户希望cases
环境的方程更小。在这种情况下,\scriptstyle
和\scriptscriptstyle
,通常建议在数学模式中使用不同的(较小的)字体,但不起作用,如以下 MCE 所示(顺便说一句,它显示了如何获取正常大小的标签):
\documentclass{article}
\usepackage{kpfonts}
\usepackage{mathtools}
\begin{document}
\begin{equation}
\tiny%
\makeatletter
\renewcommand{\maketag@@@}[1]{\hbox{\m@th\normalsize\normalfont#1}}%
\makeatother
\begin{cases}
e^{i\pi}+1=0
\end{cases}
\normalsize
\end{equation}
\begin{equation}
\scriptstyle%
\begin{cases}
e^{i\pi}+1=0
\end{cases}
\end{equation}
\begin{equation}
\scriptscriptstyle%
\begin{cases}
e^{i\pi}+1=0
\end{cases}
\end{equation}
\end{document}
答案1
如果未设置数学字体,LaTeX 会向您尖叫:
LaTeX Font Warning: Font shape `OMS/cmsy/m/n' in size <> not available
(Font) size <5> substituted on input line 7.
LaTeX Font Warning: Font shape `OMS/cmsy/m/n' in size <0.7> not available
(Font) size <5> substituted on input line 7.
所以基本上什么都没有起作用,但是正如你选择的那样\tiny
,并且并不真正希望下标小到不可能读到的事实是它们根本没有设置,而乳胶做了一些合理的事情,因为后备使得输出看起来很合理,但这是运气好,而不是设计好的。
答案2
可以使用框来完成,但基线和中心之间的偏移取决于字体大小。
\documentclass{article}
\usepackage{kpfonts}
\usepackage{mathtools}
\begin{document}
\begin{equation}
x = \begin{cases} e^{i\pi}+1=0 \\ e^{i\pi}+1=0 \end{cases}
\end{equation}
\begin{equation}
x = \raisebox{0.6pt}{\footnotesize $\displaystyle \begin{cases} e^{i\pi}+1=0 \\ e^{i\pi}+1=0 \end{cases} \frac{1}{2}$}
\frac{1}{2}
\end{equation}
\end{document}
答案3
unicode-math
包的\setmathfont
命令将字形映射到“每个符号和字母变体”的名称( ,p7(s4)),因此这表明可以通过使用底层包的字体选项texdoc unicode-math
,通过传入源字体本身的单点更改大小。fontspec
Scale=
对缩放系数为 0.5、0.75、1、1.25、1.5、2 和 2.5 进行快速测试,结果如下(放大 100%,蓝色为未缩放):
也许是一个值得探索的选择。
性能:重置 000 个符号等(或任意数量)大约需要 5-8 秒,因此 7 次这样的更改大约需要半分钟。
平均能量损失
\documentclass{article}
\usepackage{xcolor}
\usepackage{amsmath}
\usepackage{unicode-math}
\setmainfont{Tex Gyre Pagella}
\setmathfont{Tex Gyre Pagella Math}[Colour=blue]
\newcommand\smathscale[1][1]{%
\setmathfont{Tex Gyre Pagella Math}[Scale=#1]
}
\newcommand\smathscalea{\smathscale[0.5]}
\newcommand\smathscaleb{\smathscale[0.75]}
\newcommand\smathscalec{\smathscale}
\newcommand\smathscaled{\smathscale[1.25]}
\newcommand\smathscalee{\smathscale[1.5]}
\newcommand\smathscalef{\smathscale[2]}
\newcommand\smathscaleg{\smathscale[2.5]}
\newcommand\testmaths{%
\begin{equation}
\begin{cases}
e^{i\pi}+1=0
\end{cases}
\end{equation}}
\begin{document}
\testmaths
\smathscalea\testmaths
\smathscaleb\testmaths
\smathscalec\testmaths
\smathscaled\testmaths
\smathscalee\testmaths
\smathscalef\testmaths
\smathscaleg\testmaths
\end{document}