如何更改 nicematrix 中节点的内部分离

如何更改 nicematrix 中节点的内部分离

在此示例中,我想创建一个带有 env 的函数变体表NiceArray。剩下的问题是箭头的末端接近节点处的 0 值(2-2)(2-4)因此我需要更改inner sep这两个节点的值

\documentclass{article}
\usepackage{tikz}
\usepackage{nicematrix}

\NiceMatrixOptions{cell-space-limits = 5pt}

\begin{document}

$$\begin{NiceArray}[t]{|wc{1cm}|c!{\qquad}c!{\qquad}c|}
\hline
 x  & -\infty & 0 & +\infty \\
\hline
     & 0 &    & 0 \\
f(x) &   &    &   \\
     &   & -2 &   \\
\hline
\CodeAfter 
%\ShowCellNames
\begin{tikzpicture}[>=latex]
\draw[->](2-2) -- (4-3);
\draw[->](4-3) -- (2-4);
\end{tikzpicture}
\end{NiceArray}$$

\end{document}

答案1

这些节点是用inner sep = 0 pt硬编码构建的nicematrix

如果需要,您可以更改的初始值(见下文)。但是,最佳做法可能是按如下方式outer sep使用 Tikz 的键shorten >和。shorten <

\documentclass{article}
\usepackage{tikz}
\usepackage{nicematrix}

\NiceMatrixOptions{cell-space-limits = 5pt}

\begin{document}

\[\begin{NiceArray}[t]{|wc{1cm}|c!{\qquad}c!{\qquad}c|}
\hline
 x  & -\infty & 0 & +\infty \\
\hline
     & 0 &    & 0 \\
f(x) &   &    &   \\
     &   & -2 &   \\
\hline
\CodeAfter 
\begin{tikzpicture}[>=latex]
\draw[shorten < = 1mm, ->](2-2) -- (4-3);
\draw[shorten < = 1mm, shorten > = 1mm, ->](4-3) -- (2-4);
\end{tikzpicture}
\end{NiceArray}\]

与往常一样nicematrix,您需要进行多次编译。

第一个代码的输出


如果您确实想更改outer sep图片中构建的所有节点(隐式或显式)的值,您可以执行以下操作:

\documentclass{article}
\usepackage{tikz}
\usepackage{nicematrix}

\NiceMatrixOptions{cell-space-limits = 5pt}

\begin{document}

\[\tikzset{outer sep = 3mm}
\begin{NiceArray}[t]{|wc{1cm}|c!{\qquad}c!{\qquad}c|}
\hline
 x  & -\infty & 0 & +\infty \\
\hline
     & 0 &    & 0 \\
f(x) &   &    &   \\
     &   & -2 &   \\
\hline
\CodeAfter 
\begin{tikzpicture}[>=latex]
\draw[->](2-2) -- (4-3);
\draw[->](4-3) -- (2-4);
\end{tikzpicture}
\end{NiceArray}\]

\end{document}

上面第二个的输出

相关内容