Неравномерная высота при использовании верхнего индекса в frac

Неравномерная высота при использовании верхнего индекса в frac

Я хотел уточнить некоторые из своих уравнений, когда столкнулся с этим

без подглубины

Обратите внимание, как хорошо вписывается верхний индекс в оператор производной и не опускает символы в знаменателе, в то время как \sin^2\varthetaлежит ниже каждого второго члена. Я думал, что это из-за определения оператора, \sinно замена его на \mathrm{sin}все еще дает тот же результат.

Поскольку этот термин появляется в ряду всех подобных терминов, он заметно выделяется.

То, что я получил на данный момент, это промежуточное решение с subdepthпакетом, который производит

введите описание изображения здесь

где хотя бы один термин находится на одной строке. Я был бы благодарен за любое креативное решение, чтобы справиться с этим :)

решение1

Проблема в «i», где выносной элемент задает общую высоту ядра в \sin^2.

Вы можете исправить это, разбив «i»; однако, это создаст проблемы, если вы это сделаете \overline{\sin x}; решение — добавить еще один фантом перед реальным оператором. Я добавляю \mathopатом, содержащий фантом для настоящего имени, за которым следует , \!поэтому тонкий пробел, который TeX вставляет между двумя последовательными \mathopатомами, удаляется.

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\newcommand{\sinname}{sin}% change here

\newcommand{\sin@name}{%
  \smash{\operator@font\sinname}\vphantom{s}%
}
\DeclareRobustCommand{\sin}{%
  \mathop{\vphantom{\operator@font\sinname}}\!%
  \qopname\relax o{\sin@name}%
}
\makeatother

\begin{document}
\begin{gather*}
\frac{1}{\sin\theta}+\frac{1}{\sin\alpha}\ne
  \frac{1}{\sin^2\theta}+\frac{1}{\sin^2\alpha}
\\
\frac{1}{\sin\theta}\frac{\partial}{\partial\theta}\ne
\frac{1}{\sin^2\theta}\frac{\partial^2}{\partial\theta^2}
\\
\sqrt{\sin\alpha}+\sqrt{\cos\alpha}
\\
\frac{1}{\sqrt{\sin\alpha}}+\frac{1}{\sqrt{\cos\alpha}}
\\
\overline{\sin\alpha}
\end{gather*}
\end{document}

введите описание изображения здесь

Ничто не идеально в этом мире! Вы можете видеть, что в третьей строке знак квадратного корня находится на разной высоте. Возможным решением этой проблемы было бы переопределение \cosна ту же высоту, что и \sin:

\DeclareRobustCommand{\cos}{%
  \mathop{\vphantom{\operator@font\sinname}}\!%
  \qopname\relax o{cos}%
}

Поскольку в некоторых типографских традициях для этого используется другой тег \sin(например, «sen»), я предоставляю его только потому, что в изменении имени \sinnameнет необходимости .\cos

При таком определении верхняя черта будет находиться на одном уровне для \sinи \cos, что может быть желательным или нежелательным.

решение2

Очевидно (;-) ответ @egreg великолепен и попадает прямо в точку, но у него есть бесконечно малый недостаток: извращенец, который попытается, $\overline{\sin x}$получит сюрприз. Более того, можно утверждать, что размещение знака радикала $\sqrt{\sin x}$неоптимально.

Размещение верхних индексов в математических формулах является очень низкоуровневой функцией TeX, которая описана, наряду со многими другими «интимными» подробностями набора математических текстов, в Приложении G кTeXbook, к которому вы отсылаетесь для объяснения следующего решения.

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage{amsmath}

% egreg's recipe:
\makeatletter
\DeclareRobustCommand{\sinname}{%
  \smash{\operator@font sin}\vphantom{s}%
}
% ... but let us use a different name for the operator:
\newcommand{\ssin}{\qopname\relax o{\sinname}}
\makeatother

% Our recipe:
\setbox0 = \hbox{$$} % load math fonts
\fontdimen18\scriptfont2 = 3.78970pt % turns out to be just enough

\begin{document}

The downside in egreg's answer:
\[\sqrt{\sin x}+\sqrt{\ssin x} + \overline{\sin x}+\overline{\ssin x}\]
That's not fine.

But, with our correction, the exponent of the ``usual'' \verb|\sin| will not be 
rised that much:
\[ \frac{1}{\cos^{2}x} + \frac{1}{\sin^{2}x} + \frac{1}{x^{2}} \]
For an explanation, see \textsl{The \TeX book}, Appendix~G, Rule~18a; the
relevant passage is ``set \( u\gets h-q \)\,\ldots\ where $q$\,\ldots\ [is] the
[value] of~$\sigma_{18}$\,\ldots\ in the font corresponding to
[style]~$C{\uparrow}$''.  What we are doing is to increase~$q$.  The amended
value of~$u$ will be subsequently used in Rule~18c to position the superscript.

\end{document}

Вот что получилось:

Вывод кода

Давайте также увеличим важную часть:

Подробности вышеизложенного

Конечно, это решение также может иметь недостатки: подобное изменение параметра, работающего на столь низком уровне TeX, может вызвать побочные эффекты, которые не очевидны на первый взгляд.

решение3

Вы можете настроить количество места, оставленного для знаменателей, используя шрифт размером 11,

введите описание изображения здесь

\documentclass{article}
\sbox0{$1$}


\fontdimen11\textfont2=8pt

\begin{document}

\[
\frac{1}{\sin\vartheta}
\frac{1}{\sin^{2}\vartheta}
\]

\end{document}

решение4

Я не знаю этот \sin^2синтаксис и поэтому никогда не сталкивался с этой проблемой раньше. Возможно, вам захочется изменить его на что-то более распространенное, как в моем MWE ниже. Другая проблема устраняется в то же время, поскольку вам не нужно компенсировать преувеличенный верхний индекс из этого синусного термина.

% arara: pdflatex

\documentclass{article}
\usepackage{mathtools}

\begin{document}
\[
    \frac{1}{\sin\vartheta}\frac{\partial}{\partial\vartheta} \text{ vs. }\frac{1}{\sin(\vartheta)^2}\frac{\partial}{\partial\vartheta^2}
\]
\end{document}

введите описание изображения здесь


Если вы хотите придерживаться этого синтаксиса, вам придется добавить распорку к самому левому терму. Это будет имитировать верхний индекс с правой стороны и все будет хорошо выровнено (вам все subdepthеще понадобится исправление).

\frac{1}{\sin^{\vphantom{2}}\vartheta}

@egreg только что сказал мне, что можно \sinпереопределить

\def\sin{\mathop{\smash{\mathrm{sin}}\vphantom{s}}\nolimits}

чтобы сделать это правильно. Однако делать так не рекомендуется. Вы должны очень хорошо знать, что вы делаете, если вы переопределяете некоторые основные команды.

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