Ich habe eine lua-Datei namens "Test.lua":

Öffne in Overleaf
function Test()
return "\\begin{itemize}\n"
.. "\\item[Test] Das ist ein Testitem\\\\\n"
.. "\\end{itemize}\n"
end
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Diese bastelt einen LaTeX-String welcher nun im Skript dargestellt werden soll:

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{luacode}
\luadirect{dofile("Test.lua");}
\begin{document}
\luadirect{tex.print(Test());}
% \luadirect{tex.write(Test());}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Hierbei erhalte ich jedoch die Fehlermeldung

Something's wrong--perhaps a missing item. luadirect{tex.print(Test());}

Wenn ich den übergebenen String per tex.write ausgeben lasse sieht alles o.k. aus. Es ist auch egal ob ich das tex.print direkt in die Funktion baue oder wie hier im .tex-File aufrufe. Irgendwo klappt wahrscheinlich was mit dem escapen nicht so wie ich es mir denke.

gefragt 31 Mär '17, 16:44

Sylvan's gravatar image

Sylvan
38951117
Akzeptiert-Rate: 0%


TeX mag die Lua-Zeilenumbrüche (\n) nicht.

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage{luacode}
\begin{luacode*}
function Test()
return "\\begin{itemize}"
.. "\\item[Test] Das ist ein Testitem\\\\"
.. "\\end{itemize}"
end
\end{luacode*}
\begin{document}
\directlua{tex.print(Test())}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 31 Mär '17, 22:25

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

Ernsthaft? Das war alles? Ich saß hier Stunden und kam kein einziges mal darauf die Zeilenumbrüche zu entfernen...

Peinlich dir mit sowas deine Zeit gestohlen zu haben.

Eine vernünftige Vorgehensweise wie man sowas debugt habe ich bisher nicht gefunden. Wie hätte ich darauf kommen können, dass es an den Zeilenumbrüchen liegt?

Vielen Dank

(31 Mär '17, 22:40) Sylvan

@Sylvan Ich habe einfach mal alles entfernt was nicht unmittelbar notwendig ist unter anderem halt die Zeilenumbrüche.

(01 Apr '17, 02:32) Henri
Deine Antwort
[Vorschau ausblenden]

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

Frage-Themen:

×29
×28
×16
×3

gestellte Frage: 31 Mär '17, 16:44

Frage wurde gesehen: 5,899 Mal

zuletzt geändert: 01 Apr '17, 02:32

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×