Ich habe mit xsim eine Aufgabenansammlung angelegt und würde jetzt gerne den Quelltext aller Aufgaben ausgeben lassen. Dafür nütze ich Aufbauend auf dieser Frage habe ich den Befehl Wenn ich nun Öffne in Overleaf
\ForEachUsedExerciseByID{ begin{tcblisting}{listing only} \GetBody{#1}{#2}{exercise} \end{tcblisting} } nutze, dann erhalte ich den Fehler: Öffne in Overleaf
! File ended while scanning use of \next. <inserted text> \par <*> minimal.tex I suspect you have forgotten a `}', causing me to read past where you wanted me to stop. I'll try to recover; but if the error is serious, you'd better type `E' or `X' now and fix your file. ! Emergency stop. Ich wollte dann mithilfe die Öffne in Overleaf
\tcbinputlisting{listing only,listing file=\jobname-#1-#2-exercise-body.tex} funktioniert. Jedoch ist dies nicht flexibel genug, wenn man z.B. den Ordner für die Dateien ändert. Daraufhin habe ich Öffne in Overleaf
! Missing number, treated as zero. <to be read again> { l.40 } A number should have been here; I inserted `0'. (If you can't figure out why I needed to see a number, look up `weird error' in the index to The TeXbook.) enter code here Das setzen der Option Hat jemand eine Idee? Hier das Minimalbeispiel: Öffne in Overleaf
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[ngerman]{babel} \usepackage{xsim} \usepackage[most]{tcolorbox} \ExplSyntaxOn \NewDocumentCommand \GetBody {m m m} { \xsim_input:nnn { #1 } { #2 } { #3 } } \ExplSyntaxOff \ExplSyntaxOn \NewDocumentCommand \GetFullPath {m m m} { \__xsim_set_file_signature:nnn {#1} {#2} {#3} \l__xsim_file_path_and_name_tl } \ExplSyntaxOff \begin{document} \begin{exercise}[subtitle={Ein schöner Titel}] Fragetext \end{exercise} \begin{solution} Antworttext \end{solution} \newpage \section*{Quelltext} \ForEachUsedExerciseByID{% \begin{tcblisting}{listing only,listing options={escapechar=\%}} %\GetBody{#1}{#2}{exercise}% \end{tcblisting} % \tcbinputlisting{listing only,listing file=\jobname-#1-#2-exercise-body.tex} % \tcbinputlisting{listing only,listing file=\GetFullPath{#1}{#2}{exercise}} } \end{document} gefragt 06 Aug '18, 12:16 maphy-psd |
Wie @saputello in seinem Kommentar bereits schrieb, kann man alle Arten von Öffne in Overleaf
\documentclass{article} \newcommand{\Ausgabe}[1]{#1} \begin{document} \Ausgabe{ \begin{verbatim} % Dies ist ein Beispiellisting \Test \end{verbatim} } \end{document} erzeugt nicht das gewünschte Ergebnis, sondern die Fehlermeldung:
Das gilt bei Verwendung von Umgebungen wie Nun bietet aber das Paket Öffne in Overleaf
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[ngerman]{babel} \usepackage{xsim} \usepackage[most]{tcolorbox} \ExplSyntaxOn \cs_new_protected:Npn \xsim_tcbinput:nnn #1#2#3 { \group_begin: \__xsim_set_file_signature:nnn {#1} {#2} {#3} \tcbinputlisting { listing~only, listing~file = \l__xsim_file_path_and_name_tl } \group_end: } \NewDocumentCommand \GetBodyTCB {m m m} { \xsim_tcbinput:nnn { #1 } { #2 } { #3 } } \ExplSyntaxOff \begin{document} \begin{exercise}[subtitle={Ein schöner Titel}] Fragetext \end{exercise} \begin{solution} Antworttext \end{solution} \newpage \section*{Quelltext} \let\ListingList\empty \ForEachUsedExerciseByID{% \GetBodyTCB{#1}{#2}{exercise} } \end{document} Die Formatierung ist sicher noch verbesserungsfähig: beantwortet 12 Aug '18, 13:02 gast3 Mit
(12 Aug '18, 13:42)
maphy-psd
|
@saputello danke für die Hinweise. Das war mein erster Kontakt mit verbatim-Umgebungen. Das mit den Tokens war mir nicht klar. Wieder was gelernt.