![nicematrix: добавьте ttfamily в последний столбец](https://rvso.com/image/461900/nicematrix%3A%20%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D1%8C%D1%82%D0%B5%20ttfamily%20%D0%B2%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D0%B8%D0%B9%20%D1%81%D1%82%D0%BE%D0%BB%D0%B1%D0%B5%D1%86.png)
Как мне nicematrix
добавить последнюю колонку аннотаций \footnotsize
для \ttfamily
себя?
Примечание: я обычно использую там символы +, -, ·
и римские цифры ( I, II, III,...
).
Так что нет никаких обязательных причин сохранять здесь математический режим.
Итак, возможный результат может выглядеть так:
Мой МВЭ:
\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
ОБНОВЛЯТЬ
Последняя версия nicematrix
(v. 6.16) предоставляет возможность помещать разделители \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}