嵌套数学函数

嵌套数学函数

这个问题困扰了我一段时间。我想写一个嵌套函数f(g(x))。如果我天真地输入它:

\begin{align}
    f(g(x))=y
\end{align}

朴素排版

问题是每个括号的大小都与其他括号相同。外括号不应该更大吗?但是如果我这样做:

\begin{align}
    f\left(g(x)\right)=y
\end{align}

在此处输入图片描述

现在看起来函数嵌套得更不明显了。正确的做法是什么?

答案1

有放大的分组符号可用,如、、\big和。后面的或表示左或右(这有助于分配适当的环绕间距),然后跟上分组符号本身。\Big\bigg\Bigglr

显然,\displaystyle我的 MWE 中的例子 [p(q(f(g(h(x)))))] 是为了夸大其词。我实际上并不是建议针对给定的情况使用它(请参阅答案补充了解替代方案)。

\documentclass{article}
\begin{document}
$f\bigl(g(x)\bigr)$ 
\[
p\Biggl(q\biggl(f\Bigl(g\bigl(h(x)\bigr)\Bigr)\biggr)\Biggr)
\]
\end{document}

在此处输入图片描述


在评论中,Gonzalo 建议使用mathtools包来声明分隔符对,在他的 MWE 中,他将其称为\Comp。然后,使用\Comp[<size>]{...}将在包含的数量周围放置指定大小的分隔符。

\documentclass{article} 
\usepackage{mathtools} 
\DeclarePairedDelimiter\Comp{(}{)} 
\begin{document} 
$f\Comp[\big]{g(x)}$ 
\[ 
p\Comp[\Bigg]{ q\Comp[\bigg]{ f\Comp[\Big]{g\Comp[\big]{h(x} } } } 
\] 
\end{document}

补充:

如果确实需要更精细地缩放相邻分隔符,scalerel那么可以使用我的包。在这里,我在每个“单位”的上方和下方添加 0.4pt 高度来控制下一个分隔符的大小。

\documentclass{article} 
\usepackage{scalerel,stackengine}
\stackMath
\ignoremathstyle
\newcommand\Comp[1]{\scaleleftright{(}{\addstackgap[.4pt]{#1}}{)}}
\begin{document} 
$f\Comp{g(x)}$ 
\[ 
p\Comp{ q\Comp{ f\Comp{g\Comp{h(x)} } } } 
\] 
\end{document}

在此处输入图片描述

相关内容