nicematrix: добавьте ttfamily в последний столбец

nicematrix: добавьте ttfamily в последний столбец

Как мне 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}

введите описание изображения здесь

Связанный контент