根据命令增加表格列

根据命令增加表格列

我有一个名为 \task 的宏,它以特定方式格式化文本。现在对于每个任务,我必须将任务名称添加为一列,并在其下方添加一个空单元格。

那么我该如何实现以下目标呢?

\documentclass{article}

\newcommand{\task}[1]{\par \bigskip \noindent {\bf{Task {#1}}}}
\newcommand{\makeTasktable}{%
\begin{tabular}{*{10}{|c}}
  % For every \task do:
  %   echo taskname &
  % done
  1.1 & 1.2 & 1.3 \\
  \hline
  % For every \task do:
  %   echo &
  % done
  & &
\end{tabular}

}

\begin{document}
\makeTasktable

\task{1.1} Foo
\task{1.2} Bar
\task{1.3} Baz
\end{document}

桌子

答案1

使用包exsheets。成绩表甚至作为示例文件,复制/粘贴即可完成。

表格

\documentclass{article}
\usepackage{exsheets}
\SetupExSheets{
    counter-format=se.qu,
    counter-within=section,
    headings=runin,
}
\DeclareTranslation{english}{exsheets-exercise-name}{Task}

\begin{document}


\section{Capybara}
\begin{question}{2}
    Foo
\end{question}
\begin{question}{6}
    Bar
\end{question}
\section{Wombat}
\begin{question}{1}
    Baz
\end{question}

\bigskip\noindent
\begin{tabular}{|l|*{\numberofquestions}{c|}c|}\hline
  Task & \ForEachQuestion{\QuestionNumber{#1}\iflastquestion{}{&}} & Total \\ \hline
  Points   & \ForEachQuestion{\GetQuestionProperty{points}{#1}\iflastquestion{}{&}} & \pointssum* \\ \hline
  Reached  & \ForEachQuestion{\iflastquestion{}{&}} & \\ \hline
\end{tabular}

\end{document}

相关内容