改变方程式中的字体大小会改变文本中上标的大小(LATeX)

改变方程式中的字体大小会改变文本中上标的大小(LATeX)

我曾经\DeclareMathSizes{12}{20}{14}{10}将方程式设置得比 LATeX 的默认输出更大(据我所知,这些参数的意思是 {字体大小}{方程式常规文本大小}{方程式上标大小}{上标上标大小})。但是,方程式环境之外的上标也变成了 14pt 字体!我以为该\DeclareMathSizes命令只会影响方程式的内容。有没有办法在数学模式下更改上标大小而不影响其余文本的参数?

编辑:这是一个重现我的问题的最小示例,请注意,更改第三个参数也会影响等式外部上标的变化。这是正常的吗?我该如何阻止这种情况发生?

\documentclass[12pt,oneside,letterpaper,titlepage]{article}
\DeclareMathSizes{12}{20}{14}{10}

\begin{document}
...modulation by Ca\textsuperscript{2+}...

\begin{equation}
\sigma^2 = iI - \frac{I^2}{N}
\end{equation}
\end{document}

**第二次编辑/最终解决方案:我最终遵循了一个建议,做了一些更简单的事情:我只是\LARGE在我的等式上使用了命令。这是与上面相同的例子,使用\LARGE而不是\DeclareMathSizes

\documentclass[12pt,oneside,letterpaper,titlepage]{article}

\begin{document}
...modulation by Ca\textsuperscript{2+}...

\begin{equation}
\LARGE{\sigma^2 = iI - \frac{I^2}{N}}
\end{equation}
\end{document}

答案1

问题在于\textsuperscript使用数学模式的定义。

\DeclareRobustCommand*\textsuperscript[1]{%
  \@textsuperscript{\selectfont#1}}
\def\@textsuperscript#1{%
  {\m@th\ensuremath{^{\mbox{\fontsize\sf@size\z@#1}}}}}

一种可能的解决方法是重新定义实际命令,以便它不会妨碍你的方程式,这需要graphicx

\renewcommand{\textsuperscript}[1]{\raisebox{0.8ex}{\scalebox{0.66}{#1}}}

或者这需要relsize

\renewcommand{\textsuperscript}[1]{\raisebox{0.8ex}{\smaller{#1}}}

我承认这只是一种简单的变通方法,模仿上标的排版方式。现代排版可能会以某种方式定义上标/下标。

这也适用于各种文本大小的放大。此 MWE 还模拟了文本下标:

\documentclass[12pt,oneside,letterpaper,titlepage]{article}
\DeclareMathSizes{12}{20}{14}{10}

%% Solution 1
\usepackage{relsize} %smaller
\renewcommand{\textsuperscript}[1]{\raisebox{0.8ex}{\smaller{#1}}}
\newcommand{\textsubscript}[1]{\raisebox{-0.4ex}{\smaller{#1}}}

%% Solution 2
%%\usepackage{graphicx} %scalebox
%%\renewcommand{\textsuperscript}[1]{\raisebox{0.8ex}{\scalebox{0.66}{#1}}}
%%\newcommand{\textsubscript}[1]{\raisebox{-0.4ex}{\scalebox{0.66}{#1}}}

\begin{document}
...modulation by Ca\textsuperscript{2+}...
...soluted in water H\textsubscript{2}O...\\
\tiny Ca\textsuperscript{2+}
\scriptsize Ca\textsuperscript{2+}
\footnotesize Ca\textsuperscript{2+}
\small Ca\textsuperscript{2+}
\normalsize Ca\textsuperscript{2+}
\large Ca\textsuperscript{2+}
\Large Ca\textsuperscript{2+}
\LARGE Ca\textsuperscript{2+}
\huge Ca\textsuperscript{2+}
\Huge Ca\textsuperscript{2+}
\normalsize

\begin{equation}
\sigma^2 = iI - \frac{I^2}{N}
\end{equation}
\end{document}

进一步阅读缩放图形

对于化学排版(我猜是在钙位上),有一些可用的软件包,例如BP化学或者化学工程,可以很好地处理公式。

相关内容