Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

08 Jan '17, 13:39

saputello's gravatar image

saputello
11.1k174365

Da die Punkte eine durch Komma separierte Liste darstellen, kann man diese einfach mit Hilfe von `\@for` abarbeiten. Die Anweisung ist im LaTeX-Kern definiert und in [`source2e.pdf`](http://mirrors.ctan.org/macros/latex/base/source2e.pdf) dokumentiert: \documentclass[12pt,a4paper]{scrartcl} \usepackage[utf8]{inputenc} \newcounter{anzahl} \newcounter{summe} \makeatletter \newcommand*{\processpunkteliste}[1]{% \setcounter{anzahl}{0}% \setcounter{summe}{0}% \let\aufgabennummern\@empty \let\leerzeile\@empty \let\punkte\@empty \@for \reserved@a:=#1\do{ \stepcounter{anzahl}% \addtocounter{summe}{\reserved@a}% \edef\aufgabennummern{\aufgabennummern & \theanzahl}% \edef\leerzeile{\leerzeile &}% \edef\punkte{\punkte & \reserved@a}% }% } \makeatother \processpunkteliste{2,4,5,1,10} \begin{document} \renewcommand{\arraystretch}{1.8} \begin{tabular}{|l*{\value{anzahl}}{|r}|r|} \hline Aufgabe \aufgabennummern & $\Sigma$\\ \hline maximale Punktzahl \punkte & \thesumme\\ \hline erreichte Punkte \leerzeile & \\ \hline \end{tabular} \end{document} ![Punktetabelle][1] Sollte es auch gebrochene Punktezahlen geben, kann natürlich nicht mehr einfach ein Zähler für die Punkte verwendet werden. In diesem Fall muss man dann auf andere Mittel wie das Paket [`fp`](http://www.ctan.org/pkg/fp) oder dessen `l3`-Pedant zurückgreifen.zurückgreifen. Natürlich könnte man auch einen Datensatz mit [`datatool`](http://www.ctan.org/pkg/datatool) verwenden, um die Tabelle anzulegen. Wenn die Aufgabe aber wirklich so einfach ist, wäre das mit Kanonen auf Spatzen geschossen. Daher werde ich es vorerst auch nicht zeigen. [1]: http://texwelt.de/wissen/upfiles/test_20170108_133101.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

08 Jan '17, 13:36

saputello's gravatar image

saputello
11.1k174365

Da die Punkte eine durch Komma separierte Liste darstellen, kann man diese einfach mit Hilfe von `\@for` abarbeiten. Die Anweisung ist im LaTeX-Kern definiert und in [`source2e.pdf`](http://mirrors.ctan.org/macros/latex/base/source2e.pdf) dokumentiert: \documentclass[12pt,a4paper]{scrartcl} \usepackage[utf8]{inputenc} \newcounter{anzahl} \newcounter{summe} \makeatletter \newcommand*{\processpunkteliste}[1]{% \setcounter{anzahl}{0}% \setcounter{summe}{0}% \let\aufgabennummern\@empty \let\leerzeile\@empty \let\punkte\@empty \@for \reserved@a:=#1\do{ \stepcounter{anzahl}% \addtocounter{summe}{\reserved@a}% \edef\aufgabennummern{\aufgabennummern & \theanzahl}% \edef\leerzeile{\leerzeile &}% \edef\punkte{\punkte & \reserved@a}% }% } \makeatother \processpunkteliste{2,4,5,1,10} \begin{document} \renewcommand{\arraystretch}{1.8} \begin{tabular}{|l*{\value{anzahl}}{|r}|r|} \hline Aufgabe \aufgabennummern & $\Sigma$\\ \hline maximale Punktzahl \punkte & \thesumme\\ \hline erreichte Punkte \leerzeile & \\ \hline \end{tabular} \end{document} Sollte es auch gebrochene Punktezahlen geben, kann natürlich nicht mehr einfach ein Zähler für die Punkte verwendet werden. In diesem Fall muss man dann auf andere Mittel wie das Paket [`fp`](http://www.ctan.org/pkg/fp) oder dessen `l3`-Pedant zurückgreifen.