Ich verwende LuaTeX, um kleine Rechnungen innerhalb eines LaTeX-Dokuments durchzuführen. Die Eingabe von Dezimalzahlen folgt dem angelsächsischen System. Wie erhält man das Ergebnis nach deutscher Schreibweise (im unteren Beispiel also 5,2 bzw. 10,4).

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage{amsmath}
\usepackage{luacode}
\begin{document}
\directlua{a=5.2} Sei $a=\directlua{tex.sprint(a)}$.
Dann gilt $2 \cdot a=\directlua{tex.sprint(2*a)}$.
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 13 Dez '16, 22:34

typ42's gravatar image

typ42
38341928
Akzeptiert-Rate: 33%

bearbeitet 14 Dez '16, 07:35

saputello's gravatar image

saputello
11.1k174365


Im Resultat einfach . mit {,} ersetzen mittels gsub. Die zusätzlichen geschweiften Klammern sorgen dafür, dass hinter dem Komma kein größerer Abstand eingefügt wird.

Damit man den Punkt ersetzen kann muss man das gsub-Pattern %. verwenden. Mit \directlua gibt es keinen einfachen Weg das Prozentzeichen reinzuschmuggeln, aber mit \luaexec aus dem luacode-Paket kann man einfach \% schreiben.

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage{luacode}
\begin{document}
\directlua{a=5.2} Sei $a=\directlua{tex.sprint(a)}$.
Dann gilt $2 \cdot a=\luaexec{tex.sprint(string.gsub(2*a, "\%.", "{,}"))}$.
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text


Alternativ kann man die Ausgabe auf TeX-Ebene verarbeiten. Hier bietet sich siunitx an, welches mit der Option locale=DE automatisch auf deutsche Konvention bei Einheiten und Dezimaltrennern umschaltet.

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage[locale=DE]{siunitx}
\begin{document}
\directlua{a=5.2} Sei $a=\directlua{tex.sprint(a)}$.
Dann gilt $2 \cdot a=\num{\directlua{tex.sprint(2*a)}}$.
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

alt text

Permanenter link

beantwortet 13 Dez '16, 22:44

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

bearbeitet 13 Dez '16, 22:53

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:

×28
×2

gestellte Frage: 13 Dez '16, 22:34

Frage wurde gesehen: 5,890 Mal

zuletzt geändert: 13 Dez '16, 22:53

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×