答案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
答案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}
以便正确执行此操作。但是不建议这样做。如果您重新定义一些核心命令,您应该非常清楚自己在做什么。