alterar fonte em longtable

alterar fonte em longtable

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 etoolboxvocê pode usar

\AtBeginEnvironment{longtable}{\ttfamily}

Para definir a fonte do pacote de carregamento de legenda captioncom 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}

insira a descrição da imagem aqui

Responder2

Você não diz o que tentou, mas um único \ttfamilytornaria a mesa monoespaçada. Usar o pacote de legendas é uma boa maneira de personalizar legendas, mas para um uso único, você pode simplesmente colocar \normalfontna legenda, resultando em

insira a descrição da imagem aqui

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

informação relacionada