如何调整上标的垂直位置?

2020-02-15 18:56发布

如图所示,怎么把公式1里的上标`(j)`调整到同一高度(与左侧高度一致)? 在公式2里,我用`xcolor`宏包把下标`i`设置为白色,可以变现实现。 可是,有更好的方法吗? 谢谢大噶,附MWE~ `...

如图所示,怎么把公式1里的上标`(j)`调整到同一高度(与左侧高度一致)? 在公式2里,我用`xcolor`宏包把下标`i`设置为白色,可以变现实现。 可是,有更好的方法吗? 谢谢大噶,附MWE~ ```tex \documentclass[]{article} \usepackage{xcolor} \begin{document} \begin{equation} t^{(j)}_i = t^{(j)} \end{equation} \begin{equation} t^{(j)}_i = t^{(j)}_{\textcolor{white}{i}} \end{equation} \end{document} ``` ![](https://pics.latexstudio.net/data/images/202002/ff5e2cd9c9f2c74.png) 更新 ~ 按第一个回答,用如下代码可以实现 `t^{(j)}_i = t^{ \substack{(j)\\[-0.39ex]~} }`
2条回答
论坛 github.com/C
2020-02-17 20:34
一种方法是,写一个「空的下标」,不输出内容、仅使用它纵向的尺寸(高度和深度)。 ```tex \[ t_i^j = t_{\vphantom{i}}^j \] ``` 如果下标内容变得更高(例如 `k`,例如 `i^i`),`\vphantom` 的参数也要随之变化。 个人建议,尽一切可能避免使用具体数字,它们或者依赖具体输入内容(的字符尺寸),或者依赖字体字号。 ------ 更多信息 公式中, \# 上标偏移高度(上标文字基线相对于正常文字基线上移的高度)有个默认值,这就是 `t^j`的效果。 \# 如果下标太高了,为了避免重叠,上标会随之上移,这就是 `t_i^j` 的效果。 上述提到的「上标偏移高度的默认值」,是由字体定义的(传统是通过 tfm 文件)。在 tex 文档里,我们也可以修改它 ```tex \documentclass{article} \makeatletter \newcommand{\showFontdimen}{ \check@mathfonts \noindent minimum shift up, from the main baseline, of the baseline of a superscript, \par - for display style: \the\fontdimen13\textfont2 \par - other style and non-cramped: \the\fontdimen14\textfont2 \par - other style and cramped: \the\fontdimen15\textfont2 \setbox0=\hbox{$\scriptstyle j$} \textbf{inline} $t_i^j = t^j$ text $t_i\raise\the\fontdimen14\textfont2\copy0$ \begin{equation} \mbox{\bfseries display } t_i^j = t^j \quad t_i\raise\the\fontdimen13\textfont2\copy0 \end{equation} } \makeatother \begin{document} \showFontdimen \fontdimen13\textfont2=1.5em \fontdimen14\textfont2=1em \showFontdimen \end{document} ``` ![](https://pics.latexstudio.net/data/images/202002/3a053887a612258.png) 例子里为了突出效果,分别修改为了 1.5em 和 1em。可以根据实际需要进行修改。 \# 参考 `texdoc texbytopic`, `\fontdimen` 相关内容 \# 对 `\fontdimen` 第一个参数的解释 https://tex.stackexchange.com/a/88993 \# 如果要在导言区全局修改,参考 https://tex.stackexchange.com/a/96063

一周热门 更多>