Nicematrix 过度支撑和不足支撑与周围文本发生冲突

Nicematrix 过度支撑和不足支撑与周围文本发生冲突

我很惊讶在这里没有找到任何关于这个主题的内容。在下面的文档中,即使经过多次编译,括号中的内容仍然与上面的文本冲突:

\documentclass{article}
\usepackage{mathtools,array,nicematrix}
\begin{document}
    A A A A A A A A A A A A A A A A A A A A A A A A A A A 
    \[
        \begin{pNiceMatrix}
        1 & 2 & 3 & 4 & 5 & 6 \\
        11 & 12 & 13 & 14 & 15 & 16 \\
        \CodeAfter
        \OverBrace{1-1}{2-3}{A\rule{1em}{7ex}}
        \OverBrace{1-4}{2-6}{B}
        \end{pNiceMatrix}
    \]
\end{document}

在此处输入图片描述

有没有可能自动解决这个问题,而无需手动rule插入vspace

答案1

这是一个相当复杂的解决方法。tikz使用库decorations.pathreplacing和加载calligraphy。然后将括号 using\Hdotsfor{<num columns>}放在第 1 行(选项first-row),但将line-styleusing更改为calligraphic brace

在此处输入图片描述

\documentclass{article}
\usepackage{nicematrix, mathtools, tikz}
\usetikzlibrary{decorations.pathreplacing, calligraphy}
\tikzset{mybrace/.style={thick, decorate, decoration={calligraphic brace, amplitude=1.5mm, raise=-1mm}}}

\begin{document}
    A A A A A A A A A A A A A A A A A A A A A A A A A A A 
    \[
        \begin{pNiceMatrix}[first-row]
        \Hdotsfor{3}[line-style=mybrace, shorten=0pt]^{\textstyle A}&\Hdotsfor{3}[line-style={mybrace},shorten=0pt]^{\textstyle B}\\
        1 & 2 & 3 & 4 & 5 & 6 \\
        11 & 12 & 13 & 14 & 15 & 16
        \end{pNiceMatrix}
    \]
\end{document}

答案2

该包从不为和nicematrix构造的元素保留空间。\OverBraceUnderBrace

这里有一个构造,可以确保文本和公式之间的垂直空间与标准 LaTeX 所预期的相同(括号构造在重叠的位置,但标签不是,标签位于“第一行”)。

\documentclass{article}
\usepackage{mathtools,nicematrix}
\begin{document}
    A A A A A A A A A A A A A A A A A A A A A A A A A A A 
    \[
        \begin{pNiceMatrix}[first-row]
        \rule[-8pt]{0pt}{8pt}
        \Block{1-3}{A} & & & \Block{1-3}{B} \\
        1 & 2 & 3 & 4 & 5 & 6 \\
        11 & 12 & 13 & 14 & 15 & 16 \\
        \CodeAfter
        \OverBrace[shorten,yshift=3pt]{1-1}{2-3}{}
        \OverBrace[shorten,yshift=3pt]{1-4}{2-6}{}
        \end{pNiceMatrix}
    \]
\end{document}

上述代码的输出

相关内容