下括号周围的括号太大

下括号周围的括号太大

我遇到的问题是,我想要一个带有 的等式underbrace,但周围的括号不应包括underbrace,即应该具有大小,就好像 不underbrace存在一样。这是我使用的代码:

\documentclass{article}
\usepackage{amsmath}
\begin{document}    
$\exp \left(\gamma \underbrace{\begin{pmatrix} 1 & 2\\ 3 & 4 \end{pmatrix}}_\text{some text} \right)$
\end{document}

我希望外括号的大小和中心与 的括号相同pmatrix。我试过了\Bigg(,但看起来有点不对劲,而且它只适用于 2x2 矩阵,不适用于 3x3。有什么想法吗?

答案1

对于 2×2 矩阵来说,这是过度的,但它也适用于更大的矩阵,即使对于big没有括号版本的矩阵也是如此。

\documentclass{article}
\usepackage{amsmath}
\begin{document}
$\exp \left( {\vphantom{\begin{pmatrix} 1\\ 3 \end{pmatrix}}} \right. \!\!
\gamma \underbrace{\!\! \begin{pmatrix} 1 & 2\\
 3 & 4 \end{pmatrix} \!\!}_\text{some text} \!\!
\left. {\vphantom{\begin{pmatrix} 1\\ 3 \end{pmatrix}}} \right)$
\end{document}

观察如何使用\!来摆脱一些不需要的水平空间。

示例代码的输出

答案2

也许我不应该发布这个,但我正在审阅大量涉及大型矩阵的论文,我无法忍受内联矩阵。如果需要,请使用环境smallmatrix或将矩阵指数声明为$e^{\gamma A}$并将A矩阵作为显示数学。

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools} %<- Builds on top of amsmath and fixes/improves some stuff
\begin{document}    
The sentences start like this then slowly they get longer and longer and then sentence
becomes like this 
$e^{\gamma\!\! 
\underbracket[0.4pt][1pt]{
\begin{psmallmatrix} 1 & 2\\ 3 & 4 \end{psmallmatrix}
}_{\text{\tiny some text}} }$ 
and maybe after that something like 
\raisebox{0.5ex}{%
$\exp{(\gamma\!\! \underbracket[0.4pt][1pt]{
\begin{psmallmatrix} 1 & 2\\ 3 & 4 \end{psmallmatrix}}_{\text{\tiny some text}} )}
$
}
then continues with more stuff that starts another line which still looks terrible.
However this one 
\[
e^{\left(\gamma\!\! \underbracket[0.4pt][1pt]{
\begin{psmallmatrix} 1 & 2\\ 3 & 4 \end{psmallmatrix}
}_{\text{\tiny some text}} \right)} = 
\exp{(\gamma\!\! \underbracket[0.4pt][1pt]{
\begin{psmallmatrix} 1 & 2\\ 3 & 4 \end{psmallmatrix}
}_{\text{\tiny some text}} )}
\]
has no such problems. But still none of them works properly
in my opinion. The best is to go with $e^{\gamma A}$ where 
\[
A =\begin{pmatrix}
     1&2\\3&4
\end{pmatrix}
\]
\end{document}

答案3

如果您只需要一次,我会进行手动调整:

\documentclass{article}
\usepackage{amsmath}
\begin{document}    
$\exp
\mkern30mu
\underbrace{
\mkern-30mu
\left(
\gamma
\begin{pmatrix} 1 & 2\\ 3 & 4 \end{pmatrix}
\right)
\mkern-18mu
}_\text{some text}
\mkern18mu
$
\end{document}

我把 放在\underbrace外面,用\mkern正值和负值让它认为内容较小。30mu和的值18mu是通过反复试验找到的。

答案4

再次,矫枉过正;但无论如何,这里有一个似乎有效的 tikz 解决方案。

在此处输入图片描述

与其他地方一样,这里的主要困难是让下括号及其文本计入垂直间距,但直到设置外括号之后才算。我最初想到的 tikz 解决方案是在数学运算中间使用 tikz 节点保存位置,然后在保存的位置使用下括号返回。这种方法的问题在于,引用其他 tikz 图片位置的 tikz 构造应该被赋予选项overlay,这实际上会破坏构造对垂直间距的任何影响(并使下一行太高)。

我解决这个问题的方法是将整个表达式放在 tikz 图片中的一个节点中。因此,我实际上在 tikz 图片中的 tikz 节点中有一个 tikz 节点,而 tikz 图片中的 tikz 节点又有一个 tikz 节点。我不确定这种行为是否受支持,但对于这种特定的构造,它似乎或多或少是可行的。

\documentclass{article}
\usepackage{amsmath,tikz}
\usetikzlibrary{decorations.pathreplacing}
\usetikzlibrary{calc}
\newcommand{\currentmatrix}{}
\newcommand{\tikznode}[2][$\currentmatrix$]{\tikz[overlay]\node (#2) {\vphantom{#1}};}

\begin{document}
\renewcommand{\currentmatrix}{\begin{pmatrix} 1 & 2\\ 3 & 4 \end{pmatrix}}
\begin{align*}
\tikz[remember picture,baseline=(left.east),inner xsep=0pt]{
    \node {$\exp \left(\gamma \tikznode{left}
        \begin{pmatrix} 1 & 2\\ 3 & 4 \end{pmatrix}\tikznode{right} 
        \right)$};
    \draw[overlay,decorate,decoration={brace,amplitude=3pt}]
        ($(right.south west) + (0,4pt)$) -- 
        coordinate(texthere) ($(left.south east)+(0,4pt)$); 
    \path (texthere) node[below] {$\scriptstyle\text{some text}$};
} &= e^{\gamma A} \\
&= \exp(\gamma A)
\end{align*}

\end{document}

相关内容