我是新手,在此对发布此文时可能犯的错误表示歉意。如果已经存在类似主题,我也很抱歉,但我找不到任何可以回答这个问题的内容。
我感兴趣的是,您是否可以“强制”LaTeX 将括号垂直居中在整个对象内,而不是第一个元素上。我认为下面的例子给出了更好的解释。
我想写一些类似的东西(我添加了几个额外的指数来突出这个问题):
Note that $a^{b{^{c^{d^e}}}}$ abbreviates
$a^{\left(b^{\left(c^{\left(d^e\right)}\right)}\right)}$
而且我不喜欢括号以第一个字母为中心$b$
而不是括号内的整个对象。
类似的事情也会发生在括号、下标和分数上,它们向上或向下“移动太多”。(即\frac{\frac{\frac{}{}}{}}{}}
)。
我将非常感谢任何帮助,因为这对我来说真的很糟糕,而且我不知道在哪里可以找到解决方案。
答案1
答案2
正如 TeX 专家所建议的,可能没有办法自动完成此操作。但是,我们可以使大括号以预期的大小出现在上标 (a/234931)。结果是合理的。我们可以提升括号来微调结果。下面是一个将提升纳入尺寸调整的示例。
\documentclass{article}
\usepackage{mathtools}
\makeatletter
\def\bBiggRaise@#1#2#3{{\mathpalette{\bBiggRaise@aux{#1}{#2}{#3}}\relax}}
\def\bBiggRaise@aux#1#2#3#4%
{\@mathmeasure\z@{\nulldelimiterspace\z@}%
{#4%
\setlength\dimen@{\dimexpr#1\big@size
\ifx\scriptscriptstyle#4*26/50\fi
\ifx\scriptstyle#4*34/50\fi
\relax}
\left#3\vcenter to\dimen@{}\right.}%
\raise#2\box\z@}
\def\bigpatched{\bBiggRaise@1{0pt}}
\let\bignraise\bBiggRaise@
\makeatother
\begin{document}
$a^{\left(b^{\left(c^{\left(d^e\right)}\right)}\right)}$\quad
$a^{(b^{(c^{(d^e)})})}$\quad
$a^{\bigpatched(
b^{\bigpatched(
c^{(d^e)}
\bigpatched)}
\bigpatched)}$\quad
$a^{\bignraise{1}{.3ex}(
b^{\bignraise{1}{.2ex}(
c^{\bignraise{.83}{.1ex}(
d^e\bignraise{.83}{.1ex})}
\bignraise{1}{.2ex})}
\bignraise{1}{.3ex})}$
\par\vskip.5in
$a^{b^c}$ $a^{(b^c)}$\quad
$a^{b^{\mathstrut^{.^{.^{.^{c}}}}}}$
$a^{\bignraise{1.8}{.9ex}(
b^{\mathstrut^{.^{.^{.^{c}}}}}
\bignraise{1.8}{.9ex})}$
\end{document}
的定义\bBiggRaise@
是
\bBiggRaise@<scale><dimen><delim>
分隔符<delim>
被缩放到<scale>
正常大小的 *1.2,并增加了<dimen>
。要了解详细信息,阅读\big
和 的\bBigg@
原始实现可能会有所帮助数学,以及上述答案中的改编\bBigg@
。省略号的排版方式取自问题的答案q/17648。