删除带指数的方程内的垂直空间

删除带指数的方程内的垂直空间

我正在编写一些包含指数的方程式。如果该指数项包含括号或斜线,LaTeX 会突然在方程式内部的上方和下方注入额外的空间。如果没有括号或斜线,它会正常运行。它也可以正确处理下标。

\documentclass{article}
\usepackage[fleqn]{amsmath}
\begin{document}
\begin{equation} L_A=10\log \left[ 10^{(B/10)}-10^{(C/10)} \right] \end{equation} %1: exponent with paren/slash
\begin{equation} L_A=10\log \left[ 10_{(B/10)}-10_{(C/10)} \right] \end{equation} %2: subscript with paren/slash
\begin{equation} L_A=10\log \left[ 10^{B}-10^{C} \right] \end{equation} %3: exponent without paren/slash
\end{document}

输出

公式 3 的行为符合我的预期 - 公式周围的括号垂直紧密。公式 2 表明它也能正确使用下标。公式 1 则不同 - 括号高度明显增加。

如何删除这些空格?

答案1

你不加区分地使用(和滥用!)\left\right不仅会造成一个问题,而且事实上,两个问题。第一个是您注意到的尺寸问题。第二个是,在方括号前(以及方括号后)插入空格,这在排版上是不恰当的。在精细的数学排版中,\log方括号、圆括号或花括号之间不应有任何额外的空格。使用\left[代替会\bigl[迫使 TeX 产生这个问题。

使用\left\right不是正如您(重新)发现的那样,这是一种万能药。如果您绝对无法摆脱这个习惯,您可能至少想要切换到使用包提供的\mleft和宏。要自动对整个文档执行此操作而无需学习用和用替换,只需在加载包后执行即可。这将使您避免犯一种印刷错误。\mrightmleftright\left\mleft\right\mright\mleftrightmleftright

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}     % for align* environment
\usepackage{mleftright}  % for \mleft and \mright macros
\begin{document}
\begin{align*}
L_A&=10\log \bigl[ 10^{(B/10)}-10^{(C/10)} \bigr]  
     \quad\text{\texttt{\string\bigl} and \texttt{\string\bigr}} \\
   &=10\log \mleft[ 10^{(B/10)}-10^{(C/10)} \mright]
     \quad\text{\texttt{\string\mleft} and \texttt{\string\mright}} \\      
   &=10\log \left[ 10^{(B/10)}-10^{(C/10)} \right]
     \quad\text{\texttt{\string\left} and \texttt{\string\right}} 
\end{align*}
\end{document}

答案2

\left这演示了将和的内容居中的效果\right

\documentclass{article}
\usepackage{amsmath}

\newlength{\offset}
\setlength{\offset}{\dimexpr 0.5\ht\strutbox-0.5\dp\strutbox}

\begin{document}
\begin{align*}
  \left( \rule{1em}{1cm} \right) &&
  \raisebox{\dimexpr 0.5cm-\offset}{$\displaystyle \left( \rule[\dimexpr \offset-0.5cm]{1em}{1cm} \right)$}
\end{align*}
\end{document}

演示

相关内容