LuaLaTeX: Tabellen mit Text Thema ist als GELÖST markiert

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


Robert Terwilliger

LuaLaTeX: Tabellen mit Text

Beitrag von Robert Terwilliger »

Und gleich noch eine Anfängerfrage zu LuaLaTeX:

Warum klappt
\documentclass{standalone}

\usepackage{polyglossia}
\usepackage{hyperref}

\setdefaultlanguage[spelling=new, babelshorthands=true]{german}


\begin{document}

 % Lange Tabelle, die alle Werte enthält, die ich nachher verwenden möchte.
 \directlua{t = {["123"] = 456, ["789"] = 1011}}

\end{document}
aber führt
\documentclass{standalone}

\usepackage{polyglossia}
\usepackage{hyperref}

\setdefaultlanguage[spelling=new, babelshorthands=true]{german}


\begin{document}

 % Lange Tabelle, die alle Werte enthält, die ich nachher verwenden möchte.
 \directlua{t = {["foo"] = "hello", ["bar"] = "world"}}

\end{document}
zu der Fehlermeldung
! Argument of \language@active@arg" has an extra }.
R.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Benütze \shorthandoff{"} vor dem \directlua. Mit babelshorthands=true machst du " aktiv, und das kann dann explodieren, wenn es an der falschen Stelle benutzt wird (z.B vor einer Klammer).

Robert Terwilliger

Beitrag von Robert Terwilliger »

Klappt, wunderbar. Danke!

Der Vollständigkeit halber hier der Code:
\documentclass{standalone}

\usepackage{polyglossia}
\usepackage{hyperref}

\setdefaultlanguage[spelling=new, babelshorthands=true]{german}


\begin{document}

 % Lange Tabelle, die alle Werte enthält, die ich nachher verwenden möchte.
 \shorthandoff{"}
 \directlua{t = {["foo"] = "hello", ["bar"] = "world"}}
 \shorthandoff{"}
 
 \directlua{tex.sprint(t["foo"])}

\end{document}
Für das, was ich machen möchte, reicht die Lösung. Ich habe nur gerade überlegt, was man machen müsste, wenn man in die Tabelle Babelshorthands schreiben wollte.

R.

Antworten