我正在尝试在 LaTeX 中创建一个新命令,以便我执行
\begin{bmatrix}1\\2\\3\end{bmatrix}
像这样:
\m{1\\2\\3}
我可以创建两个函数,一个用于 begin ,一个用于 end bmatrix
,这样就可以了,但我想用一个命令来让它工作。问题是命令中可以有任意数量的变量。我四处寻找,找到了一些答案,展示了如果你只有一个可选的第二个变量,该如何做。我试图让它用任意数量的参数工作。
答案1
如果你想要一个可以以逗号分隔列表形式传递单个参数的命令,而不是使用\\
在参数中使用(就像 Werner 建议的那样),您可以执行以下操作:
\documentclass{article}
\usepackage{amsmath}
\usepackage{etoolbox} % needed for the \forcsvlist command
\newcommand*{\addrow}[1]{#1\\}
\newcommand{\m}[1]{%
\begin{bmatrix}
\forcsvlist\addrow{#1}%
\end{bmatrix}}
\begin{document}
\[
\m{1,2,3}
\]
\end{document}