宏中的括号大小

宏中的括号大小

我有一个宏,它将其参数排版在一组括号内\left(...\right)。为简单起见,我们假设它是

\newcommand{\func}[1]{ \ensuremath{ f \left( #1 \right) } }

有时,自动确定的括号对我来说太小了。例如,func{\sin(x)}产生

在此处输入图片描述

如果我不使用宏,我知道我可以这样做(例如)

f \bigl( \sin(x) \bigr)

并得到

在此处输入图片描述

使得嵌套的括号在视觉上是不同的。

如何实现在宏中手动调整括号大小的功能?当然,我可以只定义等\funcbig\funcBig但是有没有办法定义具有此行为的单个宏?

答案1

\func这里有一个使用\DeclarePairedDelimiterXPP宏的定义数学工具包。该\func宏的工作原理如下:

  • \func{x}用标准大小的括号括起来x,即相当于f(x)

  • \func*{z}z用自动调整大小的括号括起来

  • \func[\big]{u}u用- 大小的括号括起来\big。除了 之外\big,您还可以将\Big\bigg\Bigg声明为 的可选参数\func

在此处输入图片描述

\documentclass{article} % or some other suitable document class
\usepackage{mathtools} % for '\DeclarePairedDelimiterXPP' macro
\DeclarePairedDelimiterXPP{\func}[1]{f}{(}{)}{}{#1} % see p. 28 of user guide

\begin{document}
\[
\func{x} \quad 
\func*{\dfrac{\frac{a}{c}}{\frac{b}{d}}} \quad
\func[\bigg]{\,\sum_{i=1}^{\infty}\frac{1}{i^2}\!}
\]
\end{document}

相关内容