Hallo zusammen,
ich habe ein (hoffentlich) kleines und einfach zu beseitigendes Problem, welches das folgende MWE (hoffentlich) verdeutlicht. Da ich nicht weiss, wo die Ursache des Problems steckt, würde ich mich sehr über ein Lösung oder zumindest über Vorschläge freuen, wo, bzw. wie mir diesbezüglich geholfen werden kann. (Disclaimer: Ich weiss, dass parskip=half oder full nicht unbedingt die feine Art ist, bin aber daran gebunden.)
Zur verwendeten Version von KOMAscript:
Ich nutze texlive2014 (updates sind tagesaktuell) und das dort mitgelieferte KOMA-skipt.
\documentclass[paper=a4, paper=portrait, pagesize=auto, fontsize=12pt, twoside=true, parskip=half, %<-- "zersetzt" die thmbox "L, M, und S" draft=true, ]{scrbook} \usepackage[british]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{thmtools} \declaretheorem[ name=Definition, numberwithin=section, refname={definition,definitionen}, Refname={Definition,Definitionen}, thmbox=S% <-- Design der thmbox, möglich sind "S, M, L" ]{definition} \begin{document} % \title{MWE}\subtitle{Minimum Working Example} % \author{Maximilian Minimalis}\date{\today} % \maketitle \chapter{Beispiel} \section{koma-script's parskip vs. thmtool's thmbox} Wenn die Option parskip verwendet wird, landet der senkrechte Strich der thmbox "S" im linken Rand: \begin{definition}[MWE] Ein MWE ist ein MWE. \end{definition} Die anderen thmboxes (L und M) werden ebenfalls versetzt gesetzt. Ist parskip allerdings auskommentiert, sieht's fein aus. \end{document}
Zwei Probleme
Du hast zwei Probleme. Zum einen ist
definition
eine Box in Textbreite, also ein einzelner Absatz dessen einzige Zeile komplett gefüllt ist und damit der Einstellungparskip=half
nicht entspricht. Daher kommt bei gesetztem draft-Modus der overfull \hbox-Balken rechts. Ohne Optiondraft=true
verschwindet er, die diesbezügliche Meldung bleibt jedoch. Dieses Problem der Option ist übrigens in der KOMA-Script-Anleitung und im KOMA-Script-Buch dokumentiert.Das zweite Problem ist ein von KOMA-Script unabhängiges, reines Problem von thmtools, das offenbar ganz und gar nicht damit zurecht kommt, wenn
\parindent
0pt ist:Dieses Problem solltest Du an den Autor des Pakets melden.
Natürlich sollte man niemals einfach in dieser Weise
\parindent
einfach auf 0pt setzen. Mit den Standardklassen sollte man stattdessen das Paket parskip verwenden. Aber als Minimalbeispiel zur Veranschaulichung des Problems genügt diese einfache Form. Mit dem Paket tritt der Fehler natürlich genauso auf.Danke sehr!
Hallo Markus,
auch Dir herzlichen Dank für die ausführliche Erklärung. Das Problem mit draft=true habe ich erst nach Elkes Tip erkannt. Es stört mich aber (noch) nicht wirklich.
Viele Grüße
Dora
Welches Problem?
Was genau meinst du mit »dieses Problem«? parskip oder draft? Ich hab im scrguide beides nachgeschlagen und keine Hinweise auf Probleme gefunden.
Wirkung von parskip=half
Wahrscheinlich ist die Dokumentation der Wirkung von
parskip=half
in der Anleitung gemeint. Der Werthalf
fürparskip
schaltet nicht nur von Absatzeinzug auf Absatzabstand um, sondern veranlasst auch die Kennzeichnung der Absatzenden durch einen Mindestfreiraum von 1em. Daraus lässt sich ableiten, dass der bei einer textbreiten Box fehlende Platz für den Mindestfreiraum die Ursache der overfull \hbox Warnung ist, die beidraft=true
durch einen Balken markiert wird.Es gibt aber noch weitere Werte für
parskip
, deren Wirkungen ebenfalls in der Anleitung bzw. dem Buch beschrieben sind. Zum Beispiel werden mitparskip=half-
die Absatzenden nicht gekennzeichnet.Das Problem von Absätzen, die nur aus einer Zeile bestehen
Gemeint war das Problem von Absätzen, die nur aus einer Zeile beispielsweise einer Box in kompletter Zeilenbreite bestehen. Wobei ich mich korrigieren muss. Das Problem ist in der KOMA-Script-Anleitung nicht weiter ausgeführt. Im KOMA-Script-Buch findet es sich hingegen auf Seite 514 direkt neben der Marginalien »Tipp!«.
Das Problem mit der Linie
Das Problem mit der Linie wird durch das Paket
thmbox
verursacht, das vonthmtools
geladen wird.thmbox
hat u.a. eine Paketoptionleftmargin
, die den Abstand der Linie vom Rand beeinflusst, aber aus irgendeinem Grund nicht gleich diesem ist, und in der Voreinstellung von\parindent
abhängt.Dein Problem kannst Du lösen, in dem Du einen eigenen Wert für
leftmargin
anthmbox
übergibst:Gruß
Elke
Danke sehr!
Hallo Elke,
funktioniert einwandfrei, naja zumindest fast, d.h. bei draft=false (s. Kommentar von Markus).
Vielen Dank für den Hinweis, den ich gerne annehme und umsetze.
Viele Grüße
Dora
Optionen von thmbox
Ich habe noch mal in der Anleitung von
thmbox
geschaut:leftmargin
ist der Abstand des Textes vom linken Rand. Der Abstand der Linie vom (inneren) Text wird mithskip
festgelegt. Voreingestellt sind dafür 0.4em. Wennleftmargin
Null ist, rutscht sie deshalb in den linken Rand.Mit der Option
rightmargin
kann man übrigens auch einen Einzug vom rechten Rand einstellen. Wenn Du den gleich 1em setzt, dann verschwindet die Warnung wegen der overfull \hbox und der Balken beidraft=true
.Bitte lies Dir auch die Erklärung zu den möglichen Werten für
parskip
in der KOMA-Script-Anleitung durch. Im Abschnitt Absatzauszeichnungen findest Du eine übersichtliche Tabelle.Auch hierfür ...
... herzlichen Dank!
Überflüssige Klassenoptionen?
Kleiner Tip: Kann man sich die erste, zweite und fünfte Option in deinem Beispiel nicht sparen?