Zentrierung auf das Dezimaltrennzeichen, Auswahl der Ziffernschriftart

Zentrierung auf das Dezimaltrennzeichen, Auswahl der Ziffernschriftart

Ich möchte eine Spalte mit Zahlen mit Dezimalpunkt formatieren. In meinem Fließtext verwende ich Mediävalziffern für Zahlen und Versalziffern in Gleichungen. Wenn ich dcolumnmeine Tabellen verwende, verwende ich Versalziffern anstelle von Mediävalziffern.

Ich habe bereits mit den Definitionen herumgespielt dcolumn.sty, aber es scheint auf den Mathematikmodus angewiesen zu sein, um den Punkt „richtig“ zu machen, sodass das Entfernen aller -Zeichen $zu einem Fehler führt. Die vorübergehende Änderung der Mathematikschriftart zur Verwendung von Zahlen im alten Stil scheint ebenfalls ziemlich schwierig zu sein, dies alles wird während des Ladens des Schriftartpakets eingerichtet ...

Verwendung siunitxmit \sisetup{mode=text}ITunbekomme Zahlen im alten Stil, aber dann \figureversion{tab}wird , das ich verwende, um zu Tabellenzahlen zu wechseln, ignoriert und die Zahlen sind auch nicht schön ausgerichtet.

Hat jemand einen guten Vorschlag für die Verwendung dcolumnim Nicht-Mathematikmodus oder für die siunitxVerwendung von Tabellenzahlen im alten Stil?

Ein Minimalbeispiel mit 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}

Antwort1

Bildbeschreibung hier eingeben

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

Antwort2

In dem Kommentar zu Davids früherer Antwort äußern Sie Ihr Interesse an einer Lösung, die das siunitxPaket und seinen SSpaltentyp verwendet. Der Schlüssel liegt darin, die Option anzugeben detect-mode, die die Verwendung des Zahlenstils desSchriftartanstelle der mathematischen Schriftart.

Die folgende Antwort verwendet das kpfontsPaket mit der oldstylenumsOption, Zahlen im alten Stil im Textmodus zu verwenden. Der Körper der tabularUmgebung ist derselbe wie in Davids Antwort. Die

Bildbeschreibung hier eingeben

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

verwandte Informationen