Overfull \vbox Warnung durch Abkürzungsverzeichnis

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


godlyblade
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 31. Jul 2014, 18:07

Overfull \vbox Warnung durch Abkürzungsverzeichnis

Beitrag von godlyblade »

Hallo Zusammen,
wenn ich den unten aufgeführten Code ausführe und mein Abkürzungsverzeichnis ausgebe, erhalte ich die folgende Warnung:
Overfull \vbox (1.63599pt too high) has occurred while \output is active
Ich nehme an, dass diese Warnung in meinem \renewenvironment{theglossary} begründet liegt und auftritt, wenn LaTeX sich nicht zwischen einem Seitenumbruch und keinem Seitenumbruch entscheiden kann. Sobald ich eine Abkürzung hinzufüge oder entferne verschwindet die Warnung. Gibt es eine Möglichkeit Latex in diesen Situationen zu einem Seitenumbruch zu zwingen bzw. die Warnung zu eliminieren?
\documentclass[fontsize=12pt,paper=a4,headings=normal]{scrbook}
\usepackage[right=30mm,left=30mm,top=15mm,bottom=20mm,includeheadfoot]{geometry}
\usepackage{caption}
\usepackage[onehalfspacing]{setspace}
\usepackage[nonumberlist,acronym,toc,automake]{glossaries-extra}

% Format list of abbreviations
\newglossarystyle{mylong}{
\setglossarystyle{long}
\renewenvironment{theglossary}{\begin{longtable*}[l]{@{}p{\dimexpr 2cm-\tabcolsep}p{0.8\hsize}}}{\end{longtable*}}}

% List of abbreviations
\newacronym[plural=CH\textsubscript{4},firstplural=CH\textsubscript{4},description={Methan}]{CH4}{CH\textsubscript{4}}{Methan}

\newacronym[plural=CO,firstplural=CO,description={Kohlenstoffmonoxid}]{CO}{CO}{Kohlenstoffmonoxid}

\newacronym[plural=CO\textsubscript{2},firstplural=CO\textsubscript{2},description={Kohlenstoffdioxid}]{CO2}{CO\textsubscript{2}}{Kohlenstoffdioxid}

\newacronym[plural=e\textsuperscript{$-$},firstplural=e\textsuperscript{$-$},description={Negativ geladenes Elektron}]{e-}{e\textsuperscript{$-$}}{Elektronen}

\newacronym[plural=H\textsubscript{2}O,firstplural=H\textsubscript{2}O,description={Wasser}]{H2O}{H\textsubscript{2}O}{Wasser}

\newacronym[plural=H\textsubscript{2}S,firstplural=H\textsubscript{2}S,description={Schwefelwasserstoff}]{H2S}{H\textsubscript{2}S}{Schwefelwasserstoff}

\newacronym[plural=H\textsuperscript{$+$},firstplural=H\textsuperscript{$+$},description={Positiv geladenes Wasserstoffion}]{H+}{H\textsuperscript{$+$}}{Wasserstoffionen}

\newacronym[plural=HCL,firstplural=HCL,description={Chlorwasserstoff}]{HCL}{HCL}{Chlorwasserstoff}

\newacronym[plural=JFET,firstplural=JFET,description={Sperrschicht-Feldeffekttransistor}]{JFET}{JFET}{Sperrschicht-Feldeffekttransistor}

\newacronym[plural=NH\textsubscript{3},firstplural=NH\textsubscript{3},description={Ammoniak}]{NH3}{NH\textsubscript{3}}{Ammoniak}

\newacronym[plural=C\textsubscript{3}H\textsubscript{8},firstplural=C\textsubscript{3}H\textsubscript{8},description={Propan}]{C3H8}{C\textsubscript{3}H\textsubscript{8}}{Propan}

\newacronym[plural=NO,firstplural=NO,description={Stickstoffmonoxid}]{NO}{NO}{Stickstoffmonoxid}

\newacronym[plural=NTC,firstplural=NTC,description={Negative Temperature Coefficient}]{NTC}{NTC}{negative temperature coefficient}

\newacronym[plural=Pb,firstplural=Pb,description={Blei}]{Pb}{Pb}{Blei}

\newacronym[plural=NO\textsubscript{2},firstplural=NO\textsubscript{2},description={Stickstoffdioxid}]{NO2}{NO\textsubscript{2}}{Stickstoffdioxid}

\newacronym[plural=O\textsubscript{2},firstplural=O\textsubscript{2},description={Sauerstoff}]{O2}{O\textsubscript{2}}{Sauerstoff}

\newacronym[plural=H\textsubscript{2},firstplural=H\textsubscript{2},description={Molekularer Wasserstoff}]{H2}{H\textsubscript{2}}{molekularer Wasserstoff}

\newacronym[plural=OPs,firstplural=OP,description={Operationsverstärker}]{OP}{OP}{Operationsverstärkern}

\newacronym[plural=SO\textsubscript{2},firstplural=SO\textsubscript{2},description={Schwefeldioxid}]{SO2}{SO\textsubscript{2}}{Schwefeldioxid}

\newacronym[plural=``R'',firstplural=``R'',description={Referenzelektrode}]{R}{``R''}{Referenzelektrode}

\newacronym[plural=``S'',firstplural=``S'',description={Messelektrode}]{S}{``S''}{Messelektrode}

\newacronym[plural=``C'',firstplural=``C'',description={Gegenelektrode}]{C}{``C''}{Gegenelektrode}

\makeglossaries

\begin{document}

\printglossary[style=mylong,type=\acronymtype,title=Abkurzungsverzeichnis]
\chapter{Test}
\gls{e-}
\gls{H2S}
\gls{H+} 
\gls{H2O}
\gls{CO}
\gls{CO2}
\gls{CH4}
\gls{HCL}
\gls{JFET}
\gls{NH3}
\gls{C3H8}
\gls{NO}
\gls{NTC}
\gls{Pb}
\gls{NO2}
\gls{O2}
\gls{H2}
\gls{SO2}
\gls{OP}
\gls{R}
\gls{S}
\gls{C}
\end{document}
Danke!
Zuletzt geändert von godlyblade am Mi 4. Jul 2018, 08:28, insgesamt 1-mal geändert.

Gast

Re: Titel: Overfull \vbox Warnung im Abkürzungsverzeichnis

Beitrag von Gast »

Vorab: Bitte bemühe Dich bei Deinen Fragen um Exaktheit. Es geht hier ganz sicher nicht um das Abbildungsverzeichnis, sondern um das Abkürzungsverzeichnis/Glossar.

Solange es dadurch nicht zu einer Leerseite kommt, würde ich mir bei 1.6 pt nicht allzu viele Gedanken machen.

Problem ist (wie übrigens nicht ganz selten) das onehalfspacing. Man könnte nun geometry nach setspace laden und dort Option heightrounded (Bedeutung in der [d]geometry[/d]-Anleitung nachlesen!) angeben. Dann erhält man im Beispiel eine underfull \vbox statt einer overfull \vbox. Die führt wenigstens nie dazu, dass Material extrem frühzeitig auf die nächste Seite umbrochen wird. Man könnte auch in der Definition von mylong ein \singlespacing ergänzen:
\newglossarystyle{mylong}{%
\setglossarystyle{long}%
\renewenvironment{theglossary}{\singlespacing\begin{longtable*}[l]{@{}p{\dimexpr 2cm-\tabcolsep}p{0.8\hsize}}}{\end{longtable*}}}
und so das Verzeichnis mit normalem Zeilenabstand setzen. Das wäre auch für andere Verzeichnisse kein Fehler (wird auch in der [d]KOMA-Script[/d]-Anleitung in Kapitel 2 erklärt).

Eine andere Möglichkeit wäre, den vertikalen Ausgleich im Glossar abzuschalten (im Code das \singlespacing durch \raggedbottom ersetzen). Allerdings wird das auf der letzten Seite des Glossars (also im gezeigten Beispiel) nicht funktionieren.

Man kann aber auch einfach zusätzliche Absätze zwischen den Gruppen einfügen, indem man dort die Tabelle beendet und neu beginnt:
\newglossarystyle{mylong}{%
  \setglossarystyle{long}%
  \ifglsnogroupskip\else
    \renewcommand*{\glsgroupskip}{%
      \end{longtable*}%
      % Hier ggf. ein \vskip mit glue einfügen, wenn der Abstand größer oder
      % kleiner sein soll, beispielsweise:
      \vskip -.5\baselineskip plus .1\baselineskip minus .1\baselineskip
      \begin{longtable*}[l]{@{}p{\dimexpr .2\hsize-2\tabcolsep}p{0.8\hsize}@{}}%
    }%
  \fi  
  \renewenvironment{theglossary}{%
    \begin{longtable*}[l]{@{}p{\dimexpr .2\hsize-2\tabcolsep}p{0.8\hsize}@{}}%
  }{%
    \end{longtable*}%
  }%
}
Kommentiert man die \vskip-Anweisung aus, so wird der Abstand deutlich größer.

BTW: Ich habe auch gleich die Berechnung der Spaltenbreiten korrigiert. Soll die erste Spalte tatsächlich 2cm breit sein, würden die beiden Tabellendefinitionen so aussehen:
    \begin{longtable*}[l]{@{}p{2cm}p{\dimexpr \hsize-2cm-2\tabcolsep}@{}}%

Antworten