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, 13:50

Cletus's gravatar image

Cletus
1.6k45566
Akzeptiert-Rate: 75%

geschlossen 22 Jun '21, 17:01

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

(22 Okt '18, 14: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, 18: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, 18: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, 18: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 '19, 11:54) saputello

Die Frage wurde aus folgenden Grund "Das Problem ist nicht reproduzierbar oder veraltet. Das Moodle-Paket hat inzwischen einen neuen Betreuer, der eine neue Version herausgegeben hat. Diese ist kompatibel mit XeLaTeX, LuaLaTeX und babel." geschlossen Cletus 22 Jun '21, 17:01


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 '19, 12:14

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×28
×5
×1

gestellte Frage: 22 Okt '18, 13:50

Frage wurde gesehen: 4,714 Mal

zuletzt geändert: 22 Jun '21, 17:01