
Nehmen Sie den folgenden Code:
\documentclass{article}
\usepackage[oldstyle, tabular]{libertine}
\usepackage{array}
\newlength{\period}
\settowidth{\period}{9999--9999}
\begin{document}
\begin{tabular}{>{\raggedleft}p{\period}l}
2002--2005 & Put some text and numbers 0123456789 here
\end{tabular}
\end{document}
In diesem Beispiel habe ich die Breite der linken Spalte (die auf einen linken Flattersatz eingestellt ist) auf die Breite von acht tabellarischen (also nichtproportionalen) Ziffern und einem Bindestrich festgelegt.
Was ich aber eigentlich möchte, ist, die Breite der linken Spalte wie oben festzulegen, aber außerhalb der ersten Spalte proportionale Zahlen zu verwenden. Das folgende Beispiel funktioniert offensichtlich nicht, da dadurch alle Zahlen im Dokument proportional festgelegt werden:
\documentclass{article}
\usepackage[oldstyle, proportional]{libertine} % <- change is here only
\usepackage{array}
\newlength{\period}
\settowidth{\period}{9999--9999}
\begin{document}
\begin{tabular}{>{\raggedleft}p{\period}l}
2002--2005 & Put some text and numbers 0123456789 here
\end{tabular}
\end{document}
Meine Frage lautet also: Wie kann ich die Breite der ersten Spalte auf Tabellenzahlen basierend einstellen und dann im Dokument in dieser Spalte Tabellenzahlen verwenden, an anderer Stelle jedoch proportionale Zahlen verwenden?
Wenn das am besten mit funktioniert fontspec
, bin ich offen dafür, stattdessen das zu verwenden.
Antwort1
Sie können einen Befehl definieren \tabfig
, der im Tabellenformat Ziffern im alten Stil auswählt:
\documentclass{article}
\usepackage[
oldstyle,
proportional
]{libertine}
\usepackage{array}
\newlength{\period}
\newcommand{\tabfig}{\fontfamily{LinuxLibertineT-TOsF}\selectfont}
\AtBeginDocument{\settowidth{\period}{\tabfig 0000--0000}}
\begin{document}
\begin{tabular}{>{\raggedleft\tabfig}p{\period}l}
2002--2005 & Put some text and numbers 0123456789 here
\end{tabular}
\end{document}
Beachten Sie die Verzögerung der Messung, nachdem LaTeX ausgegeben wurde \normalfont
.