cambiar fuente en longtable

cambiar fuente en longtable

Hace poco le pregunté apregunta similarsobre cómo cambiar la fuente en una tabla producida por un programa externo. La respuesta que aprobé resolvió muy bien el problema, pero la solución no me resultó intuitiva dado mi conocimiento limitado de LaTeX.

Me enfrento a un desafío similar al tener que redefinir la fuente de una tabla larga a monoespaciada. Esta tabla también es producida por otro programa, por lo que estoy buscando una manera de redefinir longtable en el preámbulo en lugar de simplemente ajustar una tabla en particular con una nueva fuente.

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

Respuesta1

Con el paquete etoolboxpuedes usar

\AtBeginEnvironment{longtable}{\ttfamily}

Para configurar la fuente del paquete de carga de subtítulos captioncon la configuración detu otra pregunta.

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

ingrese la descripción de la imagen aquí

Respuesta2

No dices lo que intentaste, pero uno solo \ttfamilyharía que la mesa fuera monoespaciada. Usar el paquete de subtítulos es una buena manera de personalizar los subtítulos, pero para un uso único, simplemente puede colocarlos \normalfonten el título, lo que da como resultado

ingrese la descripción de la imagen aquí

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

información relacionada