Изменение размера шрифта в уравнениях изменяет размер надстрочного индекса в тексте (LATeX)

Изменение размера шрифта в уравнениях изменяет размер надстрочного индекса в тексте (LATeX)

Раньше я \DeclareMathSizes{12}{20}{14}{10}делал свои уравнения больше, чем вывод LATeX по умолчанию (насколько я понимаю, параметры означают {font size}{equation regular text size}{equation superscript size}{supersuperscript size}). Однако надстрочные индексы за пределами среды уравнений также стали шрифтом 14pt! Я думал, что эта \DeclareMathSizesкоманда повлияет только на содержимое моих уравнений. Есть ли способ изменить размер надстрочного индекса в математическом режиме, не затрагивая параметры для остального текста?

EDIT: Вот минимальный пример, который воспроизводит мою проблему, обратите внимание, что изменение третьего параметра также влияет на то, что происходит с верхним индексом вне уравнения. Это нормально? Как я могу остановить это?

\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}

дальнейшее чтениеrelsizeиграфикаx.

Для набора текста по химии (я догадался, что по кальциевой части) есть несколько пакетов, напримерbpchemилиmhchem, которые довольно хорошо справляются с формулами.

Связанный контент