私はこのようなことをやろうとしています、
\DeclareRobustCommand{\col}[1]{
\begin{bmatrix}
\foreach \i in {#1} {\i \\}
\end{bmatrix}
}
残念ながらこれは機能しませんが、
\DeclareRobustCommand{\col}[1]{
\begin{bmatrix}
\foreach \i in {#1} {\i, }
\end{bmatrix}
}
誰か解決策を提案してもらえますか? この問題を調べてみたのですが、どの答えも理解しにくいです。
答え1
\\
カンマ区切りリストの各要素間でのみ使用したいので、\clist_use:nn
他の変数への一時的な割り当ての代わりに使用できます。
\clist_use:nn
拡張のみで動作し、グループでは問題はありません。
\documentclass{article}
\usepackage{amsmath}
\ExplSyntaxOn
\NewDocumentCommand \col { m }
{
\begin{bmatrix}
\clist_use:nn {#1} { \\ }
\end{bmatrix}
}
\ExplSyntaxOff
\begin{document}
\[
\col{1,4} + \col{2, 1} = \col{3,5}
\]
\end{document}
答え2
これが何をするのかは分かりませんが、これは機能します。
\ExplSyntaxOn
\NewDocumentCommand{\col}{m} {
\seq_set_from_clist:Nn \l_tmpa_seq { #1 }
\seq_set_map:NNn \l_tmpb_seq \l_tmpa_seq { ##1 }
\begin{bmatrix}
\seq_use:Nn \l_tmpb_seq { \\ }
\end{bmatrix}
}
\ExplSyntaxOff