Als neuen Befehl setze ich \problem
Tests für meine Mathestudenten. Manchmal gebe ich auch an, wie viele Credits man bei einer bestimmten Aufgabe sammeln kann. Wenn ich die credits
Taste verwende, funktioniert alles einwandfrei. Ich habe aber auch einen \task[<credits>]
Befehl, mit dem ich kleinere Fragen und deren Credits ausdrucken kann (siehe MWE unten). Das Problem, mit dem ich derzeit konfrontiert bin, ist, dass die mit dem Befehl angegebenen Credits \task
mehrfach statt nur einmal gesetzt werden. Habt ihr Tipps? Danke!
\documentclass[12pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xifthen}
\usepackage{tikz}
\usepackage{tabularray}
\UseTblrLibrary{booktabs, counter}
\makeatletter
\def\credit{}
\newcounter{WS@credits}
\setcounter{WS@credits}{0}
\newcounter{subtask}
\setcounter{subtask}{1}
\renewcommand{\thesubtask}{\alph{subtask})}
\newcommand{\task}[1][]{%
\ifthenelse{\isempty{#1}}{%
\thesubtask%
\stepcounter{subtask}%
}{%
\thesubtask%
\addtocounter{WS@credits}{#1}%
\ifnum\arabic{subtask}=1%
\gappto\credit{(#1~p)}%
\else%
\gappto\credit{\\(#1~p)}%
\fi%
\stepcounter{subtask}%
}%
}
\newcommand{\problem@credits}{}
\define@key{problem}{credits}[\problem@credits]{\renewcommand{\problem@credits}{%
\addtocounter{WS@credits}{#1}%
(#1~p)%
}%
}
\newcounter{probctr}
\setcounter{probctr}{1}
\newcommand{\problem}[3][]{
\setkeys{problem}{#1}%
\begin{tblr}{colspec={>{\bfseries}lX}, column{1}={leftsep=0ex, rightsep=1.5ex}, column{2}={leftsep=0ex, rightsep=0ex}}
\tikz[remember picture, baseline=(probctrbox.base)]{%
\node[anchor=north west] (probctrbox) at (0,0) {A\arabic{probctr}};
} &
{#2}%
\end{tblr}%
\tikz[remember picture, overlay]{%
\node at (probctrbox.south) [below, font=\scriptsize\normalfont]{\parbox{7ex}{\centering\ifdefempty{\credit}{\problem@credits}{\credit}}};
}
\stepcounter{probctr}
\setcounter{subtask}{1}
\renewcommand{\credit}{}
\renewcommand{\problem@credits}{}
}
\makeatother
\begin{document}
\problem[credits=3]{
Write as power expressions.
\begin{tblr}{colspec={*{2}{>{\bfseries}lX}}, column{odd}={rightsep=0ex}}
\task & $2\cdot 2\cdot 2\cdot 2$ &
\task & $3\cdot 3\cdot 3\cdot 3\cdot 3\cdot 3$
\end{tblr}
}{
\begin{tblr}{colspec={*{2}{>{\bfseries}lX}}, column{odd}={rightsep=0ex}}
\task & $=2^4$ &
\task & $=3^6$
\end{tblr}
}
\problem{
Write as power expressions.
\begin{tblr}{colspec={*{2}{>{\bfseries}lX}}, column{odd}={rightsep=0ex}}
\task[1] & $2\cdot 2\cdot 2\cdot 2$ &
\task[3] & $3\cdot 3\cdot 3\cdot 3\cdot 3\cdot 3$
\end{tblr}
}{
\begin{tblr}{colspec={*{2}{>{\bfseries}lX}}, column{odd}={rightsep=0ex}}
\task & $=2^4$ &
\task & $=3^6$
\end{tblr}
}
\end{document}