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 Diese bastelt einen LaTeX-String welcher nun im Skript dargestellt werden soll: Öffne in Overleaf
\documentclass{scrartcl} \usepackage[ngerman]{babel} \usepackage{luacode} \luadirect{dofile("Test.lua");} \begin{document} \luadirect{tex.print(Test());} % \luadirect{tex.write(Test());} \end{document} Hierbei erhalte ich jedoch die Fehlermeldung
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 |
TeX mag die Lua-Zeilenumbrüche ( Öffne in Overleaf
\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} beantwortet 31 Mär '17, 22:25 Henri 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
|