Te sugerimos que revises esta resolución en un ambiente controlado antes de pasarlo a producción, un saludo.
Solución:
Puede definir un macro como sigue:
newcommandtwodigits[1]%
ifnum#1<10 0#1else #1fi
twodigits12 % 12
twodigits4 % 04
twodigits123 % 123
Este macro es totalmente ampliable.
Si también desea eliminar los ceros finales, puede usar:
newcommandtwodigits[1]%
ifnum#1<10 0number#1 else #1fi
twodigits004 % 04
Si desea cambiar un tabular
celda de 12 4
a 12 04
sin agregar macros explícitas, puede usar el collcell
paquete para recolectar el contenido de la celda y alimentarlo a un macro que divide los números por el espacio:
% preamble:
newcommandformatdate[1]formatdatei#1relax
defformatdatei#1 #2relax%
twodigits#1 twodigits#2%
usepackagecollcell
% later
begintabularl>collectcellformatdatel
Si publica un ejemplo de uso real, puedo ayudarme con macros más específicas.
Puedes hacerlo usando el siunitx
paquete
documentclass[a4paper,twoside,10pt]article
usepackagesiunitx
begindocument
num[minimum-integer-digits = 4]123
num[minimum-integer-digits = 4]4
enddocument
huellas dactilares
0123 0004
o, alternativamente, puede declarar la opción como predeterminada,
documentclass[a4paper,twoside,10pt]article
usepackagesiunitx
begindocument
sisetupminimum-integer-digits = 4
num12
num34
enddocument
También puede utilizar el xstring
paquete para agregar el cero inicial para dígitos individuales:
Código:
documentclassarticle
usepackagexstring
newcommand*TwoDigit[1]%
IfStrEqCase#1%
10%
20%
30%
40%
50%
60%
70%
80%
90%
#1%
%
begindocument
123 $to$ TwoDigit123
12 $to$ TwoDigit12
2 $to$ TwoDigit2
enddocument
Si tienes alguna suspicacia y forma de ascender nuestro noticia eres capaz de realizar un exégesis y con deseo lo leeremos.