Estoy usando siunitx para alinear números en una columna. El problema es que obtuve intencionalmente una fila al principio, que es un número grande, indicado por ',' por 1000. Vea el siguiente ejemplo.
Lo que me gustaría lograr:
1) Alinee los decimales con el punto decimal '.' Estas son las filas 2, 3 y 4.
2) centrar los números grandes, es decir, las filas 1 y 5 en este ejemplo. Cuando probé diferentes opciones, los números grandes siempre estaban demasiado a la izquierda o demasiado a la derecha. Si es posible, simplemente deberían estar centrados. Creo que eso tiene más sentido en términos de formato.
¿Es posible?
\documentclass{article}
\usepackage{siunitx}
\sisetup{%
input-ignore={,},
input-decimal-markers = {.},
table-format = 2.2,
table-number-alignment = center,
}%
\begin{document}
\begin{tabular}{SS}
row & alignToDec \\
row1: & 19,000,000.0 \\
row2: & 12.38 \\
row3: & 1.97 \\
row4: & 91.01 \\
row5: & 87,000,000.0 \\
\end{tabular}
\end{document}
Respuesta1
Por alguna razón su código se compila, pero:
1) No debería (al menos no tiene motivos para hacerlo) utilizar un S
tipo de columna para columnas que no contengan matemáticas.
2) Si el contenido de una celda dentro de una columna 'S' es texto, colóquelo entre llaves. (De esta forma el contenido quedará centrado por defecto desde siunitx porque se considerará como un texto). [Vea su alignToDec "roto" en la segunda columna si está fuera de las llaves y colóquelo dentro de las llaves para ver la diferencia]
3) Utilice el mismo método anterior para sus números grandes...
4) Puede especificar table-format
como argumento opcional en sus S
columnas. ( siunitx
se comporta mejor así en general)
\documentclass{article}
\usepackage{siunitx}
\sisetup{%
input-ignore={,},
input-decimal-markers = {.},
table-number-alignment = center,
}%
\begin{document}
\begin{tabular}{cS[table-format=2.2]}
row & {alignToDec} \\
row1: & {19,000,000.0} \\
row2: & 12.38 \\
row3: & 1.97 \\
row4: & 91.01 \\
row5: & {87,000,000.0} \\
\end{tabular}
\end{document}
PD: Quita la luatex
etiqueta.