Problemas con los subtítulos y el tamaño de fuente con tabularx

Problemas con los subtítulos y el tamaño de fuente con tabularx

Esta mesa funciona bien. Sin embargo,

\begin{tabularx}{\textwidth}{lllX}
    \toprule
    A & B & C & D\\
    \midrule

    A & B & C & aaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaa \\
    \hline

\end{tabularx}

cuando cambio el tamaño de fuente, como en la siguiente tabla,

\begin{tabularx}{\textwidth}{lllX}
    \toprule
    A & B & C & D\\
    \midrule
    \footnosize
    A & B & C & aaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaa \\
    \hline
\end{tabularx}

Recibo el mensaje de error:

Undefined control sequence. \end{tabularx}.

Además, no puedo agregar un título; si lo hago,

\begin{tabularx}{\textwidth}{lllX}
    \toprule
    A & B & C & D\\
    \midrule
    \caption{ABC}
    A & B & C & aaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaa \\
    \hline
\end{tabularx}

Recibo una lista de mensajes de error:

! You can't use `\hrule' here except with leaders.
\caption@hrule ->\hrule 
                        \@height \z@ 
l.167 \end{tabularx}

To put a horizontal rule in an hbox or an alignment,
you should use \leaders or \hrulefill (see The TeXbook).

! Missing number, treated as zero.
<to be read again> 
                   \vskip 
l.167 \end{tabularx}

A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Illegal unit of measure (pt inserted).
<to be read again> 
                   \vskip 
l.167 \end{tabularx}
...

He solucionado el problema del título agregando la línea \captionof{table}{\textbf{Inflation categories}}antes \begin{tabularx}, pero la desventaja es que el título y la tabla pueden terminar en páginas diferentes.

¿Cómo puedo solucionar estos problemas?

EDITAR 1 Después de los mensajes a continuación, esta es una solución que funciona:

\begin{table}
    \caption{ABC}
    \footnotesize
    \begin{tabularx}{\textwidth}{lllX}
    \toprule
    A & B & C & D\\
    \midrule

    A & B & C & aaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaa \\
    \hline
\end{tabularx}
\end{table}

Tuve un error tipográfico \footnotesizey tabularxnecesito encapsularlo en table.

Respuesta1

Cuando compilo el siguiente documento,

\documentclass{article}
\usepackage{tabularx,booktabs}
\begin{document}
\begin{tabularx}{\textwidth}{lllX}
    \toprule
    A & B & C & D\\
    \midrule
    \footnosize
    A & B & C & aaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaaaaaa aaaaa aaaaa \\
    \hline
\end{tabularx}
\end{document}

Recibo el siguiente mensaje de error:

! Undefined control sequence.
<recently read> \footnosize 

l.11 \end{tabularx}

\footnosizePor lo tanto, no es \end{tabularx}él quien es el objeto de la denuncia. ¿Qué hacer? En caso de que no sea demasiado obvio: cambie \footnosizea \footnotesize.

Supongo que sabes que la \footnotesizedirectiva no afecta a toda la fila, sino solo a la primera celda de la fila en cuestión.

Para aplicar a \captiona esta tabla, es necesario incrustar el tabularxentorno en un tableentorno, algo como esto:

\begin{table}
\caption{Stuff} \label{tab:stuff}
\begin{tabularx}{\textwidth}{lllX}
...
\end{tabularx}
\end{table}

información relacionada