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

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
\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}

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 umschalten

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:

×29
×28
×16
×3

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

Frage wurde gesehen: 5,633 Mal

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