我怎样才能nicematrix
将最后一列注释放入\footnotsize
其中\ttfamily
?
注意:我通常在这里使用符号+, -, ·
和罗马数字 ( I, II, III,...
)。
因此,这里没有必要保留数学模式。
因此可能的结果可能是这样的:
我的 MWE:
\documentclass{article}
\usepackage{amsmath}
\usepackage{nicematrix}
\usepackage{tikz}
\begin{document}
$\begin{bNiceArray}{c c c | c}[
last-col,
%code-for-last-col = ???,
]
1 & -2 & 3 & 5 & \\
0 & 3 & 2 & 2 & II + 2\mathord{\cdot} I - III \\
0 & 1 & 1 & 3 &
\end{bNiceArray}$
\end{document}
顺便说一句:我想在这里\lgroup
使用\rgroup
括号(而不是括号“[ ]”);我NiceArrayWithDelims
从手册中了解到这一点;但我第一次尝试其他东西时,它并不喜欢。有没有一种简单的方法可以在这里使用组括号?
答案1
更新
最新版本(v. 6.16) 提供了将分隔符和(通过和)nicematrix
直接放入环境前言中的功能,例如。\lgroup
\rgroup
\left\lbroup
\right\rgroup
{NiceArray}
使用新版本,您可以编写:
\documentclass{article}
\usepackage{nicematrix}
\usepackage{amsmath}
\begin{document}
\newcolumntype{L}{>{$\ttfamily\footnotesize}l<{$}}
$\begin{NiceArray}{\left\lgroup ccc|c\right\rgroup L}
1 & -2 & 3 & 5 & \\
0 & 3 & 2 & 2 & II + 2I - III \\
0 & 1 & 1 & 3 & \\
0 & 1 & 1 & 5 &
\end{NiceArray}$
\end{document}
nicematrix
抱歉,但当前版本(6.15)无法做到这一点。
如果您愿意,这里有一个解决方法。我不使用键last-col
,但我在数组的前言中明确添加了列,并将括号放在前言中。
\documentclass{article}
\usepackage{nicematrix}
\usepackage{amsmath}
\begin{document}
\newcolumntype{L}{>{$\ttfamily\footnotesize}l<{$}}
$\begin{NiceArray}{(ccc|c)L}
1 & -2 & 3 & 5 & \\
0 & 3 & 2 & 2 & II + 2I - III \\
0 & 1 & 1 & 3 & \\
0 & 1 & 1 & 5 &
\end{NiceArray}$
\end{document}
不可能在序言中放入分隔符\lgroup
,\rgroup
但是这里有一个技巧,就是通过先前放入\{
并重新定义...\}
\documentclass{article}
\usepackage{nicematrix}
\usepackage{amsmath}
\begin{document}
\newcolumntype{L}{>{$\ttfamily\footnotesize}l<{$}}
\NewDocumentEnvironment{MyNiceArray}{}
{%
\let \{ \lgroup
\let \} \rgroup
\begin{NiceArray}%
}
{\end{NiceArray}}
$\begin{MyNiceArray}{\{ccc|c\}L}
1 & -2 & 3 & 5 & \\
0 & 3 & 2 & 2 & II + 2I - III \\
0 & 1 & 1 & 3 & \\
0 & 1 & 1 & 5 &
\end{MyNiceArray}$
\end{document}
答案2
类似这样的方法可能是一个解决方案,但由于节点的内容默认处于数学模式,因此\ttfamily
无法使用,您需要将注释放在\texttt
宏中:
\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}
\begin{document}
$\begin{NiceArrayWithDelims}{\lgroup}{\rgroup}{ c c c | c }[
last-col,
code-for-last-col={\footnotesize}
]
1 & -2 & 3 & 5 & \\
0 & 3 & 2 & 2 & \texttt{II + 2\cdot I - III} \\
0 & 1 & 1 & 3 &
\end{NiceArrayWithDelims}$
\end{document}
据我所知, 没有nicematrix
提供某种方法通过某些宏将内容括在最后一列中,您只能使用 来添加宏code-for-last-col
,但这在这里没有多大帮助。此外,您不能反过来只让相关列在数学模式下排版,因为环境NiceArrayWithDelims
需要完全处于数学模式。
如果您希望使分隔符稍微大一些,则可以使用嵌套的选项\SubMatrix
(extra-height
例如,该解决方案是由软件包作者提出的这里):
\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}
\NewDocumentEnvironment{ MybNiceArray } { } {
\NiceMatrixOptions{exterior-arraycolsep}
\begin{NiceArray}
} {
\CodeAfter
\SubMatrix\lgroup{1-1}{last-last}\rgroup[extra-height=1ex]
\end{NiceArray}
}
\begin{document}
$\begin{MybNiceArray}{ c c c | c }[
last-col,
code-for-last-col={\footnotesize}
]
1 & -2 & 3 & 5 & \\
0 & 3 & 2 & 2 & \texttt{II + 2\cdot I - III} \\
0 & 1 & 1 & 3 &
\end{MybNiceArray}$
\end{document}