Seite 1 von 3

Hilfe bei Vorlage für Klausur exsheets

Verfasst: Mi 25. Jan 2017, 18:56
von kannstmasehn
Hallo,

ich möchte eine Vorlage für eine Klausur erstellen. Problem ist, dass ich Fragen mit Bonuspunkten habe und diese gerne in einer Tabelle darstellen möchte, wie die normalen Punkte. Die Bonuspunkte sollen nicht mit in die normalen Punkte zählen und es können auch Bonusfragen mit ausschließlich Bonuspunkten gestellt werden, sprich 0 normale Punkte und bspw. 3 Bonuspunkte. Wenn eine Frage 0 normale Punkte hat, dann erfolgt in der Tabelle keine Berechnung. Wie kann ich das beheben? Und wie kann ich die Bonuspunkte auflisten? Sprich die Tabelle soll auch mal 0 anzeigen.

Des Weiteren spiele ich mit der Idee eine Art Fragensammlung zu erstellen und dann gezielt (oder auch zufällig) Fragen aus dieser auswählen zu können. Gibt es da bereits Möglichkeiten zu?
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{exsheets}

\newcommand\gradetable{%
	\begin{tabular}{l|*{\numberofquestions}{p{1cm}|}p{1cm}}
		Aufgabe  & \ForEachQuestion{\GetQuestionProperty{counter}{##1}\iflastquestion{}{&}}
		& Summe \\ \hline
		Punkte   & \ForEachQuestion{\GetQuestionProperty{points}{##1}\iflastquestion{}{&}}
		& \pointssum* \\ \hline
		Bonus   & \ForEachQuestion{\GetQuestionProperty{bonus}{##1}\iflastquestion{}{&}}
		& \bonussum* \\ \hline 
		erreicht & \ForEachQuestion{\iflastquestion{}{&}} & \\ \hline		   
	\end{tabular}
}


\begin{document}
	
\gradetable \par
\vspace{1cm}
		
\begin{question}{3}
Blub
\end{question}
	
\begin{question}{2+4}
Bla
\end{question}
	
\begin{question}{0+4}
Dumdidum
\end{question}
	
\end{document}

Vielen Dank im Voraus!

Verfasst: Mi 25. Jan 2017, 20:04
von Bartman
Ist dieses Beispiel auf Deinem System lauffähig?

Verfasst: Mi 25. Jan 2017, 21:11
von kannstmasehn
Ja läuft

Verfasst: Do 26. Jan 2017, 07:47
von Gast
Erstaunlich. Ich bekomme:
Extra alignment tab has been changed to \cr. 
<recently read> \endtemplate
l.30 \gradetable
                  \par 

Verfasst: Do 26. Jan 2017, 07:54
von kannstmasehn
Ich benutze das aktuellste TeXstudio und habe alle Pakete aktualisiert.

Habe das Ergebnis mal angehängt als Bild.
Bild

Verfasst: Do 26. Jan 2017, 09:24
von Gast
Der Online-Editor melden denselben Fehler beim ersten LaTeX-Lauf. Beim ersten Lauf ist die Anzahl der Fragen nämlich noch 0 und das gibt bei der *n{…}-Syntax ein Problem. Das ist bei Dir garantiert auch so, wenn Du Dich einmal an die Minimalbeispiel-Anleitung hältst und die Hilfsdateien löschst.

Also die Tabelle besser in dem Fall nicht ausgeben lassen. Außerdem ist das Attribut für Bonuspunkte nicht bonus, sondern bonus-points (siehe [d]exsheets[/d]-Anleitung):
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{exsheets}

\SetupExSheets[points]{parse=true}

\newcommand\gradetable{%
  \ifnum\number\numberofquestions>0
   \begin{tabular}{l|*{\numberofquestions}{p{1cm}|}p{1cm}}
      Aufgabe  & \ForEachQuestion{\GetQuestionProperty{counter}{##1}\iflastquestion{}{&}}
      & Summe \\ \hline
      Punkte   & \ForEachQuestion{\GetQuestionProperty{points}{##1}\iflastquestion{}{&}}
      & \pointssum* \\ \hline
      Bonus   & \ForEachQuestion{\GetQuestionProperty{bonus-points}{##1}\iflastquestion{}{&}}
      & \bonussum* \\ \hline
      erreicht & \ForEachQuestion{\iflastquestion{}{&}} & \\ \hline        
   \end{tabular}
  \fi
}


\begin{document}
   
\gradetable \par
\vspace{1cm}
     
\begin{question}{3}
Blub
\end{question}
   
\begin{question}{2+4}
Bla
\end{question}
   
\begin{question}{0+4}
Dumdidum
\end{question}
   
\end{document}
Leider werden 0-Punkte dabei immer als ?? ausgegeben. Vielleicht steht in der Anleitung, wie man das ändert. Auf Anhieb gefunden habe ich es nicht. Sonst kann der Autor vielleicht Auskunft geben.

Verfasst: Do 26. Jan 2017, 09:37
von kannstmasehn
Danke, das mit 'bonus-points' habe ich übersehen. Die Bonuspunkte werden nun dargestellt in der Tabelle.

Ja ich muss zwei mal Kompilieren, das stimmt. Das ist natürlich auch logisch, weil die Tabelle vor den Fragen erscheinen soll, jedoch noch keine Fragen definiert worden sind. Es ist auch nicht möglich die Tabelle im document zu platzieren, da erhalte ich nur Fragezeichen in der Tabelle, auch bei mehrmaligem Kompilieren. Eine andere Lösung fällt mir nicht ein, so dass die Tabelle vor den Fragen erscheint. TeXstudio kompiliert in der Standardeinstellung automatisch zwei mal.

Verfasst: Do 26. Jan 2017, 10:19
von Gast
kannstmasehn hat geschrieben:TeXstudio kompiliert in der Standardeinstellung automatisch zwei mal.
Auch, wenn beim ersten Lauf ein Fehler auftritt? Das ist ungewöhnlich und verbrät in den meisten Fällen nur Laufzeit.

Wie dem auch sei: Man sollte immer darauf bedacht sein, dass ein Dokument auch beim ersten LaTeX-Lauf keine Fehler auswirft.

Verfasst: Do 26. Jan 2017, 10:42
von kannstmasehn
Unter Meldungen steht folgendes:
Prozess gestartet: pdflatex.exe -synctex=1 -interaction=nonstopmode "test".tex

Prozess endete normal



Prozess gestartet: pdflatex.exe -synctex=1 -interaction=nonstopmode "test".tex

Prozess endete normal


Bei Log:

Zeile 38: Overfull \hbox (6.62494pt too wide) in paragraph


Es wirft also keine Fehler aus, somit funktioniert das Minimalbeispiel für mich. Du kannst es ja mal bei dir in deinem Editor (also nicht der Online-Editor) testen.

Dann frage ich mich ja, wie der Code geschrieben werden sollte, wenn die Tabelle vor den Fragen definiert werden muss, in der Tabelle jedoch noch nicht gezählt werden kann, weil noch keine Fragen auftauchen. Das ist ja ein Widerspruch in sich. Vielleicht durchdringe ich das gerade nicht, aber das ist ja ein ähnliches Szenario wie beim Erstellen von Verzeichnissen, da wird ja auch zwei mal kompiliert, weil er bei der Nummerierung von Quellen auch erstmal erfassen muss, wann welche Quelle auftaucht, um sie dann zu sortieren. Und es ist im Endeffekt auch nur ein Problem des Online-Editors. Das Verbraten der Laufzeit ist beim Kompilieren für meine Ziele nicht relevant, zumal es auch gar nicht, zumindest aus meiner Sicht, anders funktionieren kann und man um das doppelte Kompilieren nicht herum kommt.

Für Anregungen, wie ich die Probleme mit den 0-Punkte-Fragen und die Fehlerproblematik des Online-Editors lösen kann, bin ich sehr empfänglich. Vielen Dank.

Verfasst: Do 26. Jan 2017, 10:45
von cgnieder
Wenn man noch testet, ob die entsprechende Property gesetzt ist, kann man auch die fehlenden Nullen einsetzen:
\documentclass{scrartcl} 
\usepackage[T1]{fontenc} 
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage{exsheets} 

\SetupExSheets[points]{parse=true} 

\newcommand*\questionpropertyF[3]{%
  \IfQuestionPropertyTF{#1}{#2}
    {\GetQuestionProperty{#1}{#2}}
    {#3}%
}

\newcommand\gradetable{% 
  \ifnum\number\numberofquestions>0 
   \begin{tabular}{l|*{\numberofquestions}{p{1cm}|}p{1cm}} 
      Aufgabe  & \ForEachQuestion{\GetQuestionProperty{counter}{##1}\iflastquestion{}{&}} 
      & Summe \\ \hline 
      Punkte   & \ForEachQuestion{\questionpropertyF{points}{##1}{0}\iflastquestion{}{&}} 
      & \pointssum* \\ \hline 
      Bonus   & \ForEachQuestion{\questionpropertyF{bonus-points}{##1}{0}\iflastquestion{}{&}} 
      & \bonussum* \\ \hline 
      erreicht & \ForEachQuestion{\iflastquestion{}{&}} & \\ \hline         
   \end{tabular} 
  \fi 
} 


\begin{document}

\gradetable \par 
\vspace{1cm}

\begin{question}{3}
  Blub
\end{question}

\begin{question}{2+4}
  Bla
\end{question}

\begin{question}{0+4}
  Dumdidum
\end{question}

\end{document}
Grüße