Hilfe bei Vorlage für Klausur exsheets

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


kannstmasehn
Forum-Century
Forum-Century
Beiträge: 165
Registriert: Mo 5. Mai 2014, 16:55

Hilfe bei Vorlage für Klausur exsheets

Beitrag 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!

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Ist dieses Beispiel auf Deinem System lauffähig?

kannstmasehn
Forum-Century
Forum-Century
Beiträge: 165
Registriert: Mo 5. Mai 2014, 16:55

Beitrag von kannstmasehn »

Ja läuft

Gast

Beitrag von Gast »

Erstaunlich. Ich bekomme:
Extra alignment tab has been changed to \cr. 
<recently read> \endtemplate
l.30 \gradetable
                  \par 

kannstmasehn
Forum-Century
Forum-Century
Beiträge: 165
Registriert: Mo 5. Mai 2014, 16:55

Beitrag von kannstmasehn »

Ich benutze das aktuellste TeXstudio und habe alle Pakete aktualisiert.

Habe das Ergebnis mal angehängt als Bild.
Bild
Dateianhänge
punkte.JPG
punkte.JPG (23.84 KiB) 2764 mal betrachtet

Gast

Beitrag 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.

kannstmasehn
Forum-Century
Forum-Century
Beiträge: 165
Registriert: Mo 5. Mai 2014, 16:55

Beitrag 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.

Gast

Beitrag 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.

kannstmasehn
Forum-Century
Forum-Century
Beiträge: 165
Registriert: Mo 5. Mai 2014, 16:55

Beitrag 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.

Benutzeravatar
cgnieder
Forum-Meister
Forum-Meister
Beiträge: 730
Registriert: Fr 22. Okt 2010, 18:37
Wohnort: Herrenberg
Kontaktdaten:

Beitrag 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
Clemens
Paketauthor

Antworten