Centrándose en el separador decimal, selección de fuente de figura.

Centrándose en el separador decimal, selección de fuente de figura.

Me gustaría formatear una columna con números con punto decimal. En el cuerpo del texto utilizo figuras antiguas para los números y líneas de líneas en las ecuaciones. Si uso dcolumnmis tablas uso figuras delineadas, en lugar de figuras de estilo antiguo.

Ya he jugueteado con las definiciones dcolumn.sty, pero parece depender del modo matemático para obtener el punto "correcto", por lo que eliminar todos los $caracteres conduce a la rotura. Cambiar temporalmente la fuente matemática para usar figuras de estilo antiguo también parece ser algo bastante difícil, todo esto se configura durante la carga del paquete de fuentes...

Usando siunitxcon \sisetup{mode=text}yohacerobtengo figuras de estilo antiguo, pero luego \figureversion{tab}, que uso para cambiar a figuras tabulares, se ignora y las figuras tampoco se alinean bien.

¿Alguien tiene una buena sugerencia para usarlo dcolumnen modo no matemático o para siunitxusar figuras tabulares de estilo antiguo?

Un ejemplo mínimo, usando siunitx:

\documentclass{standalone}
\usepackage[mathlf]{MinionPro}
\usepackage{siunitx}
\sisetup{mode=text}
\begin{document}
{\figureversion{tab}
  \begin{tabular}{SSS[table-format=4.1]}
    {A wide heading} & $x$ & {more data} \\
    14.1 & 14.1 & 1111.1 \\
    1.674 & 1.671 & 4882.8 \\
  \end{tabular}}
\end{document}

Respuesta1

ingrese la descripción de la imagen aquí

\documentclass[12pt]{standalone}
\usepackage{dcolumn}  

\makeatletter  


\newcolumntype{O}[3]{>{\everymath{\mathgroup\symletters}\DC@{#1}{#2}{#3}}c<{\DC@end}}
\makeatother

\begin{document}


\begin{tabular}{cO..{-1}D..{-1}}
zzzz & 1.1 & 1.1\\
zzzz & 1.12 & 1.12\\
zzzz & 2341.1 & 2341.1\\
zzzz & 1.1043 & 1.1043
\end{tabular}
\end{document}

Respuesta2

En el comentario sobre la respuesta anterior de David, usted expresa interés en ver una solución que utilice el siunitxpaquete y su Stipo de columna. La clave es especificar la opción detect-mode, que fuerza el uso del estilo numérico deltipografía del textoen lugar de la fuente matemática.

La respuesta a continuación usa el kpfontspaquete con la oldstylenumsopción de usar números antiguos en modo texto; el cuerpo del tabularmedio ambiente es el mismo que en la respuesta de David. El

ingrese la descripción de la imagen aquí

\documentclass[12pt]{standalone}
\usepackage[oldstylenums]{kpfonts} % oldstyle tabular numbers in text mode, but not in math mode
\usepackage[table-format=4.4]{siunitx}
\begin{document}
\begin{tabular}{cS[detect-mode]S}
zzzz & 1.1 & 1.1\\
zzzz & 1.12 & 1.12\\
zzzz & 2341.1 & 2341.1\\
zzzz & 1.1043 & 1.1043
\end{tabular}
\end{document} 

información relacionada