
앞에 0이 있는지 사용자 입력(숫자 매개변수)을 확인하고 제거하려고 합니다. 그러한 명령이 에서 제공되는지 LaTeX2e
, 아니면 엔진( pdftex
, ) 중 하나에서 제공되는지 궁금합니다 xetex
.
답변1
\number
egreg를 참조하세요.논평, -2147483647에서 2147483647 범위의 정수에 대한 가장 간단한 솔루션은 다음과 같습니다.
\number000123⌴
\number-000456⌴
결과: 123 및 -456
로 표시된 공백은 ⌴
숫자 분석을 종료하고 일반 텍스트에서 숫자가 뒤따를 경우 사고를 방지합니다.
이 솔루션은 확장 가능하며 예를 들어 \csname
, \label
, 내부에서 사용할 수 있습니다.\typeout
패키지bigintcalc
이 패키지는 임의의 큰 정수에서 선행 0을 제거하기 위한 확장 가능한 방법을 제공합니다. 문서에서:
\bigintcalcNum {⟨x⟩}
매크로는
\bigintcalcNum
불필요한 선행 0이나 부호 없이 해당 인수를 정규화된 정수로 변환합니다. 결과는 정규식과 일치합니다.0|-?[1-9][0-9]*
예:
\usepackage{bigintcalc}% plain TeX: \input bigintcalc.sty
...
\bigintcalcNum{000123456789123456789123456789}
\bigintcalcNum{-000123456789123456789123456789}
결과: 123456789123456789123456789 및 -123456789123456789123456789
매크로는 확장 가능하며 패키지는 다양한 TeX 버전(LaTeX, 일반 TeX, iniTeX 등)과 함께 사용할 수 있습니다.
패키지siunitx
숫자를 인쇄하려는 경우 패키지는 siunitx
숫자 형식을 지정하는 다양한 옵션을 제공합니다. 기본적으로 선행 0은 제거됩니다.
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\num{000123}; \num{-000456}
\end{document}
결과: 123; -456