
我正在嘗試檢查用戶輸入(數字參數)中的前導零並將其刪除。我想知道這樣的命令是否由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、plain TeX、iniTeX,...)
包裹siunitx
如果要列印該號碼,軟體包siunitx
會提供許多選項來格式化該號碼。預設情況下,前導零被刪除:
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\num{000123}; \num{-000456}
\end{document}
結果:123; -456