TeXwelt wurde neu installiert. Es funktionieren noch nicht alle Features und auch an den deutschsprachigen Formulierungen wird verbessert. Danke für eure Geduld.

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

gefragt 13 Dez '16, 22:34

typ42's gravatar image

typ42
3231220
Akzeptiert-Rate: 33%

bearbeitet 14 Dez '16, 07:35

saputello's gravatar image

saputello
10.7k93763


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

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

alt text

Permanenter link

beantwortet 13 Dez '16, 22:44

Henri's gravatar image

Henri
14.5k53340
Akzeptiert-Rate: 46%

bearbeitet 13 Dez '16, 22:53

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:

×25
×2

gestellte Frage: 13 Dez '16, 22:34

Frage wurde gesehen: 2,676 Mal

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