PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Underfull \hbox in Tabelle



Phantom
10-10-2013, 13:20
Liebe Helfer,

ich habe eine underfull \hbox in einer Tabelle und ich finde die Ursache dafür einfach nicht :o! Ich habe die Schrift ganz klein gemacht um auszuschließen, dass es an den Zellinhalten liegt. Genaue Fehlermeldung lautet:

Underfull \hbox (badness 10000) in paragraph at lines 76--79

Ein weiteres Problem, das ich nicht ganz nachvollziehen kann, ist, dass die Tablenotes anscheinend keinen 1,5-fachen Zeilenabstand mehr haben. Wird dieser durch
\renewcommand{\arraystretch}{1}% beeinflusst? Zumindest sieht es mit dem im Moment auskommentierten %\begin{spacing}{1.5} anders aus.

Ich hoffe auf eure Hilfe! Vielen Dank und mit besten Grüßen
Phantom

Hier mein Beispiel - gerade getestet, sollte lauffähig sein und den Fehler verursachen:


\documentclass[
fontsize=12pt, % Schriftgröße festlegen
]{scrbook}

\usepackage{geometry}
\geometry{includehead=false, includefoot=false, bindingoffset=18.5mm, inner=10.5mm, outer=21mm, top=20mm, bottom=43mm}

\usepackage[onehalfspacing]{setspace}
\usepackage[ngerman]{babel}
\usepackage[tracking=true]{microtype}
\usepackage{ellipsis}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}


\usepackage{array}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{threeparttable}
\usepackage[referable]{threeparttablex}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{siunitx}

% ----------------------------------------------------------------------------------------------------------------------

\newenvironment{9pt_font}{%
\fontsize{9}{10.8} \selectfont%
}{%
}%
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\newcommand{\mcc}[1]{\multicolumn{1}{c}{#1}}

\begin{document}%
\begin{table}%
\renewcommand{\arraystretch}{1}%
\setlength{\tabcolsep}{6pt}%
\captionabove{Verteilung der befragten Mitarbeiter und Führungskräfte auf die vertraglich festgelegte wöchentliche Arbeitszeit}%
\label{tbl:arbeitszeit}%
\begin{ThreePartTable}%
\begin{tiny}%
\begin{tabularx}{\textwidth}{%
X%
S[table-format=2.0]%
S[table-format=3.3]%
c%
S[table-format=3.0]%
S[table-format=3.3]%
}%
\toprule%
\addlinespace[1.5mm]%
\multirow{2}*[-1.75mm]{\parbox{70mm}{\raggedright Vertraglich festgelegte wöchentliche Arbeitszeit in Stunden}}
& \multicolumn{2}{c}{Führungskräfte} & & \multicolumn{2}{c}{Mitarbeiter} \\ \cmidrule(l{.25em}r{.25em}){2-3} \cmidrule(l{.25em}r{.25em}){5-6}%
& \mcc{Anzahl} & \mcc{Prozent} & & \mcc{Anzahl} & \mcc{Prozent} \\%
\addlinespace[1.5mm]%
\midrule%
\addlinespace%
weniger als 10 & \mcc{--} & \mcc{--} & & 9 & 2.3 \\%
\addlinespace%
11 bis 20 & 3 & 4.9 & & 64 & 16.5 \\%
\addlinespace%
21 bis 30 & 6 & 9.8 & & 54 & 13.9 \\%
\addlinespace%
31 bis 40 & 25 & 41.0 & & 194 & 49.9 \\%
\addlinespace%
mehr als 40 & 27 & 44.3 & & 62 & 15.9 \\%
\addlinespace
keine Angabe & \mcc{--} & \mcc{--} & & 6 & 1.5 \\%
\addlinespace%
\midrule%
\addlinespace[1.5mm]%
Gesamt & 61 & 100.0 & & 389 & 100.0 \\%
\addlinespace[1.5mm]%
\bottomrule%
\end{tabularx}%
\end{tiny}%
\begin{scriptsize}%
\begin{tablenotes}[flushleft]%
%\begin{spacing}{1.5}
\note\enspace Die fehlende Auflistung von genau 10 Stunden vertraglich festgelegter Arbeitszeit beruht auf einem konzeptionellen Fehler des Fragebogens. Dort war diese Angabe nicht möglich.%
%\end{spacing}
\end{tablenotes}%
\end{scriptsize}%
\end{ThreePartTable}%
\end{table}%
\end{document}%

klops
10-10-2013, 17:20
Wo die underfull \hbox herkommt, kann ich Dir auf Anhieb auch nicht sagen. Dass im tablenotes-Bereich nicht eineinhalbzeilig gesetzt wird, ist aber AFAIK so gewollt. Fußnoten etc. will man normalerweise nicht eineinhalbzeilig gesetzt haben.

Ansonsten würde ich Dir empfehlen, mal »Kann ich Schriftgrößenumschaltungen auch als Umgebungen verwenden? (http://texwelt.de/wissen/fragen/1852/kann-ich-schriftgroenumschaltungen-auch-als-umgebungen-verwenden)« zu lesen.

Phantom
10-10-2013, 18:27
Hallo Klops,

vielen Dank für den Hinweis. Wieder etwas gelernt, allerdings hatte ich oft Probleme, wenn ich z.B. einfach \tiny gesetzt habe. Ich werde das Beispiel überarbeiten...

Nachtrag:


\newcommand{\wichtig}[1]{{\large #1}}
\newcommand{\wichtigebemerkung}[1]{\par\wichtig{#1\par}}


Diese Stelle verstehe ich nicht, trotz der Erklärungen.


\newcommand{\wichtigebemerkung}[1]{\par\large {#1}\par}


Wieso ginge das nicht? Wird in diesem Fall nicht auch zuerst der Paragraph beendet, dann die Schrift umgeschaltet und dann der Paragraph beendet (unter Einfluss von \large)?

Phantom
10-10-2013, 18:52
Vielen lieben Dank! Das war auch die Ursache für die underfull \hbox! Echt super!



\documentclass[
fontsize=12pt, % Schriftgröße festlegen
]{scrbook}

\usepackage{geometry}
\geometry{includehead=false, includefoot=false, bindingoffset=18.5mm, inner=10.5mm, outer=21mm, top=20mm, bottom=43mm}

\usepackage[onehalfspacing]{setspace}
\usepackage[ngerman]{babel}
\usepackage[tracking=true]{microtype}
\usepackage{ellipsis}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}


\usepackage{array}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{threeparttable}
\usepackage[referable]{threeparttablex}
\usepackage{tabularx}
\usepackage{multirow}
\usepackage{siunitx}
\usepackage{blindtext}

% ----------------------------------------------------------------------------------------------------------------------

\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\newcommand{\mcc}[1]{\multicolumn{1}{c}{#1}}

\newenvironment{9pt_text}{\par\fontsize{9}{10.8}\s electfont}{\par}%
\newenvironment{tiny_text}{\par\tiny}{\par}%
\newenvironment{script_text}{\par\scriptsize}{\par }%
\newenvironment{footnote_text}{\par\footnotesize}{ \par}%


\begin{document}%
\begin{table}%
\renewcommand{\arraystretch}{1}%
\setlength{\tabcolsep}{6pt}%
\captionabove{Verteilung der befragten Mitarbeiter und Führungskräfte auf die vertraglich festgelegte wöchentliche Arbeitszeit}%
\label{tbl:arbeitszeit}%
\begin{ThreePartTable}%
\begin{footnote_text}%
\begin{tabularx}{\textwidth}{%
X%
S[table-format=2.0]%
S[table-format=3.3]%
c%
S[table-format=3.0]%
S[table-format=3.3]%
}%
\toprule%
\addlinespace[1.5mm]%
\multirow{2}*[-1.75mm]{\parbox{70mm}{\raggedright Vertraglich festgelegte wöchentliche Arbeitszeit in Stunden}}
& \multicolumn{2}{c}{Führungskräfte} & & \multicolumn{2}{c}{Mitarbeiter} \\ \cmidrule(l{.25em}r{.25em}){2-3} \cmidrule(l{.25em}r{.25em}){5-6}%
& \mcc{Anzahl} & \mcc{Prozent} & & \mcc{Anzahl} & \mcc{Prozent} \\%
\addlinespace[1.5mm]%
\midrule%
\addlinespace%
weniger als 10 & \mcc{--} & \mcc{--} & & 9 & 2.3 \\%
\addlinespace%
11 bis 20 & 3 & 4.9 & & 64 & 16.5 \\%
\addlinespace%
21 bis 30 & 6 & 9.8 & & 54 & 13.9 \\%
\addlinespace%
31 bis 40 & 25 & 41.0 & & 194 & 49.9 \\%
\addlinespace%
mehr als 40 & 27 & 44.3 & & 62 & 15.9 \\%
\addlinespace
keine Angabe & \mcc{--} & \mcc{--} & & 6 & 1.5 \\%
\addlinespace%
\midrule%
\addlinespace[1.5mm]%
Gesamt & 61 & 100.0 & & 389 & 100.0 \\%
\addlinespace[1.5mm]%
\bottomrule%
\end{tabularx}%
\end{footnote_text}%
\begin{tablenotes}[flushleft]%
\begin{script_text}%
\note\enspace Die fehlende Auflistung von genau 10 Stunden vertraglich festgelegter Arbeitszeit beruht auf einem konzeptionellen Fehler des Fragebogens. Dort war diese Angabe nicht möglich.%
\end{script_text}%
\end{tablenotes}%
\end{ThreePartTable}%
\end{table}%
\end{document}%

klops
14-10-2013, 08:51
Bezüglich dessen, was Du nicht verstanden hast, musst Du etwas genauer sein, damit ich weiß, was ich Dir davon erklären muss. Die Befehle \newocmmand und \par und das Prinzip der Gruppenklammern »{…}« ist Dir geläufig? Wenn ja, was hast Du dann nicht verstanden?





\newcommand{\wichtigebemerkung}[1]{\par\large {#1}\par}


Wieso ginge das nicht?
Das wird sogar schon in der Frage mit dem Link auf Was ist an \Huge{Text}, \Large{Text}, \footnotesize{Text} etc. falsch? (http://texwelt.de/wissen/fragen/1849) beantwortet. also solltest Du das vielleicht noch einmal gründlicher bzw. in Ruhe durchlesen.