Recentemente perguntei a umpergunta semelhantesobre como alterar a fonte em uma tabela produzida por um programa externo. A resposta que apoiei resolveu bem o problema, mas a solução não foi intuitiva para mim, dado meu conhecimento limitado de LaTeX.
Enfrento um desafio semelhante de precisar redefinir a fonte de uma tabela longa para monoespaçada. Esta tabela também é produzida por outro programa, então estou procurando uma maneira de redefinir longtable no preâmbulo, em vez de apenas agrupar uma tabela específica em uma nova fonte.
\documentclass{article}
\usepackage{longtable}
\usepackage{booktabs}
\begin{document}
\begin{longtable}[]{@{}rrrl@{}}
\caption{My title}\tabularnewline
\toprule
v1 & v2 & v3 & v4\tabularnewline
\midrule
\endfirsthead
\toprule
v1 & v2 & v3 & v4\tabularnewline
\midrule
\endhead
1 & 0 & 0 & 0.87\tabularnewline
1 & 0 & 1 & 0.89\tabularnewline
1 & 1 & 0 & 0.87\tabularnewline
\bottomrule
\end{longtable}
\end{document}
Responder1
Com pacote etoolbox
você pode usar
\AtBeginEnvironment{longtable}{\ttfamily}
Para definir a fonte do pacote de carregamento de legenda caption
com as configurações desua outra pergunta.
\documentclass{article}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{etoolbox}
\usepackage[format=plain,
labelformat=simple,
font={small,sf,bf},
indention=0cm,
labelsep=period,
justification=centering,
singlelinecheck=true,
tableposition=top,
figureposition=bottom]{caption}
\AtBeginEnvironment{longtable}{\ttfamily}
\usepackage{lipsum}% dummy text
\begin{document}
\begin{longtable}[]{@{}rrrl@{}}
\caption{My title}\tabularnewline
\toprule
v1 & v2 & v3 & v4\tabularnewline
\midrule
\endfirsthead
\toprule
v1 & v2 & v3 & v4\tabularnewline
\midrule
\endhead
1 & 0 & 0 & 0.87\tabularnewline
1 & 0 & 1 & 0.89\tabularnewline
1 & 1 & 0 & 0.87\tabularnewline
\bottomrule
\end{longtable}
\lipsum[1]
\end{document}
Responder2
Você não diz o que tentou, mas um único \ttfamily
tornaria a mesa monoespaçada. Usar o pacote de legendas é uma boa maneira de personalizar legendas, mas para um uso único, você pode simplesmente colocar \normalfont
na legenda, resultando em
\documentclass{article}
\usepackage{longtable}
\usepackage{booktabs}
\begin{document}
\ttfamily
\begin{longtable}[]{@{}rrrl@{}}
\caption{\normalfont My title}\tabularnewline
\toprule
v1 & v2 & v3 & v4\tabularnewline
\midrule
\endfirsthead
\toprule
v1 & v2 & v3 & v4\tabularnewline
\midrule
\endhead
1 & 0 & 0 & 0.87\tabularnewline
1 & 0 & 1 & 0.89\tabularnewline
1 & 1 & 0 & 0.87\tabularnewline
\bottomrule
\end{longtable}
\end{document}