我想为以下表达式中的红色部分定义一个命令:
由以下代码生成:
f(x/y) \qquad f\big( g(x)\big/y\big) \qquad f\Big(h\big(g(x)\big)\Big/y\Big) \qquad f\bigg(s\Big(h\big(g(x)\big)\Big)\bigg/y\bigg)
因此我希望左括号和右括号以及分隔斜线具有相同的大小。此外,它应该比要计算的表达式 ((x,y)、(g(x),y) 等) 大一个“大小”,即,如果要计算的表达式包含,\big
则红色括号应该是\Big
、\Big
->\bigg
等...
我尝试了这样的事情:
\newcommand{\tripara}[2]{f\left(#1\left/#2\right)\right.}
但这不起作用,原因有二:首先,红色括号的大小\tripara{h\big(g(x)\big)}{y}
不是\Big
but \big
(与要评估的表达式的最大大小相同);其次,它们三个的大小并不相同(外部括号和斜线):
答案1
使用\left
,\right
这里专门献给@egreg。
我不确定我是否会这样做,但您可以使用\middle
斜线并确保\left
\right
始终增加嵌套分隔符的大小:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
$
f(x/y) \qquad
f\bigl( g(x)\big/y\bigr) \qquad
f\Bigl(h\bigl(g(x)\bigr)\Big/y\Bigr) \qquad
f\biggl(s\Bigl(h\bigl(g(x)\bigr)\Bigr)\bigg/y\biggr)
$
\def\zz#1#2{\text{\delimitershortfall=0pt
\delimiterfactor=1001 $f\left(#1\middle/#2\right)$}}
$
\zz{x}{y} \qquad
\zz{g(x)}{y} \qquad
\zz{h\left(g(x)\right)}{y} \qquad
\zz{s\left(h\left(g(x)\right)\right)}{y}
$
\end{document}