我正在尝试排版函数 $f$ 的值,其中 $x = \frac{y}{2}$(或其他需要更多垂直空间的值)。为了获得正确大小的括号,我尝试了:
f\left(\frac{y}{2}\right)
这导致间距不好。例如,
\documentclass{article}
\begin{document}
\noindent
$f\left(\frac{y}{2}\right)$
$f(x)$
\end{document}
给出:
那么正确的排版方法是什么?
答案1
前面的一个评论:自动调整大小的括号并不总是具有印刷正确的大小。
例如,
\[ \left( \sum_{i=1}^N f_i \right) \]
生成的括号太大,因为它们还包围了求和的极限。写成 会更好
\[ \biggl( \sum_{i=1}^N f_i \biggr) \]
,即手动设置括号的大小。再举一个例子:打字的目的
$f\left(a+b(x)\right)$
大概是让外括号排版得比内括号大一点。然而,这失败了,因为左/右括号所包围的内容并不“大”。因此,外括号不会比内括号大。在这种情况下,再次需要使用显式(手动)大小指令:$f\bigl(a+b(x)\bigr)$
。
这就是说,大多数时候左/右对生成的垂直尺寸在印刷上确实是正确的。但是,正如您所发现的,\left
和\right
指令插入了一些空格,而这些空格也不一定是正确的。
至少有两种补救措施\mleft
:\mright
左右包和\genfrac
宏数学包。其操作如下表所示。
\mleft
人们注意到和产生的间距\mright
几乎与选择手动调整栅栏大小的间距相同(\big
在 textstyle-math 的情况下,\Big
在 displaystyle-math 的情况下)。相比之下,由 生成的间距
\genfrac
要小得多;您可能(也可能不喜欢……)喜欢这种外观。请注意,由 生成的括号的垂直高度\genfrac
似乎比最低要求的要大一些。但是,这种结果可能特定于表达式中包含的符号。
\mleft/\mright
总之,我认为如果您使用该方法排版分数项周围的自动大小括号,您不会出错。为了节省您输入这些表达式的时间,请考虑创建和使用宏,例如\newcommand{\pfrac}[2]{\mleft(\frac{#1}{#2}\mright)}
。
\documentclass{article}
\usepackage{amsmath,mleftright,array}
\newcommand{\tbs}{\textbackslash} % a shorthand macro...
\renewcommand{\arraystretch}{2}
\newcommand{\pfrac}[2]{\mleft(\frac{#1}{#2}\mright)}
\newcommand{\gfrac}[2]{\genfrac{(}{)}{}{}{#1}{#2}}
\begin{document}
\begin{tabular}{>{\ttfamily}l
>{$\textstyle}l<{$}
>{$\displaystyle}l<{$}}
Method & \text{textstyle} & \text{displaystyle}\\[0.5ex]
\tbs left, \tbs right
& f\left(\frac{y}{2}\right)g(z) & f\left(\frac{y}{2}\right)g(z)\\
\tbs mleft, \tbs mright
& f\pfrac{y}{2}g(z) & f\pfrac{y}{2}g(z)\\
\tbs [bB]igl, \tbs [bB]igr
& f\bigl(\frac{y}{2}\bigr)g(z) & f\Bigl(\frac{y}{2}\Bigr)g(z)\\
\tbs genfrac
& f\gfrac{y}{2}g(z) & f\gfrac{y}{2}g(z)\\
\end{tabular}
\end{document}