
Pegue o seguinte código:
\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}
Neste exemplo, defini a largura da coluna esquerda (que está configurada para ser irregular à esquerda) como a largura de oito numerais tabulares (isto é, monoespaçados) e um hífen.
Mas o que eu realmente quero é definir a largura da coluna esquerda como acima, mas usar números proporcionais fora da primeira coluna. O exemplo abaixo obviamente não funciona, pois definirá todos os números do documento como proporcionais:
\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}
Portanto, minha pergunta é: como posso definir a largura da primeira coluna com base em numerais tabulares e, em seguida, usar numerais tabulares nessa coluna do documento, mas usar numerais proporcionais em outros lugares?
Se for melhor fazer isso com fontspec
, então estou aberto a usá-lo.
Responder1
Você pode definir um \tabfig
comando que escolha dígitos antigos em formato tabular:
\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}
Observe o atraso da medição após a emissão do LaTeX \normalfont
.