underfull und overfull hbox in Tabellen

Tabellen und Grafiken erstellen und anordnen


Benutzeravatar
lunen
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Mi 18. Mai 2016, 23:37

underfull und overfull hbox in Tabellen

Beitrag von lunen »

Hallo zusammen,

ich habe folgende Tabelle:
\documentclass[paper=a4,
               ngerman]
               {scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{booktabs}
\usepackage{geometry}
\usepackage{microtype}
\usepackage{siunitx}

\geometry{
  left=2.2cm,
  right=1.8cm,
  top=3cm,
  bottom=3cm}

\DeclareSIUnit[number-unit-product = \,]\eq{eq.}

\begin{document}
\begin{table}[ht]
    \caption{Ansatzgrößen}
     \begin{tabular}{p{4cm}p{2.3cm}p{1.2cm}p{2cm}p{2cm}p{1cm}p{1.4cm}}
    \toprule
        Substanz &%
        Molare Masse \si{\gram\per\mole} &%
        Dichte \si{\gram\per\cubic\centi\metre} &%
        Stoffmenge \si{\mole} &%
        Äquivalente \si{\eq} &%
        Masse \si{\gram} &%
        Volumen \si{\milli\liter}  \\
        \midrule
        A"-di"-pin"-säu"-re"-ethyl"-ester"-mono"-chlorid & 192.64 & - & 0.189 & 1 & 36.43 & -\\
        \bottomrule
    \end{tabular}
\end{table}
\end{document}
Ich bekomme für die verschiedenen Spalten underfull und overfull hbox Warnungen. Gibt es eine elegante Möglichkeit, dies zu beheben? Oder eine allgemein bessere Möglichkeit Tabellen dieser Art zu gestalten?
Prinzipiell ist mir klar, was die Warnungen mir sagen wollen.

Es ist gewollt, dass die Einheiten unterhalb der Spaltendeklaration stehen, weshalb p-Spalten gewählt wurden.

Vielen Dank,
Gruß
Lunen
Warum nicht gleich mit Ether statt mit einem Keton, knallt noch besser; für die Entsorgung sollte man allerdings den Kampfmittelräumdienst kommen lassen

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Warum benutzt Du nicht den Spaltentyp S und schreibst die Einheiten in die nächste Zeile?
\documentclass[ngerman, captions=tableheading]{scrreprt}% <- geändert
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{babel}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{geometry}
\usepackage{microtype}
\usepackage{siunitx}
\usepackage{showframe}

\geometry{
  left=2.2cm,
  right=1.8cm,
  top=3cm,
  bottom=3cm
}

\sisetup{locale=DE}

\DeclareSIUnit[number-unit-product = \,]\eq{eq.}

\begin{document}
\begin{table}[ht]
	\caption{Ansatzgrößen}
	\begin{tabularx}{\textwidth}{X *6S}
	\toprule
	Substanz & 
	{Molare Masse} &
	{Dichte} &
	{Stoffmenge} &
	{Äquivalente} &
	{Masse} &
	{Volumen} \\
	& \si{\g\per\mole} & 
	\si{\g\per\cubic\cm} & 
	\si{\mole} & 
	\si{\eq} & 
	\si{\g} & 
	\si{\mL}\\
	\midrule
	Adipinsäureethylestermo"-nochlorid & 192.64 & {--} & 0.189 & 1 & 36.43 & {--}\\
	\bottomrule
	\end{tabularx}
\end{table}
\end{document}

Benutzeravatar
lunen
Forum-Anfänger
Forum-Anfänger
Beiträge: 21
Registriert: Mi 18. Mai 2016, 23:37

Beitrag von lunen »

Vielen Dank.
Das Paket tabularx ist mir zwar hin und wieder in die Hände gefallen, nur habe ich seine Verwendung nicht ganz verstanden.
Eine S-Spalte ist Spalte, in der Zahlen am Dezimaltrennzeichen orientiert werden. Das X macht im Prinzip eine p-Spalte daraus. Woran orientiert sich den TeX nun, dass die Spaltenbreite optimal gesetzt wird?

Und ja, ich kann auch eine neue Zeile für die Einheiten aufmachen. Ist, glaube ich, noch ein Relikt aus Zeiten ohne booktabs.

Gruß
Lunen
Warum nicht gleich mit Ether statt mit einem Keton, knallt noch besser; für die Entsorgung sollte man allerdings den Kampfmittelräumdienst kommen lassen

Antworten