
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 dcolumn
mis 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 siunitx
con \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 dcolumn
en modo no matemático o para siunitx
usar 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
\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 siunitx
paquete y su S
tipo 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 kpfonts
paquete con la oldstylenums
opción de usar números antiguos en modo texto; el cuerpo del tabular
medio ambiente es el mismo que en la respuesta de David. El
\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}