Centralizando no separador decimal, seleção da fonte da figura

Centralizando no separador decimal, seleção da fonte da figura

Gostaria de formatar uma coluna com números com ponto decimal. No corpo do texto, uso figuras antigas para números e figuras de alinhamento em equações. Se eu usar dcolumnminhas tabelas, uso figuras de forro, em vez de figuras antigas.

Já brinquei com as definições dcolumn.sty, mas parece depender do modo matemático para acertar o ponto, portanto, remover todos os $caracteres leva à quebra. Alterar temporariamente a fonte matemática para usar figuras antigas também parece ser uma coisa bem difícil, tudo isso é configurado durante o carregamento do pacote de fontes...

Usando siunitxcom \sisetup{mode=text}eufazerobtenho números de estilo antigo, mas então \figureversion{tab}, que uso para mudar para números tabulares, é ignorado e os números também não se alinham bem.

Alguém tem uma boa sugestão para usar dcolumnno modo não matemático ou para siunitxusar figuras tabulares no estilo antigo?

Um exemplo 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}

Responder1

insira a descrição da imagem aqui

\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}

Responder2

No comentário à resposta anterior de David, você expressa interesse em ver uma solução que use o siunitxpacote e seu Stipo de coluna. A chave é especificar a opção detect-mode, que força o uso do estilo numérico dofonte do textoem vez da fonte matemática.

A resposta abaixo usa o kpfontspacote com a oldstylenumsopção de usar números antigos em modo texto; o corpo do tabularambiente é o mesmo da resposta de David. O

insira a descrição da imagem aqui

\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} 

informação relacionada