Центрирование по десятичному разделителю, выбор шрифта рисунка

Центрирование по десятичному разделителю, выбор шрифта рисунка

Я хотел бы отформатировать столбец с числами с десятичной точкой. В моем основном тексте я использую цифры старого стиля для чисел и линейные цифры в уравнениях. Если я использую dcolumnсвои таблицы, используйте линейные цифры вместо цифр старого стиля.

Я уже повозился с определениями dcolumn.sty, но, похоже, он полагается на математический режим, чтобы получить точку «правильно», поэтому удаление всех -символов $приводит к поломке. Временное изменение шрифта математики для использования цифр старого стиля также кажется довольно сложной задачей, все это настраивается во время загрузки пакета шрифтов...

Использование siunitxс\sisetup{mode=text} Iделатьполучить цифры в старом стиле, но затем \figureversion{tab}, который я использую для переключения на табличные цифры, игнорируется, и цифры также не выстраиваются в ряд должным образом.

Есть ли у кого-нибудь хорошее предложение по использованию dcolumnне в математическом режиме или по siunitxиспользованию табличных данных старого образца?

Минимальный пример с использованием 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}

решение1

введите описание изображения здесь

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

решение2

В комментарии к предыдущему ответу Дэвида вы выражаете интерес к решению, которое использует siunitxпакет и его Sтип столбца. Ключевым моментом является указание опции detect-mode, которая заставляет использовать числовой стильшрифт текстаа не математического шрифта.

В ответе ниже используется kpfontsпакет с oldstylenumsвозможностью использования чисел старого стиля в текстовом режиме; тело среды tabularтакое же, как в ответе Дэвида.

введите описание изображения здесь

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

Связанный контент