mittlerweile habe ich dieses Problem auf eine sehr unschöne Art gelöst.
\documentclass[11pt,a4paper]{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{fp}
\usepackage{siunitx}
\usepackage{lastpage}
\FPset\SummeA{0}
\FPset\SummeB{0}
\newcounter{tA}
\newcounter{tB}
\newcommand{\FrageA}[2]{
\stepcounter{tA}
\textbf{\arabic{tA}. #1
(Punkt(e)~#2~P)}
\FPadd\SummeA{\SummeA}{#2}
}
\makeatletter
\AtEndDocument{%
\immediate\write\@auxout{\string\gdef\string\SummenwertA{\FPprint\SummeA}}}
\makeatother
\ifx\SummenwertA\undefined
\def\SummenwertA{0.0}
\fi
\newcommand*\dieSummeA{%
\num[round-mode=places, round-precision=1]{\SummenwertA}%
}
\newcommand{\FrageB}[2]{
\stepcounter{tB}
\textbf{\arabic{tB}. #1
(Punkt(e)~#2~P)}
\FPadd\SummeB{\SummeB}{#2}
}
\makeatletter
\AtEndDocument{%
\immediate\write\@auxout{\string\gdef\string\SummenwertB{\FPprint\SummeB}}}
\makeatother
\ifx\SummenwertB\undefined
\def\SummenwertB{0.0}
\fi
\newcommand*\dieSummeB{%
\num[round-mode=places, round-precision=1]{\SummenwertB}%
}
\begin{document}
Jetzt stimmt die maximale Anzahl der Punkte!
\begin{tabular}{|l|c|c|}
\hline
Aufgabe & ~A~ & ~B~\\
\hline
Max. Punkte & \dieSummeA & \dieSummeB\\
\hline
\end{tabular}
\section{Fragen A}
\FrageA{Hier gibt es die ersten Punkte A}{1.5}\\
\FrageA{Hier gibt es die zweiten Punkte A}{1.5}
\section{Fragen B}
\FrageB{Nun kommen Punkte zu B}{2.5}
\end{document}
ABER es funktioniert. Würde mich jedoch sehr freuen wenn mir jemand das ganze mit exsheets oder über eine if-Abfrage der Kategorien, wie ursprünglich geplant, erklären kann. Habe die if-Abfrage erst mal gescheut weil ich letztendlich noch die Summe der Kategorien bilden muss.
Ich muss gestehen, dass mir nicht so völlig klar ist, worauf Du letztendlich am Schluss hinausmöchtest... jedenfalls hab ich den Code von Deinem letzten Post mal mit exsheets nachgebastelt (mit anderem Layout zwar, aber das lässt sich ja einstellen):
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{exsheets}
\SetupExSheets{
question/name = Fragen ,
counter-format = qu[A]
}
\settasks{
counter-format = tsk. ,
before-skip = \baselineskip
}
\usepackage{marginnote}
% write points to the margin and save them:
\newcommand*\setpoints[1]{\marginnote{\addpoints{#1}}}
% a few tricks needed to save the current question number in the aux file --
% should probably be added to exsheets:
\DeclareQuestionProperty{number}
\ExplSyntaxOn
\AtEndEnvironment{question}
{
\eSaveCounterPatternFrom[exsheets]
\l__exsheets_tmpa_tl
\l__exsheets_tmpb_tl
\l__exsheets_qu_counter_pattern_tl
\exp_args:Nx \SetQuestionProperties
{ number = \l__exsheets_tmpb_tl }
}
\ExplSyntaxOff
\begin{document}
\begin{center}
\begin{tabular}{|l|c|c|}
\hline
Aufgabe
& \GetQuestionProperty{number}{erste}
& \GetQuestionProperty{number}{zweite} \\
\hline
Max. Punkte
& \GetQuestionProperty{points}{erste}
& \GetQuestionProperty{points}{zweite} \\
\hline
\end{tabular}
\end{center}
\begin{question}[ID=erste]
\begin{tasks}
\task\setpoints{1.5} Hier gibt es die ersten Punkte
\QuestionNumber{erste}.
\task\setpoints{1.5} Hier gibt es die zweiten Punkte
\QuestionNumber{erste}.
\end{tasks}
\end{question}
\begin{question}[ID=zweite]
\begin{tasks}
\task\setpoints{2.5} Nun kommen Punkte zu \QuestionNumber{zweite}.
\end{tasks}
\end{question}
\end{document}
Mit Version 0.14, die gerade veröffentlicht wurde, ist es einfacher:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{exsheets}[2014/06/28]
\SetupExSheets{
question/name = Fragen ,
counter-format = qu[A]
}
\settasks{
counter-format = tsk. ,
before-skip = \baselineskip
}
\usepackage{marginnote}
% write points to the margin and save them:
\newcommand*\setpoints[1]{\marginnote{\addpoints{#1}}}
\begin{document}
\begin{center}
\begin{tabular}{|l|*{\numberofquestions}{c|}c|}
\hline
Aufgabe &
\ForEachQuestion{\GetQuestionProperty{counter}{#1}\iflastquestion{}{&}} &
Insgesamt \\
\hline
Max. Punkte &
\ForEachQuestion{\GetQuestionProperty{points}{#1}\iflastquestion{}{&}} &
\pointssum* \\
\hline
\end{tabular}
\end{center}
\begin{question}[ID=erste]
\begin{tasks}
\task\setpoints{1.5} Hier gibt es die ersten Punkte
\QuestionNumber{erste}.
\task\setpoints{1.5} Hier gibt es die zweiten Punkte
\QuestionNumber{erste}.
\end{tasks}
\end{question}
\begin{question}[ID=zweite]
\begin{tasks}
\task\setpoints{2.5} Nun kommen Punkte zu \QuestionNumber{zweite}.
\end{tasks}
\end{question}
\begin{question}[ID=dritte]
\begin{tasks}
\task\setpoints{3.75} Nun kommen Punkte zu \QuestionNumber{dritte}.
\task\setpoints{1} Mehr Punkte zu \QuestionNumber{dritte}.
\end{tasks}
\end{question}
\begin{question}[ID=vierte]
\begin{tasks}
\task\setpoints{1} Nun kommen Punkte zu \QuestionNumber{vierte}.
\end{tasks}
\end{question}
\end{document}