Acabo de descubrir siunitx
que parece hacer lo que quiero con las tablas, es decir, centrar una columna pero mantener los números alineados en decimal. Creo que no funciona para una columna de números enteros (digamos 99, 9, 99, 99). Los números están correctamente alineados entre sí, pero no están correctamente centrados dentro de la columna, quedando desplazados una o dos posiciones a la izquierda de donde deberían estar. Lo estoy usando siunitx
sin cambios de opciones y solo una {S} simple como tipo de columna. Funciona bien para columnas de números con puntos decimales, pero se equivoca en columnas de números enteros.
Respuesta1
Puede utilizar la table-format
opción para especificar cuánto espacio reservar para cada parte de los números de la tabla. Si tiene números enteros de hasta, digamos, 3 dígitos, puede utilizar table-format=3
para reservar espacio para 3 dígitos enteros y sin decimales.
Como se indica en los comentarios, esta opción también se puede configurar por columna, pasando las opciones a la definición de columna cuando se usa.
He aquí un ejemplo:
\documentclass{article}
\usepackage{siunitx}
\begin{document}
\begin{table}
\sisetup{
table-format = 2,
}
\begin{tabular}{SSS}
A & B & C \\
15 & 3 & 2 \\
20 & 2 & 19 \\
25 & 24 & 4 \\
\end{tabular}
\end{table}
\begin{table}
\begin{tabular}{
S[table-format=2.3] % with space for integers and decimals
S[table-format=2] % with space for integers only
S % as the default
}
A & B & C \\
15 & 3 & 2 \\
20 & 2 & 19 \\
25 & 24 & 4 \\
\end{tabular}
\end{table}
\end{document}
Así es como se ven los números enteros alineados: