我想在 LaTeX 中创建下表:
\begin{table}[h]\centering
\begin{tabular}{|c|c|c|}\hline
Problem & Score & Max \\ \hline
5B & & \\ \hline
5I & & \\ \hline
5J & & \\ \hline
5K & & \\ \hline
5L & & \\ \hline
Total & & \\ \hline
\end{tabular}
\end{table}
在这个例子中,我有分配的问题 5B、5I 等,但我想创建一个命令,以可变数量的问题作为参数,即
\tableofproblems{5B,5I,5J,5K,5L}
或者
\tableofproblems{5B}{5I}{5J}{5K}{5L}
最好是第一个。这可能吗?我希望能够调用此命令来创建包含 2 个问题、7 个问题等的表格。
答案1
\documentclass{article}
\usepackage{array}
\ExplSyntaxOn
\NewDocumentCommand \tableofproblems { m }
{
\begin{tabular}{|c|c|c|}\hline
Problem & Score & Max \\ \hline
\clist_map_inline:nn { #1 }
{ ##1 & & \\ \hline }
Total & & \\ \hline
\end{tabular}
}
\ExplSyntaxOff
\begin{document}
\tableofproblems{5B,5I,5J,5K,SL}
\end{document}