nicematrix codeafter / tikz 无法正常工作

nicematrix codeafter / tikz 无法正常工作

考虑一下我的母亲:

\documentclass[10pt, a4paper]{article}

\usepackage{nicematrix}
\usepackage{tikz}

\begin{document}
    $\begin{pNiceMatrix}
        1 & 2 & 3 & 4 \\
        5 & 6 & 7 & 8 \\
        9 & 0 & 1 & 2 \\
    \end{pNiceMatrix}
    %
    \begin{pNiceMatrix}
        1 & 2 & 3 \\
        4 & 5 & 6 \\
        7 & 8 & 9
        \CodeAfter
        \tikz \draw (2-2) circle (2mm) ;
    \end{pNiceMatrix}$
\end{document}

这正是手册/文档中的示例,但遗憾的是它不起作用。(错误:

! Undefined control sequence.
l.17         \CodeAfter

)我已经尝试使用 进行编译pdflatexlualatex并且xelatex

有谁知道为什么这不起作用?

(最后我希望它处于正常的数学环境中,我只是采用了内联模式,因为这离原始示例更近了一步)

编辑:当外包 tikz 部分时,它可以工作(但特别是对于宏/环境编写,这有点不方便)

答案1

您无法\CodeAfter在 3.6 版中使用nicematrix。它已在 3.15 版中引入。

但是,这个关键字只是一种替代语法,用于指定在 的文档中\CodeAfter所谓的。您可以使用键(自 2.1 版起可用)来实现您的目标。code-afternicematrixcode-after

\documentclass[10pt, a4paper]{article}
\usepackage{nicematrix}
\usepackage{tikz}
\begin{document}
    $\begin{pNiceMatrix}
        1 & 2 & 3 & 4 \\
        5 & 6 & 7 & 8 \\
        9 & 0 & 1 & 2 \\
    \end{pNiceMatrix}
    %
    \begin{pNiceMatrix}[code-after = \tikz \draw (2-2) circle (2mm) ;]
        1 & 2 & 3 \\
        4 & 5 & 6 \\
        7 & 8 & 9
    \end{pNiceMatrix}$
\end{document}

上述代码的结果

如果您决定更新nicematrix到最新版本(4.1),您还必须更新整个 TeX 安装,因为该版本使用了最新版本的功能expl3(现在是 LaTeX 内核的一部分)。

相关内容