Warum erhalte ich die Fehlermeldungen „Unterfüllung“ und „Überfüllung“?

Warum erhalte ich die Fehlermeldungen „Unterfüllung“ und „Überfüllung“?

Ich versuche den folgenden Code zu kompilieren:

\documentclass{article}
\usepackage{graphicx,algpseudocode,algorithm,multirow,hyperref,subfig,cancel,natbib,epstopdf,xspace}

\begin{document}

\clubpenalty=10000
\widowpenalty = 10000

\begin{table}
%\newcommand{\tabcolwidth}[1]{\parbox[c]{3cm}{\centering #1}}
\renewcommand\multirowsetup{\centering}
\caption{caption}

\subfloat
{
\resizebox{1.0\linewidth}{!}
{
\begin{tabular}{lrrrr}
\hline
\multirow{2}{*}{A} & \multicolumn{4}{c}{B} \\
  & $20 \%$ & $40 \%$ & $60 \%$ & $80 \%$ \\
\hline
Alg1 & $48.21$ & $48.64$ & $51.13$ & $52.46$ \\
Alg2 & $42.72$ & $46.31$ & $48.56$  & $51.64$ \\
\hline
\end{tabular}
}
}\\

\end{table}

\end{document}

mit pdflatex.

Ich erhalte während der Kompilierung die folgenden Fehler:

Overfull \hbox (6.71255pt too wide) in paragraph at lines 28--29
[][] 

Underfull \hbox (badness 10000) in paragraph at lines 28--29

Ich kann mir hier den Grund nicht erklären!

Antwort1

Das overfull \hboxliegt an den Leerzeichen an den Zeilenenden. Solche Zeilenenden sollten Sie auskommentieren.

Das underfull \hboxliegt daran, dass \\es niemals verwendet werden sollte, um einen Absatz zu fälschen:

\documentclass{article}
\usepackage{graphicx,multirow,subfig,hyperref}% Load only used packages

% settings moved to preamble
\clubpenalty=10000 
\widowpenalty = 10000

\begin{document}

\begin{table}
%\newcommand{\tabcolwidth}[1]{\parbox[c]{3cm}{\centering #1}}
\renewcommand\multirowsetup{\centering}
\caption{caption}

\subfloat{%
  \resizebox{1.0\linewidth}{!}{%
    \begin{tabular}{lrrrr}
      \hline
      \multirow{2}{*}{A} & \multicolumn{4}{c}{B} \\
                         & $20 \%$ & $40 \%$ & $60 \%$ & $80 \%$ \\
      \hline
      Alg1 & $48.21$ & $48.64$ & $51.13$ & $52.46$ \\
      Alg2 & $42.72$ & $46.31$ & $48.56$  & $51.64$ \\
      \hline
    \end{tabular}%
  }%
}

\end{table}

verwandte Informationen