
Ich versuche, die Benutzereingabe (einen Zahlenparameter) auf führende Nullen zu prüfen und diese zu entfernen. Ich frage mich, ob ein solcher Befehl von LaTeX2e
oder von einer der Engines ( pdftex
, xetex
) bereitgestellt wird.
Antwort1
\number
Siehe egreg'sKommentar, für die einfachste Lösung für ganze Zahlen im Bereich -2147483647 bis 2147483647:
\number000123⌴
\number-000456⌴
Ergebnis: 123 und -456
Das mit gekennzeichnete Leerzeichen ⌴
beendet die Auswertung der Zahl und verhindert Unfälle, wenn im normalen Text Ziffern folgen.
Diese Lösung ist erweiterbar und kann beispielsweise innerhalb von \csname
, \label
, , verwendet werden .\typeout
Paketbigintcalc
Dieses Paket bietet eine erweiterbare Methode zum Entfernen führender Nullen aus beliebig großen Ganzzahlen. Aus der Dokumentation:
\bigintcalcNum {⟨x⟩}
Das Makro
\bigintcalcNum
konvertiert sein Argument in eine normalisierte Ganzzahl ohne unnötige führende Nullen oder Vorzeichen. Das Ergebnis entspricht dem regulären Ausdruck:0|-?[1-9][0-9]*
Beispiel:
\usepackage{bigintcalc}% plain TeX: \input bigintcalc.sty
...
\bigintcalcNum{000123456789123456789123456789}
\bigintcalcNum{-000123456789123456789123456789}
Ergebnis: 123456789123456789123456789 und -123456789123456789123456789
Das Makro ist erweiterbar, das Paket kann mit vielen TeX-Varianten verwendet werden (LaTeX, Plain TeX, iniTeX, ...)
Paketsiunitx
Wenn die Nummer ausgedruckt werden soll, siunitx
bietet das Paket zahlreiche Möglichkeiten, die Nummer zu formatieren. Standardmäßig werden führende Nullen entfernt:
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\num{000123}; \num{-000456}
\end{document}
Ergebnis: 123; -456