Cómo hacer que siunitx centre columnas de números enteros correctamente

Cómo hacer que siunitx centre columnas de números enteros correctamente

Acabo de descubrir siunitxque 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 siunitxsin 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-formatopció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=3para 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:

ingrese la descripción de la imagen aquí

información relacionada