
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 dcolumn
minhas 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 siunitx
com \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 dcolumn
no modo não matemático ou para siunitx
usar 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
\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 siunitx
pacote e seu S
tipo 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 kpfonts
pacote com a oldstylenums
opção de usar números antigos em modo texto; o corpo do tabular
ambiente é o mesmo da resposta de David. O
\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}