我正在编写一些包含指数的方程式。如果该指数项包含括号或斜线,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
和宏。要自动对整个文档执行此操作而无需学习用和用替换,只需在加载包后执行即可。这将使您避免犯一种印刷错误。\mright
mleftright
\left
\mleft
\right
\mright
\mleftright
mleftright
\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}