
Esta tabela funciona bem. No entanto,
\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}
quando altero o tamanho da fonte, como na tabela a seguir,
\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}
Recebo a mensagem de erro:
Undefined control sequence. \end{tabularx}.
Além disso, não consigo adicionar uma legenda; se eu fizer,
\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}
Recebo uma lista de mensagens de erro:
! 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}
...
Resolvi o problema do título adicionando a linha
\captionof{table}{\textbf{Inflation categories}}
before \begin{tabularx}
, mas a desvantagem é que o título e a tabela podem acabar em páginas diferentes.
Como posso resolver esses problemas?
EDITAR 1 Após as mensagens abaixo, esta é uma solução funcional:
\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}
Eu cometi um erro de digitação \footnotesize
e tabularx
preciso ser encapsulado por table
.
Responder1
Quando compilo o seguinte 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}
Eu recebi a seguinte mensagem de erro:
! Undefined control sequence.
<recently read> \footnosize
l.11 \end{tabularx}
Assim, é \footnosize
, e não \end{tabularx}
, o objeto da denúncia. O que fazer? Caso não seja dolorosamente óbvio: mude \footnosize
para \footnotesize
.
Presumo que você esteja ciente de que a \footnotesize
diretiva não afeta a linha inteira, mas apenas a primeira célula da linha em questão.
Para aplicar a \caption
nesta tabela, é necessário incorporar o tabularx
ambiente em um table
ambiente, algo assim:
\begin{table}
\caption{Stuff} \label{tab:stuff}
\begin{tabularx}{\textwidth}{lllX}
...
\end{tabularx}
\end{table}