
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 dcolumn
meine 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 siunitx
mit \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 dcolumn
im Nicht-Mathematikmodus oder für die siunitx
Verwendung 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
\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 siunitx
Paket und seinen S
Spaltentyp 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 kpfonts
Paket mit der oldstylenums
Option, Zahlen im alten Stil im Textmodus zu verwenden. Der Körper der tabular
Umgebung ist derselbe wie in Davids Antwort. Die
\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}