Underfull \hbox (badness nnnn) in paragraph

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Underfull \hbox (badness nnnn) in paragraph

Re: Underfull \hbox (badness nnnn) in paragraph

von huebi » Mo 6. Jun 2022, 11:30

gast. hat geschrieben:
Sa 4. Jun 2022, 17:42
Wenn du den Standardfont von pdfLaTeX verwendest, dann sei darauf hingewiesen, dass Computer Modern und European Computer Modern nicht frei skalierbar sind. Hier hilft dann, einen anderen Font zu verwenden, beispielsweise den unter dem Link ebenfalls empfohlenen Font Latin Modern zu verwenden. Oder du wechselst zu einer modernere Engine wie LuaTeX, verwendest also LuaLaTeX, dann ist der Standardfont bereits frei skalierbar.
Ok, für die, die es interessiert: es liegt an der Kombination von numrange aus SIunitx und nicefrac/sfrac.

Eingeengt habe ich es mittels \usepackage{comment} und binärer Suche.
\numrange[parse-numbers=false]{\nicefrac{1}{2}}{1}&\unit{\el}&Rosenscharfes Paprikapulver \\
bringt die Warnung nicht, wohingegen
\numrange[parse-numbers=false]{\sfrac{1}{2}}{1}&\unit{\el}&Rosenscharfes Paprikapulver \\
die Warnung ausspuckt. Das 1/2 welches beide Varianten unterschiedlich ausspucken ist also des Pudels Kern.

Und LuaLatex habe ich mal ausprobiert. Muss ich sagen: Nein danke verzichte. Mehrere Dutzend neue overfull hbox, ein Dutzend neue underfull hbox und wer weiss wieviele illegal PDF Token verursacht durch hyperref tu ich mir jetzt nicht an, nachdem ich die jetzt erfolgreich niedergekämpft habe.

Mal sehen was sich jetzt mit den Komaklassen beisst, aber das ist eine andere Geschichte und soll ein andermal erzählt werden.

Re: Underfull \hbox (badness nnnn) in paragraph

von gast. » Sa 4. Jun 2022, 17:42

huebi hat geschrieben:
Sa 4. Jun 2022, 16:43
Ich bin jetzt das Log file hoch und runter, aber hab keine Ahnung welches Package denn nun die deprecated Sachen benutzt.
Ist denn so wichtig, welches Paket genau das ist? Hilft denn der Tipp aus dem von KOMA verlinkten Wiki nicht? Falls nicht, dann kann man den Verursache durch Minimieren mit Sicherheit herausfinden. Und so, wie ich KOMA kenne, ist bei einem entsprechenden Report (also mit Minimalbeispiel) eventuell sogar bereit, ggf. einen weiteren Hack zu basteln.
huebi hat geschrieben:
Sa 4. Jun 2022, 16:43
Auch hier bin völlig ratlos. Ich keinen speziellen Font eingebaut.
Wenn du den Standardfont von pdfLaTeX verwendest, dann sei darauf hingewiesen, dass Computer Modern und European Computer Modern nicht frei skalierbar sind. Hier hilft dann, einen anderen Font zu verwenden, beispielsweise den unter dem Link ebenfalls empfohlenen Font Latin Modern zu verwenden. Oder du wechselst zu einer modernere Engine wie LuaTeX, verwendest also LuaLaTeX, dann ist der Standardfont bereits frei skalierbar.
huebi hat geschrieben:
Sa 4. Jun 2022, 16:43
Ich verwende auch dieselbe Präambel in drei Büchern und nur eine der Dateien bringt diese Warnung.
Dann verwendet offenbar nur die eine Datei eine unpassende Schriftgröße. Auch das kannst du leicht mit einem Minimalbeispiel eingrenzen.

Wenn du also mit den von KOMA gegebenen Tipps und Links nicht weiterkommst, dann bringt es nicht, hier weiter herumzueiern. Dann solltest du neue qualifizierte Fragen (also jeweils mit Minimalbeispiel) im jeweils passenden Forum stellen.

Re: Underfull \hbox (badness nnnn) in paragraph

von huebi » Sa 4. Jun 2022, 16:43

KOMA hat geschrieben:
Do 2. Jun 2022, 09:19
huebi hat geschrieben:
Mi 1. Jun 2022, 18:34
\float@addtolists detected!(scrbook) Implementation of \float@addtolist became(scrbook) deprecated in KOMA-Script v3.01 2008/11/14 and(scrbook) has been replaced by several more flexible(scrbook) features of package `tocbasic`.
Dazu wird man beispielsweise im KOMA-Script-Wiki im Bereich Fehlermeldungen und Warnungen bzw. Error Messages and Warnings und ebenfalls in diversen LaTeX-Foren fündig.
Ich bin jetzt das Log file hoch und runter, aber hab keine Ahnung welches Package denn nun die deprecated Sachen benutzt.
KOMA hat geschrieben:
Do 2. Jun 2022, 09:19
huebi hat geschrieben:
Mi 1. Jun 2022, 18:34
Size substitutions with differences(Font) up to 3.25pt have occurred.
Du verwendest offenbar einen nicht frei skalierbaren Font und forderst Schriftgrößen an, die nicht verfügbar sind. Dazu findet man ebenfalls diverse Beiträge in den Foren.
Auch hier bin völlig ratlos. Ich keinen speziellen Font eingebaut. Ich verwende auch dieselbe Präambel in drei Büchern und nur eine der Dateien bringt diese Warnung. Da die Präambel stets die gleiche ist muss es am Text liegen. Nur an was?

Re: Underfull \hbox (badness nnnn) in paragraph

von KOMA » Do 2. Jun 2022, 09:19

huebi hat geschrieben:
Mi 1. Jun 2022, 18:34
musste ich bei Bio-Weichweizenmehl auch mit Trennzeichen nachhelfen.
Gebetsmühle: Komposita mit Bindestrich werden aus typografischen Gründen von TeX normalerweise nur am Bindestrich umbrochen, aber nicht getrennt. Abhilfe → babel-german (und ganz viele Beiträge in diversen LaTeX-Foren). Wobei man inzwischen Komposita mit Bindestrich mit Tricks auch bei \hyphenation mit angeben könnte. Da ich aber aus typografischen Gründen ausdrücklich davon abrate, selbe immer überall trennen zu lassen, und stattdessen dazu rate, nur in Ausnahmefällen, weitere Trennungen zu erlaube, ist das manuelle Einfügen dedizierter Trennstellen wie Bio-Weichweizen\-mehl oder allenfalls Bio-Weich\-weizen\-mehl durchaus eine taugliche Option. Man sollte sich aber, wie gezeigt, auf die Trennungen in den Wortfugen beschränken. Trennungen an anderen Stellen sollten die absolute Notfall-Ausnahme bleiben. Es gibt ja auch diverse andere Möglichkeiten, den Umbruch zu verändern. TeX macht ja keinen Zeilen- sondern einen Absatzumbruch.
huebi hat geschrieben:
Mi 1. Jun 2022, 18:34
scheint also unterschiedliche Gründe zu haben
Klar. Deshalb gibt es ja auch so viele und so lange Beiträge dazu in den Foren. Wenn es eine einzige, optimale Lösung gäbe, dann bräuchte es auch nur einen einzigen kurzen Beitrag dazu.
huebi hat geschrieben:
Mi 1. Jun 2022, 18:34
\float@addtolists detected!(scrbook) Implementation of \float@addtolist became(scrbook) deprecated in KOMA-Script v3.01 2008/11/14 and(scrbook) has been replaced by several more flexible(scrbook) features of package `tocbasic`.
Dazu wird man beispielsweise im KOMA-Script-Wiki im Bereich Fehlermeldungen und Warnungen bzw. Error Messages and Warnings und ebenfalls in diversen LaTeX-Foren fündig.
huebi hat geschrieben:
Mi 1. Jun 2022, 18:34
Size substitutions with differences(Font) up to 3.25pt have occurred.
Du verwendest offenbar einen nicht frei skalierbaren Font und forderst Schriftgrößen an, die nicht verfügbar sind. Dazu findet man ebenfalls diverse Beiträge in den Foren.

Anmerkung am Rande und weil es mir gerade einfällt: Absurder Weise beschweren sich immer wieder Word-Umsteiger insbesondere über die vielen Umbruchwarnungen von TeX. Klar, bei Word gab es solche Warnungen nicht. Aber der Umbruch war dort meist viel schlechter. Word tut nur so, als wäre alles in bester Ordnung und schon sind die Anwender selbst mit dem größten typografischen Müll zufrieden. Irgendwie aber doch nicht und deshalb steigen sie zu TeX um und beschweren sich dann, wenn TeX ihnen sagt, dass es Hilfe braucht, um die aktuellen Umbruchparameter einhalten zu können, statt einfach stillschweigend eine mehr oder weniger schlechtere Lösung zu verwenden.

Achja: In Tabellen bietet LaTeX normalerweise sogar selbst diese schlechtere Lösung an. Deshalb gibt es die underfull \hbox(es). In der Voreinstellung des normalen Textes würde TeX hingegen meist mit einer overfull \hbox aufgeben. Als Nebenwirkung gibt sich LaTeX bei Tabellen generell mit einem etwas schlechteren Umbruch zufrieden. Das ist genau der Unterschied zwischen \sloppy (ggf. schlechter als notwendig aber lieber underfull als overfull) und \fuzzy (möglichst optimal und wenn nicht dann lieber deutlich per overfull). In Tabellen verwendet LaTeX \sloppy. Innerhalb von \parbox und minipage und Gleitumgebungen übrigens AFAIR auch (was bei breiten Boxen eher unnötig und damit suboptimal ist). Warum es das außerdem auch bei Fußnoten macht, habe ich nie ganz verstanden. Da Fußnoten normalerweise in kleinerem Font als die Spalte gesetzt werden, ist es dort eigentlich besonders absurd. Aber gut, es ist eben so.

Aber das führt jetzt schon wieder viel zu weit und verwirrt den Anfänger eher. Die vorherigen zwei Absätze sind also eher zur Auflockerung gedacht. Anfänger sollten die nicht so ernst nehmen und vor allem nicht daraus ableiten, dass sie noch mehr Handlungsbedarf haben. Sie sollten daraus allenfalls ableiten, dass man nicht jede underfull \hbox gleich als Drama sehen muss. Selbst bei einer overfull \hbox im Bereich der Druckerauflösung sollten sie diese erst einmal hintanstellen. In erster Linie sollten sie daraus aber lernen, dass ein guter Umbruch eine durchaus komplexe Aufgabe ist, die 50 Jahre alte Software alleine nicht immer optimal lösen kann. BTW: Wer wissen will, wie schwierig das mitunter ist, darf sich gerne freiwillig für die Korrekturleserunden des KOMA-Script-Buchs melden oder selbst einmal versuchen, den nicht optimierten Umbruch der freien Anleitung zu optimieren. Mit den vielen, langen nicht umbrechbaren Befehlsnamen, komme ich jedes Mal ins Schwitzen. Ohne überflüssige Füllwörter, Satzumstellungen, Suche nach Synonymen etc. geht das nie. Übrigens ist das eine Technik, zu der auch Schriftsetzer über Jahrhunderte gegriffen haben. Sollte man nicht für möglich halten …

Re: Underfull \hbox (badness nnnn) in paragraph

von huebi » Mi 1. Jun 2022, 18:34

Hab gerade mal mein umfangreichstes Buch angefasst. Und dabei gesehen, dass es wohl doch nicht an den Referenzen liegt, sondern anscheinend an der rechten Soalte, denn bei
250&\unit{\g}&Bio-Hartweizenmehl und griffiges Bio-Weich\-weizen\-mehl 1:1 gemischt \\
musste ich bei Bio-Weichweizenmehl auch mit Trennzeichen nachhelfen.

Und das ganze war jetzt wieder voreilig denn ich habe die hboxen gehabt

- in der Tabelle mit Referenz
- in der Tabelle ohne Referenz
- im Fliesstext mit Referenz

scheint also unterschiedliche Gründe zu haben. Zumindest habe ich Warnungen nun in allen Dokumenten weg und jetzt zwei neue :)
\float@addtolists detected!(scrbook) Implementation of \float@addtolist became(scrbook) deprecated in KOMA-Script v3.01 2008/11/14 and(scrbook) has been replaced by several more flexible(scrbook) features of package `tocbasic`.

Size substitutions with differences(Font) up to 3.25pt have occurred.
Was das jetzt heisst habe ich mich noch nicht drum gekümmert.

Re: Underfull \hbox (badness nnnn) in paragraph

von huebi » Mi 1. Jun 2022, 17:42

gast. hat geschrieben:
Mi 1. Jun 2022, 08:00
Dass du ein Umbruchproblem in der ersten Zeile der Tabelle hast, hat du ja wohl sicher schon gesehen.
Ja, gesehen schon, aber ich wollte erstmal das andere Zeug abarbeiten und zumindest ansatzweise verstehen. Das dumme daran ist, dass dies bei allen angemeckerten hboxen der gemeinsame Nenner war. Das habe ich leider nicht erkannt. Ich habs jetzt erstmal mit manuellen Trennstellen gefixed, bis auf zwei, wo Latex wohl nichts mehr zusamenquetschen kann um den Leerraum zu füllen. Das habe ich erstmal mit einer Kurzform der Überschrift gefixed. Zumiondest im zweiten Dokument habe ich damit alle Stellen beheben können. Das dritte Dokument ist mir zu umfangreich, das habe ich nocht nicht angefangen.
gast. hat geschrieben:
Mi 1. Jun 2022, 08:00
Ggf. muss man also herausfinden, warum bei \nameref nicht getrennt wird.
Bisher habe ich es mit manuellen Trennstellen und Kurzformen ganz gut hinbekomen, mal sehen wie es im umfangreichsten Dokument aussieht.
gast. hat geschrieben:
Mi 1. Jun 2022, 08:00
Overfull und underfull \hboxes haben übrigens wenig bis gar nichts mit KOMA-Script zu tun.
Was mich dazu getrieben hat scrguide nochmals zu konsultieren war diese Aussage:
KOMA hat geschrieben:
Mi 4. Mai 2022, 11:48
Und dann ist natürlich die Kombination von parskip=half und einer Tabelle über die komplette Seitenbreite ein Problem (das in der KOMA-Script-Anleitung allgemein erwähnt wird). Man sollte also die Tabelle selbst mit anderen Absatzeinstellungen setzen. Siehe dazu Option parskip in einer der Anleitungen zu KOMA-Script.
gast. hat geschrieben:
Mi 1. Jun 2022, 08:00
Daher sollte man von dessen Anleitung auch nicht erwarten, dass sie diese Problematik behandelt. Bezüglich der Flatterzone dürfte da die Anleitung zu ragged2e eher von Interesse sein.
Sicherlich nicht verkehrt, aber zumindest kam Latex recht gut mit den Einstellungen klar, bis auf die Nicht-Trennung der Referenzen.
gast. hat geschrieben:
Mi 1. Jun 2022, 08:00
...bringt einem dann auch zu dem sehr nützlichen Beitrag auf TeXwelt, der diverse Lösungsansätze erwähnt. Wie oben, manuelle Trennmöglichkeiten einzubauen, wird dort ebenfalls erwähnt, auch wenn das oftmals die unhandlichste der Möglichkeiten ist.
Den Artikel habe ich zwar gefunden, aber nicht genügend Beachtung geschenkt. Irgendwie hatte ich kein Augenmerk auf die Referenzen und war zu sehr darauf fixiert zu verstehen wieso zu kurzer Text zu Warnungen führt.
gast. hat geschrieben:
Mi 1. Jun 2022, 08:00
Zum Minimalisieren eines Beispiels gehört übrigens auch die Minimierung der Präambel, die ich bei dir ein wenig vermisse, wodurch das Beispiel für mich sehr unübersichtlich ist.
Ja sorry, da hätte ich noch einiges rauskürzen können, was im Beispiel nicht verwendet wird. Da war ich aber übervorsichtig weil ich sicher gehen wollte dass die Warnung auch hier auftritt. Ich kann die hier leider nicht sehen. Deswegen habe ich auch noch etwas Blindtext hinzugefügt.
gast. hat geschrieben:
Mi 1. Jun 2022, 08:00
Mir ist auch nicht klar, warum du für die Spalte mit den Einheiten nicht einfach eine l-Spalte verwendest.
Weil es Rezeptmäßig auch Einheiten gibt wie Rösdchen, Kolben, Handvoll und gehäufte Löffel. Und mit dieser Abmerkung habe ich dann auch noch geseh dass ich mit den gehäuftenm Löffeln inkonsistent war und diese mal bei der Menge, mal bei der Einheit stand.
gast. hat geschrieben:
Mi 1. Jun 2022, 08:00
Mir fällt nur auf, dass im Code noch potentielle unerwünschte Leerzeichen durch nicht auskommentierte Zeilenenden in Definitionen wie \see enthalten sind. Solche können natürlich auch Auswirkungen auf den Umbruch haben.
Habe ich auch erstmal gefixed, hatte dann aber keinen sichtbaren Einfluss. Und muss ich mich wirklich dran gewöhnen, ich bin es vom programmieren gewohnt dass whitespaces keinen Einfluss haben.
gast. hat geschrieben:
Mi 1. Jun 2022, 08:00
Außerdem verwendest du veraltete siunitx-Einstellungen. Solche Warnungen in der log-Datei verdienen min. so viel Aufmerksamkeit wie die eine oder andere underfull \hbox.
Auch das habe ich gefixed und die Parameter zusammengefasst. detect-weight, detect-family zusamen mit detect-all waren ja auch nicht gerade sinnvoll.

Re: Underfull \hbox (badness nnnn) in paragraph

von gast. » Mi 1. Jun 2022, 08:00

Dass du ein Umbruchproblem in der ersten Zeile der Tabelle hast, hat du ja wohl sicher schon gesehen. Eventuell hilft \addsec{Grundrezept Strudel\-teig} das im Querverweis zu verbessern. Allerdings ist das nicht immer eine gute Lösung, weil es natürlich auch den Umbruch der Überschrift beeinflussen kann. Ggf. muss man also herausfinden, warum bei \nameref nicht getrennt wird.

Ansonsten sei darauf hingewiesen, dass der obige Hinweise zur Flatterzone und einem daraus resultierenden Problem bei den mit \RaggedLeft definierten, schmalen R-Spalten, natürlich auch für schmale L-Spalten mit \RaggedRight gilt.

Overfull und underfull \hboxes haben übrigens wenig bis gar nichts mit KOMA-Script zu tun. Daher sollte man von dessen Anleitung auch nicht erwarten, dass sie diese Problematik behandelt. Bezüglich der Flatterzone dürfte da die Anleitung zu ragged2e eher von Interesse sein. Bezüglich des allgemeinen Problems wird man u. a. hier im Forum fündig. Gleich einer der ersten Treffer, die sich nicht auf diese Diskussion beziehen, bringt einem dann auch zu dem sehr nützlichen Beitrag auf TeXwelt, der diverse Lösungsansätze erwähnt. Wie oben, manuelle Trennmöglichkeiten einzubauen, wird dort ebenfalls erwähnt, auch wenn das oftmals die unhandlichste der Möglichkeiten ist.

Zum Minimalisieren eines Beispiels gehört übrigens auch die Minimierung der Präambel, die ich bei dir ein wenig vermisse, wodurch das Beispiel für mich sehr unübersichtlich ist. Mir ist auch nicht klar, warum du für die Spalte mit den Einheiten nicht einfach eine l-Spalte verwendest. Zeilenumbruch brauchst darin ja sicher nicht. Auch die erste Spalte würde ich wohl eher entweder als r-Spalte oder mit siunitx setzen. Du wirst schon irgendwelche Gründe dafür haben. Deshalb will ich auch gar nicht erst eine fertige Lösung in Angriff nehmen. :( Mir fällt nur auf, dass im Code noch potentielle unerwünschte Leerzeichen durch nicht auskommentierte Zeilenenden in Definitionen wie \see enthalten sind. Solche können natürlich auch Auswirkungen auf den Umbruch haben. Außerdem verwendest du veraltete siunitx-Einstellungen. Solche Warnungen in der log-Datei verdienen min. so viel Aufmerksamkeit wie die eine oder andere underfull \hbox.

Re: Underfull \hbox (badness nnnn) in paragraph

von huebi » Di 31. Mai 2022, 19:36

So, das war genug Stoff um mich damit auseinander zu setzen, danke dafür. Hat etwas länger gedauert, aber habe mich auch nochmal mit der Anleitung zu KOMA-script auseinander gesetzt. Ich habe die Änderungen mal umgesetzt und in einem Buch sind auch alle undefull boxen weg. Mit der geänderten Präambel bin ich dann das zweite Buch angegangen, und es waren wieder haufenweise underfull boxen vorhanden. Und ich habe absolut keine Ahnung warum. Weder habe ich in der KOMA-script Anleitung etwas erhellendes gefunden- Das was ich bei Stackexchange gefunden habe oder auch in anderen Foren gefunden habe hat mir nicht wirklich geholfen. Es sind bei weotem nicht mehr so viele Warnungen, aber genug um das Logfenster in Texstudio volllaufen zu lassen, so daß ich die Meldungen durtchscrollen muss um zu sehen ob nicht noch was anderes ausgegeb wird, um das ich mich kümmern sollte.

Ich hab auch ein Beispiel kreieren können, wo das auftritt. Und zwar wird die Zeile \end{ingred} angemeckert mit
Underfull \hbox (badness 10000) in paragraph
Das Minimalbeispiel ist ein bisserl lang, aber die Warnung wird zumindest bei mir ausgespuckt:
\documentclass[ngerman,paper=a5,fontsize=9pt,DIV=13,headsepline, parskip=half]{scrbook}

\addtokomafont{chapter}{\fontsize{14}{17}\selectfont}
\addtokomafont{section}{\fontsize{12}{15}\selectfont}

\deffootnote{1.5em}{1em}{\makebox[1.5em][l]{\thefootnotemark}}

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{nicefrac}
\usepackage{xfrac}
\usepackage{siunitx}
\usepackage{wasysym}
\usepackage{csquotes}
\MakeOuterQuote{"}

\usepackage{tcolorbox}

\sisetup{
	locale = DE,	
	%  per-mode = fraction,% | reciprocal | symbol | 
	detect-weight=true, 
	detect-family=true,
	detect-all=true,
	%  separate-uncertainty,
	%  exponent-to-prefix,
	%  prefixes-as-symbols = false,
	%  list-units = single, %brackets,% | single | repeat
	range-units = single,%brackets,% | single | repeat
	product-units=single,
	%  multi-part-units = brackets,% | single | repeat
	%  table-unit-alignment = left,
}

\DeclareSIUnit\tl{Teelöffel}
\DeclareSIUnit\el{Eßlöffel}
\DeclareSIUnit\calorie{cal}

\usepackage{microtype}

\usepackage{blindtext}

\usepackage{ragged2e}
\usepackage{tabularx}
\usepackage[linktocpage=true,linktoc=all]{hyperref}

\newcommand{\hf}[3][]{%
	\ifthenelse{\equal{#1}{}}{\sfrac{#2}{#3}}{#1\,\sfrac{#2}{#3}}%
}

\newcolumntype{L}[1]{>{\RaggedRight}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

\newenvironment{ingred}[1][Zutaten]
{%
	\subsection*{#1}
	\fontsize{9}{12}\selectfont
	\KOMAoption{parskip}{half-}
	\tabularx{\textwidth}{R{18mm}@{\hspace{1.5mm}}L{19mm}X}		
	%\tabular{R{18mm}@{\hspace{1.5mm}}L{19mm}p{6.6cm}}
}
{
	\endtabularx
	%\endtabular
	\par
	\vspace{4mm}
}

\usepackage{xstring}
\newcommand{\dus}[1]
{%
	\IfEqCase{#1}{%
		{1}{\textbf{#1 Se\-kun\-de}}%
		{eine}{\textbf{#1 Se\-kun\-de}}%
		{einer}{\textbf{#1 Se\-kun\-de}}%
	}[\textbf{#1 Se\-kun\-den}]%
}
\newcommand{\dum}[1]
{%
	\IfEqCase{#1}{%
		{1}{\textbf{#1 Mi\-nu\-te}}%
		{eine}{\textbf{#1 Mi\-nu\-te}}%
		{einer}{\textbf{#1 Mi\-nu\-te}}%
		{1x}{\textbf{2\,\nicefrac{1}{2} Minu\-ten}}%
	}[\textbf{#1 Mi\-nu\-ten}]%
}
\newcommand{\duh}[1]
{%
	\IfEqCase{#1}{%
		{1}{\textbf{#1 Stun\-de}}%
		{eine}{\textbf{#1 Stun\-de}}%
		{einer}{\textbf{#1 Stunde}}%
		{eine halbe}{\textbf{#1 Stunde}}%
		{1x}{\textbf{1\,\nicefrac{1}{2} Stun\-den}}%
		{3x}{\textbf{3\,\nicefrac{1}{2} Stun\-den}}%
	}[\textbf{#1\,Stun\-den}]%
}

\newcommand{\crfr}[0]{Crème fraîche}
\newcommand{\qtyfrac}[3]{\qty[parse-numbers = false]{\nicefrac{#1}{#2}}{#3}}
\newcommand{\qtyffrac}[4]{\qty[parse-numbers = false]{#1\,\nicefrac{#2}{#3}}{#4}}

\newcommand{\temp}[1]{\textbf{\qty{#1}{\celsius}}}
\newcommand{\ovenb}[2]{\textbf{\qty{#1}{\celsius} Heiß\-luft (\qty{#2}{\celsius} Ober-/Unter\-hitze)}}
\newcommand{\ovenh}[1]{\textbf{\qty{#1}{\celsius} Heiß\-luft}}
\newcommand{\oveno}[1]{\textbf{\qty{#1}{\celsius} Ober-/Un\-ter\-hitze}}

\newcommand{\tempr}[2]{\textbf{\qtyrange{#1}{#2}{\celsius}}}
\newcommand{\ovenhr}[2]{\textbf{\qtyrange{#1}{#2}{\celsius} Heißluft}}

\newcommand{\ffig}[1]{%
	\setlength\intextsep{8pt}%
	\setlength{\columnsep}{8pt}%
	\begin{wrapfigure}{O}{0.4\textwidth}%
		\vspace{-8pt}%
		\includegraphics[width=0.4\textwidth]{#1}%
	\end{wrapfigure}%
}

\newcommand{\cfig}[1]{%
	\begin{figure}[ht]%
		\centering%
		\includegraphics[width=0.9\textwidth]{#1}%
	\end{figure}%
}

\newcommand{\wbox}[1]{
	\begin{tcolorbox}[height=5\baselineskip,height plus=\textheight]
		\setlength{\intextsep}{0pt}
		\begin{wrapfigure}{l}{0pt}
			\includegraphics[height=3\baselineskip]{aa_wineglass}%
		\end{wrapfigure}
		Getränk: #1
	\end{tcolorbox}
}

%\parskip=4pt
%\parindent=0pt
\raggedbottom

%\overfullrule=3mm

\clubpenalty=10000
\widowpenalty=10000
\displaywidowpenalty=10000

\newcounter{tipp}
\newcommand{\tbox}[3][Tipp]{
	\refstepcounter{tipp}
	\begin{tcolorbox}%[height=5\baselineskip,height plus=\textheight]
		\setlength{\intextsep}{0pt}
		#1 \thetipp: \label{#2}#3
	\end{tcolorbox}
}

\newcommand{\see}[1]{
	%	\textit{(\hyperref[#1]{siehe Tipp }\ref{#1})}%
	(\textit{\hyperref[#1]{siehe Tipp \ref*{#1}}})%
}

\newcommand{\seerec}[1]{
	%	\textit{(\hyperref[#1]{siehe Rezept }\glqq{}\nameref{#1}\grqq{})}%
	(\hyperref[{#1}]{siehe Rezept \glqq{}\textit{\nameref*{#1}\grqq{}}})%
}

\newcommand{\refrec}[1]{
	\textit{\glqq{}\nameref{#1}\grqq{}}%
}

\begin{document}
	
\addsec{Grundrezept Strudelteig}\label{sec:grundrezeptstrudel}
\blindtext
	
Wer sagt denn, dass ein Apfelstrudel immer süß sein muss? Schließlich weiß man ja, dass Äpfel auch zu Herzhaftem prima schmecken. Wir füllen den Apfelstrudel bei diesem Rezept mit Blutwurst, gerösteten Zwiebeln, Äpfeln und viel Majoran und servieren ihn als originelles Mittag- oder Abendessen -- zusammen mit einem knackigen Salat! 

\begin{ingred}[Zutaten für vier Personen]
	1&&Strudelteig\seerec{sec:grundrezeptstrudel} \\ 
	\numrange{100}{150}&\unit{\g}&Butter \\
	100&\unit{\g}&Semmelbrösel \\ 
	500&\unit{\g}&Äpfel \\
	&&Zitronensaft und -schale \\ 
	&&Salz \\
	&&Pfeffer \\ 
	250&\unit{\g}&Blutwurst \\ 
	1&&Zwiebel \\
	2&&Knoblauchzehen \\ 
	&&Schnittlauch \\
	&&getrockneter Majoran \\ 
	&&Muskat 
\end{ingred}

Den Teig zur großen Fläche hauchdünn ausrollen. Mit flüssiger Butter einpinseln. Zuerst geröstete Semmelbrösel als Unterlage auf der einen Hälfte der Teigfläche verteilen. Die in Scheibchen geschnittenen Äpfel in eine Schüssel geben, mit Zitronensaft und abgeriebener Zitronenschale vermischen. Die Zwiebelringe mit dem Knoblauch anrösten und zu den Äpfeln geben.Dazu Schnittlauch, Majoran, Muskat (nach Belieben) und Würfel von guter Blutwurst (Flöns) mischen. Salzen, pfeffern und auf die Semmelbrösel betten. 

\end{document}

Ich verstehe zwar, dass LaTex mir mitteilen möchte, dass eine Box nicht gefüllt werden konnte, aber warum und wieso das wichtig ist verstehe ich hinten und vorne nicht.

Re: Underfull \hbox (badness nnnn) in paragraph

von KOMA » Mi 4. Mai 2022, 11:48

Auch, wenn Du es nicht glaube willst, die Warnungen kommen definitiv nicht von tabularx, wie man übrigens leicht feststellen kann:
\documentclass[ngerman,paper=a5,fontsize=9pt,DIV=13,headsepline, parskip=half]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{nicefrac}
\usepackage{siunitx}
\usepackage{csquotes}
\MakeOuterQuote{"}

\usepackage{siunitx}
\sisetup{
	locale = DE,	
	detect-weight=true, 
	detect-family=true,
	detect-all=true,
	range-units = single,%brackets,% | single | repeat
	product-units=single,
}

\DeclareSIUnit\tl{Teelöffel}
\DeclareSIUnit\el{Eßlöffel}
\DeclareSIUnit\calorie{cal}

\usepackage{ragged2e}
\usepackage{tabularx}

\newcolumntype{L}[1]{>{\RaggedRight\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\Centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{>{\RaggedLeft\arraybackslash}p{#1}}

\newenvironment{ingred}[1][Zutaten]
{%
	\subsection*{#1}
	\fontsize{9}{12}
	\selectfont
        %\tabularx{\textwidth}{R{18mm}@{\hspace{1.5mm}}L{19mm}p{6.3cm}}		
        \tabular{R{18mm}@{\hspace{1.5mm}}L{19mm}p{6.3cm}}
	}
	{
    %\endtabularx
    \endtabular
	\normalsize
	\vspace{4mm}
}

\begin{document}
\begin{ingred}[Zutaten für zwei bis drei Personen]
	2&&Chicoréekolben \\
	2&&Blutorangen \\
	1&&grüner Spitzpaprika \\
	1&&milde rote Zwiebel, am liebsten eine Roscoffzwiebel aus Frankreich oder eine aus Tropea (Italien) \\
	\numrange{1}{2}&\unit{\el}&rosa Pfefferbeeren (getrocknet)\\ 
	2&\unit{\el}&Sherryessig \\
	1&\unit{\el}&Rotweinessig\\ 
	1&\unit{\tl}&Balsamico \\ 
	&&Salz \\
	&&Pfeffer \\
	\numrange{1}{2}&\unit{\tl}&Dijonsenf\\ 
	3&\unit{\el}&Olivenöl\\ 
\end{ingred} 

\end{document}
Vielleicht wäre es also klüger, gewisse rhetorisch sarkastische Fragen nicht zu stellen. Es ist ohnehin nicht schlau, Helfer mit so etwas zu verärgern. Tatsächlich hätte mich diese beinahe von einer Antwort abgehalten.

Übrigens sind die \arraybackslash im Beispiel überflüssig. Dagegen fehlt ein \par vor \normalsize, wobei das \normalsize dann genau genommen überflüssig wird.

Und dann ist natürlich die Kombination von parskip=half und einer Tabelle über die komplette Seitenbreite ein Problem (das in der KOMA-Script-Anleitung allgemein erwähnt wird). Man sollte also die Tabelle selbst mit anderen Absatzeinstellungen setzen. Siehe dazu Option parskip in einer der Anleitungen zu KOMA-Script.

Die meisten der Warnungen kommen daher, dass ragged2e eine definierte Flatterzone verwendet, die für schmale Spalten angepasst werden müsste. Siehe dazu Abschnitt 3.2 der Anleitung des Pakets. Eventuell ist es einfacher die extrem schmale R-Spalte mit \raggedleft zu definieren:
\documentclass[ngerman,paper=a5,fontsize=9pt,DIV=13,headsepline, parskip=half,overfullrule]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{nicefrac}
\usepackage{siunitx}
\usepackage{csquotes}
\MakeOuterQuote{"}

\usepackage{siunitx}
\sisetup{
	locale = DE,	
	detect-weight=true, 
	detect-family=true,
	detect-all=true,
	range-units = single,%brackets,% | single | repeat
	product-units=single,
}

\DeclareSIUnit\tl{Teelöffel}
\DeclareSIUnit\el{Eßlöffel}
\DeclareSIUnit\calorie{cal}

\usepackage{ragged2e}
\usepackage{tabularx}

\newcolumntype{L}[1]{>{\RaggedRight}p{#1}}
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash}p{#1}}

\newenvironment{ingred}[1][Zutaten]
{%
	\subsection*{#1}
	\fontsize{9}{12}\selectfont
        \KOMAoption{parskip}{half-}
        \tabularx{\textwidth}{R{18mm}@{\hspace{1.5mm}}L{19mm}X}		
        %\tabular{R{18mm}@{\hspace{1.5mm}}L{19mm}p{6.6cm}}
	}
	{
    \endtabularx
    %\endtabular
\par
	\vspace{4mm}
}

\begin{document}
\begin{ingred}[Zutaten für zwei bis drei Personen]
	2&&Chicoréekolben \\
	2&&Blutorangen \\
	1&&grüner Spitzpaprika \\
	1&&milde rote Zwiebel, am liebsten eine Roscoffzwiebel aus Frankreich oder eine aus Tropea (Italien) \\
	\numrange{1}{2}&\unit{\el}&rosa Pfefferbeeren (getrocknet)\\ 
	2&\unit{\el}&Sherryessig \\
	1&\unit{\el}&Rotweinessig\\ 
	1&\unit{\tl}&Balsamico \\ 
	&&Salz \\
	&&Pfeffer \\
	\numrange{1}{2}&\unit{\tl}&Dijonsenf\\ 
	3&\unit{\el}&Olivenöl\\ 
\end{ingred} 

\end{document}
Wenn ich etwas weder kommentiert, noch eine Anmerkung dazu im Text habe, bedeutet das nicht, dass ich es gut finde. Stattdessen habe ich im gezeigten Code so wenig wie möglich geändert. Ausdrücklich sei beispielsweise auch noch einmal auf das von meinem Vorredner erwähnt Paket microtype hingewiesen. Darüber hinaus, seien die unter dem Link erwähnten Alternativen zu nicefrac ebenfalls explizit empfohlen.

Re: Underfull \hbox (badness nnnn) in paragraph

von huebi » Di 3. Mai 2022, 19:51

gast. hat geschrieben:
Di 3. Mai 2022, 07:39
Mit tabularx hat das wenig bis gar nichts zu tun.
Das sehe ich anders. Wenn ich vorher tabular genomen habe und nun tabularx und lauter Waernungen bekomme liegt das woran?
gast. hat geschrieben:
Di 3. Mai 2022, 07:39
Du könntest die X-Spalte statt im Blocksatz ebenfalls im Flattersatz mit Trennung setzen.
Wenn ich mir die Beispiele der Dokumentation von tabularx auf CTAN ansehe (Kapitel 2) dann formatiert Latex eine X Spalte nicht im Blocvksatz. Aber wenn ich 4.2 folgende Anweisung verwende
\tabularx{\textwidth}{R{18mm}  @{\hspace{1.5mm}}   L{19mm} >{\RaggedRight\arraybackslash}X}
dann ändert sich... nichts. Auch nicht an der Zahl der Warnungen. mit raggedright ists dann noch flattriger, wird ja auch nicht mehr getrennt, aber die Warnungen bleiben trotzdem.

//Huebi

Nach oben