Das Paket moodle.sty ermöglicht die Erstellung von Testfragen für die Lernplattform Moodle. Die Übersetzung des Dokuments ergibt sowohl eine PDF-Datei als Kontrollansicht als auch eine XML-Datei, die in Moodle importiert werden kann. Auch TikZ-Graphiken werden in die XML-Datei eingebunden (in Base-64-Codierung).

Die folgende Datei enthält eine einzelne Multiple-choice-Frage mit einer TikZ/pgfplots-Graphik.

Öffne in Overleaf
\documentclass{article}
\usepackage{moodle}
\usepackage{pgfplots}

\pgfplotsset{compat=newest}

\begin{document}

\begin{quiz}{Stetigkeit und Differenzierbarkeit}

\begin{multi}{Frage 1}
\begin{center}
\begin{tikzpicture}
\begin{axis}[xmin=-3.3,xmax=5.3,ymin=-3.3,ymax=3.3]
\addplot[blue,domain=-3.3:2] {1.5*x-1};
\addplot[blue,domain=2:5.3] {-x+4};
\end{axis}
\end{tikzpicture}
\end{center}
Die stückweise definierte Funktion mit dem abgebildeten Graphen ist \ldots
\item stetig und differenzierbar
\item* stetig, aber nicht differenzierbar
\item differenzierbar, aber nicht stetig
\item weder stetig noch differenzierbar
\end{multi}

\end{quiz}

\end{document}

Die Datei kann mit dem Aufruf pdflatex -shell-escape Quiz.tex weitgehend erwartungsgemäß verarbeitet werden, doch werden dabei die Umlaute in der XML-Datei falsch dargestellt. Statt ü erhalte ich \unhbox \voidb@x \bgroup \let \unhbox \voidb@x \setbox \@tempboxa \hbox {u\global \mathchardef \accent@spacefactor \spacefactor }\accent 127 u\egroup \spacefactor \accent@spacefactor, was offensichtlich kein gültiger HTML-Code ist, um ein ü anzuzeigen. Die Verwendung von inputenc hilft nicht weiter.

Naheliegenderweise verwendet man LuaLaTeX, um das Umlautproblem zu umgehen. Im Prinzip klappt das auch, doch führt jetzt die Graphikeinbindung zu einer Fehlermeldung:

Öffne in Overleaf
moodle.sty: Converting picture 'Quiz-tikztemp-1.pdf' to PNG...
moodle.sty: Converting 'Quiz-tikztemp-1.png' to base64...
moodle.sty: Reading base64 file 'Quiz-tikztemp-1.enc'...
moodle.sty: base64 data saved.
LaTeX Font Info:    Try loading font information for U+msa on input line 25.
(/usr/local/texlive/2018/texmf-dist/tex/latex/amsfonts/umsa.fd
File: umsa.fd 2013/01/14 v3.01 AMS symbols A
)
LaTeX Font Info:    Try loading font information for U+msb on input line 25.

(/usr/local/texlive/2018/texmf-dist/tex/latex/amsfonts/umsb.fd
File: umsb.fd 2013/01/14 v3.01 AMS symbols B
) [1

{/usr/local/texlive/2018/texmf-var/fonts/map/pdftex/updmap/pdftex.map}<./Quiz-ti
kztemp-1.pdf
! error:  (pdf inclusion): could not stat() file './Quiz-tikztemp-1.pdf'
!  ==> Fatal error occurred, no output PDF file produced!

Der Paketautor antwortet nicht auf Anfragen. Weiß jemand Rat?

gefragt 22 Okt '18, 07:50

Cletus's gravatar image

Cletus
1.3k3050
Akzeptiert: 72%

Für pdflatex lade \usepackage[T1]{fontenc}. Das lualatex Problem kann ich nicht testen, mir fehlen tools, die das Paket voraussetzt.

(22 Okt '18, 08:29) Ulrike Fischer

fontenc verträgt sich nicht mit moodle. Ich bekomme nur neue Fehlermeldungen, wenn ich das lade (!Undefined control sequence. \GenericError).

(22 Okt '18, 12:03) Cletus
1

ich hatte keine Probleme. Und wenn es wirklich der Fall wäre, sollte man das moodle Paket wegschmeißen - fontenc ist ein Basispaket.

(22 Okt '18, 12:31) Ulrike Fischer

Im Prinzip ja, aber das Paket ist zu wertvoll für mich, um es nicht zu nutzen. Ich kann mir folgendermaßen behelfen: Ich kompiliere erst mit pdflatex, um ein korrektes PDF zu erhalten, und dann mit lualatex, wobei zwar kein PDF, aber eine fehlerfreie XML-Datei erzeugt wird.

(22 Okt '18, 12:47) Cletus

Generell sind wir nicht für Bugs in Paketen zuständig. Dafür ist allein der jeweilige Maintainer zuständig. Für den Fall, dass es keinen Maintainer mehr geben sollte, sind wir trotzdem für Bugs in Paketen nur zuständig.

(25 Mär, 06:54) saputello

Das Paket moodle kann weder mit UTF8-codierten Sonderzeichen, noch mit babel-shorthand-codierten Umlauten umgehen. Es funktioniert jedoch, Umlaute in TeX-Schreibweise einzugeben:

Öffne in Overleaf
\documentclass{article}
\usepackage{moodle}
\usepackage{pgfplots}

\pgfplotsset{compat=newest}

\begin{document}

\begin{quiz}{Stetigkeit und Differenzierbarkeit}

\begin{multi}{Frage 1}
\begin{center}
\begin{tikzpicture}
\begin{axis}[xmin=-3.3,xmax=5.3,ymin=-3.3,ymax=3.3]
\addplot[blue,domain=-3.3:2] {1.5*x-1};
\addplot[blue,domain=2:5.3] {-x+4};
\end{axis}
\end{tikzpicture}
\end{center}
Die st\"uckweise definierte Funktion mit dem abgebildeten Graphen ist \ldots
\item stetig und differenzierbar
\item* stetig, aber nicht differenzierbar
\item differenzierbar, aber nicht stetig
\item weder stetig noch differenzierbar
\end{multi}

\end{quiz}

\end{document}

erzeugt mit pdflatex eine XML-Datei, bei der die entsprechende Stelle als:

Die st&uuml;ckweise definierte Funktion mit dem abgebildeten Graphen ist ...

codiert ist.

Dennoch: Nicht mit fontenc und nicht mit UTF8 umgehen zu können, ist ein Problem, das nicht ignoriert werden sollte.

Dass moodle nicht mit LuaLaTeX zurecht kommt, hat mehrere Ursachen. So verwendet es beispielsweise direkte \write18-Aufrufe, die es bei LuaTeX inzwischen nicht mehr gibt. Aber auch mit Verwendung von luatex85 zur Erhöhung der Kompatibilität von aktuellen LuaLaTeX-Versionen mit alten Paketen ist es in diesem Fall leider nicht getan. Daher ist auch für dieses Problem ein Bug-Report und eine Behebung durch den Paket-Maintainer das bevorzugte Lösungsweg.

Permanenter link

beantwortet 25 Mär, 07:14

saputello's gravatar image

saputello
10.4k53659

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×20
×5
×1

Frage gestellt: 22 Okt '18, 07:50

Frage wurde angeschaut: 669 Mal

Zuletzt aktualisiert: 25 Mär, 07:14