
ユーザー入力 (数値パラメータ) の先頭のゼロをチェックして削除しようとしています。このようなコマンドはLaTeX2e
、またはいずれかのエンジン ( pdftex
、xetex
) で提供されているのでしょうか。
答え1
\number
egregのコメント-2147483647 から 2147483647 の範囲の整数に対する最も単純な解は次のようになります。
\number000123⌴
\number-000456⌴
結果: 123 と -456
でマークされたスペースは、⌴
数字の解析を終了し、通常のテキストで数字が続く場合の事故を防ぎます。
\csname
このソリューションは拡張可能であり、たとえば、、\label
内で使用できます。\typeout
パッケージbigintcalc
このパッケージは、任意の大きさの整数から先頭のゼロを削除するための拡張可能なメソッドを提供します。ドキュメントから:
\bigintcalcNum {⟨x⟩}
マクロは
\bigintcalcNum
引数を、不要な先頭のゼロや符号のない正規化された整数に変換します。結果は正規表現と一致します。0|-?[1-9][0-9]*
例:
\usepackage{bigintcalc}% plain TeX: \input bigintcalc.sty
...
\bigintcalcNum{000123456789123456789123456789}
\bigintcalcNum{-000123456789123456789123456789}
結果: 123456789123456789123456789 および -123456789123456789123456789
マクロは拡張可能で、パッケージは多くの TeX フレーバー (LaTeX、プレーン TeX、iniTeX など) で使用できます。
パッケージsiunitx
数値を印刷する場合、パッケージにはsiunitx
数値をフォーマットするための多くのオプションが用意されています。デフォルトでは、先頭のゼロは削除されます。
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\num{000123}; \num{-000456}
\end{document}
結果: 123; -456