是否存在适用于所有上下文和参数的括号代码?

是否存在适用于所有上下文和参数的括号代码?

这个问题是关于如果人们事先不知道括号的内容大小,那么是否有最通用的括号代码。

如果我想写一个函数或括号方程,我会写,例如,$f(...)$

如果我想使用相同的代码,而不管括号的内容是什么,...人们往往会发现\left(...\right)如果内容很大,看起来会更好。

但是间距不正确,即使内容很小也是如此。例如,在f(x)视觉上与 并不等同f\left(x\right)。因此,为了弥补这种情况,我将其写为f\!\left(...\right)

我最近发现这在很多情况下都有效,但在上标中却不行。例如\[ e^{i\arg\!\left(z\right)} \],产生了一个间距很差的公式:

间距不好

是否存在一种无论内容和上下文如何都能或多或少发挥作用的括号代码?

它看起来\!非常接近解决方案,所以最好不要使用额外的包。(仍然欢迎对包的引用)。


编辑: 从下面 @Manuel 的回答来看,最优雅的解决方案似乎是使用包mleftright并保留所有\left(,命令。如果不想包含包,\right)也可以使用它。\mathopen{}\mathclose{\left(...\right)}

下面是一个示例,显示所有解决方案都提供一致的输出:

\documentclass[]{article}
\begin{document}

\[ i \arg(z) \]
\[ i \arg\left(z\right) \]
\[ e^{i \arg\!\left(z\right)} \]
\[ e^{i \arg\mathopen{}\mathclose{\left( z\right)}} \]
\[ i \arg\mathopen{}\mathclose{\left( z\right)} \]
\[ i \arg\mathopen{}\mathclose{\left(\frac{z}{y}\right)} \]

\end{document}

间距

\documentclass[]{article}
\usepackage{mathtools,mleftright}
\mleftright
\begin{document}

\[ i \arg(z) \]
\[ i \arg\left(z\right) \]
\[ e^{i \arg\!\left(z\right)} \]
\[ e^{i \arg\mathopen{}\mathclose{\left( z\right)}} \]
\[ i \arg\mathopen{}\mathclose{\left( z\right)} \]
\[ i \arg\mathopen{}\mathclose{\left(\frac{z}{y}\right)} \]

\end{document}

间距mleftright

答案1

\documentclass{scrartcl}

\usepackage{mathtools,mleftright}
\mleftright % Or comment this line and use \mleft and \mright instead

\begin{document}
$f\left(x\right)$
$\arg\left(z\right)$
$e^{i\arg\left(z\right)}$ 
\end{document}

相关内容