Nicht voll \vbox (Badness 10000) in Zeile 1 erkannt

Nicht voll \vbox (Badness 10000) in Zeile 1 erkannt

Ich habe eine nicht ganz so komplizierte Tabelle wie unten, aber ich bekomme immer den Fehler „Underfull \vbox (badness 10000) detected at line 127“, hoffentlich können Sie ihn reproduzieren. Kennt jemand den Grund und weiß, wie man ihn behebt? Dies ist nur ein Beispiel und ich habe vielleicht etwa 100 Tabellen in einer Datei und würde ihn gerne am Anfang beheben.

\documentclass{article}
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\usepackage{geometry}
\usepackage[parfill]{parskip}  
\geometry{letterpaper} 
\usepackage{graphicx}   
\usepackage{longtable}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{colortbl, xcolor}
\usepackage{amssymb}
\usepackage{enumitem}
\usepackage{float}
\usepackage{color}
\usepackage{multirow}
\usepackage{epstopdf}
   \hfuzz=\maxdimen
   \tolerance=10000
   \hbadness=10000


\begin{document}
\begin{longtable}{rL{2cm}L{3.5cm}L{2cm}L{4cm}L{1.8cm}}
  \hline
 & Variable & Description & Type & Values & Missing \\ 
  \hline
1 & sid & child id & string &  &  \\ 
   \rowcolor[gray]{0.8}2 & specnum & specimen number  & string &  &  \\ 
  3 & specseq & specimen sequence & string &  &  \\ 
   \rowcolor[gray]{0.8}4 & spectype & specimen type  & string &  &  \\ 
  5 & vstnum & visit number & integer &  &  \\ 
   \rowcolor[gray]{0.8}6 & vstwk & visit week & string &  &  \\ 
  7 & vstdetail & visit details  & string &  &  \\ 
   \rowcolor[gray]{0.8}8 & lps & α lps gmu/ml (endocab) & integer &  -9= missing & -9 \\ 
  9 & rept & do you need to repeat sample? & categorical & 1 = yes, 2 = no &  \\ 
   \rowcolor[gray]{0.8}10 & resn & reason for repeating & categorical & 3=sample out of range, 4 = assay failed, -9 = not applicable & -9 \\ 
  11 & comnt & comment & string &  &  \\ 
   \rowcolor[gray]{0.8}12 & specdt & date of specimen collection dd/mm/yy & date &  & 1999-09-09 \\ 
  13 & assydt & date assay performed dd/mm/yy & date &  & 1999-09-09 \\ 
   \rowcolor[gray]{0.8}14 & dedt & date entered & date &  & 1999-09-09 \\ 
  15 & qcdt & date checked & date &  & 1999-09-09 \\ 
   \rowcolor[gray]{0.8}16 & batch & assay batch \# & integer &  &  \\ 
  17 & version & batch version & string &  &  \\ 
   \rowcolor[gray]{0.8} \hline
\hline
\end{longtable}
\end{document}

Antwort1

Die Warnung „Box nicht voll“ ist nur eine Warnung und kein Fehler.

\documentclass[landscape]{article}



\usepackage{longtable}

\addtolength\textwidth{120pt}


\usepackage[T1]{fontenc}


\usepackage{array}

\showoutput
\newcolumntype{L}[1]{>{\raggedright\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash\hspace{0pt}}m{#1}}



\begin{document}

\begin{longtable}{rL{2cm}L{3.5cm}L{2cm}L{4cm}L{1.8cm}}
\hline
1 & sid & child id & string &  &  
\end{longtable}


\end{document}

Das Obige zeigt, dass das nicht voll ausgefüllte Feld eine leere Zeile ist, die versucht, eine Baselineskip-Hochstellung einzunehmen, aber nur eine 0,4-Punkt-Hochstellungsregel von enthält \hline.

Dies ist anscheinend eine nicht dokumentierte Funktion des Longtable-Pakets. Ich würde die Schuld dem Autor des Pakets zuschreiben.

Antwort2

Gemäß dem Beispiel von David Carlisle vermeidet das Setzen der oberen/unteren Linien als Kopf/Fuß die Unterfüllungswarnung:

\begin{longtable}{rL{2cm}L{3.5cm}L{2cm}L{4cm}L{1.8cm}}
\hline
\endhead
\hline
\endfoot
1 & sid & child id & string &  &  
\end{longtable}

In meinem Fall war es seltsam, dass ich die exakt gleiche Tabelle in vier Dokumente importiert habe, aber nur eines die Meldung „nicht voll“ generiert hat. Muss etwas damit zu tun haben, wie die Tabelle zum umgebenden (in jedem Dokument unterschiedlichen) Text passt, um die Seite zu füllen.

verwandte Informationen