Moin,
ich habe hier ein Problem mit meinem Abbildungsverzeichnis.
Ich verwende das Book-Format, aber habe jedoch die Nummerierung der Abbildungen durchgängig von 1 bis N gemacht. In der Listoffigures bekomme ich jetzt vor den Abbildungseinträgen eines jeden neuen Chapters einen vergrößerten Zeilendurchschuss. Da meine Nummerierung aber die Chapter-Nummer nicht beinhaltet, wirkt das ungewollt. Wie kriege ich es hin, dass alle Abstände zwischen den Abbildungseinträgen gleich groß sind?
Auf dem Bild ist der Abstand zwischen 22 und 23 zu sehen, der nicht da sein soll. Abbildung 23 liegt nicht mehr im Chapter von 22 sondern in einem neuen.
Viele Grüße
Jens
aka Voglscheuche
Edit: Falls der Abstand nicht auszugleichen ist, frage ich mich, ob ich stattdessen die jeweilige Chapter-Überschrift ins Abbildungsverzeichnis zwischen die jeweiligen Einträge bekomme.
Hack
super, das geht
super, das geht
vielen Dank
Verstehst Du es auch?
Oder soll ich noch erklären, wie das funktioniert?
Eine Erklärung schadet (mir) nicht,
aber im Moment bin ich erstmal froh, dass es so klappt ;)
Erklärung
Zunächst: Schau dir mal eine lof-Datei an. Das ist die Datei, die beim Setzen des Abbildungsverzeichnisses von
\listoffigures
gelesen wird. Natürlich passiert bei\listoffigures
noch mehr, aber das ist mal noch nicht so wichtig. In der Datei findest Du immer an der Stelle, an der nachher im Abbildungsverzeichnis ein vertikaler Abstand steht die Anweisung\addvspace
mit einem Argument. Als Autor der verwendeten Klasse, weiß ich das natürlich auch ohne in die Datei zu schauen. Außerdem weiß ich, dass\addvspace
innerhalb des Abbildungsverzeichnisses nicht auch noch für etwas anderes verwendet wird. Also liegt der Gedanke nahe, diese Anweisung innerhalb des Abbildungsverzeichnisses quasi zu deaktivieren. Das machen wir jetzt Schritt für Schritt:Eine neue Gruppe wird geöffnet. Alle Definitionen, die nach dieser Anweisung folgen, und die nicht explizit als global deklariert werden, gelten nur, bis zu Ende dieser Gruppe.
Die Anweisung
\addvspace
wird umdefiniert. Der Stern bedeutet, dass im Argument kein Absatz erfolgen darf. Im konkreten Fall könnte man auf diese Einschränkung verzichten, da sie ohnehin sichergestellt ist. Ich halte es aber aus Prinzip für sinnvoll alles Anweisungen so zu definieren, außer in Argumenten soll explizit auch ein Absatz erlaubt sein. Die1
in eckigen Klammern bedeutet, dass die Anweisung genau ein Argument haben soll. Innerhalb der darauf folgenden geschweiften Klammern steht, was die Anweisung tun soll. Das steht nichts, also soll sie auch nichts tun.Nun wird das Abbildungsverzeichnis gesetzt, wobei die neue Bedeutung von
\addvspace
verwendet wird.Die oben geöffnete Gruppe wird wieder geschlossen. Damit gilt verlieren die lokalen Definitionen der Gruppe ihre Gültigkeit.
\addvspace
hat also wieder die ursprüngliche Bedeutung.Übrigens gibt es auch noch eine andere Möglichkeit. Man könnte beispielsweise in der Präambel des Dokument folgendes verwenden:
Die folgenden Anweisungen innerhalb von
\begin{document}
ausführen.In die lof-Datei die Anweisung
\let\protect\@gobble
schreiben. Die\protect
sind notwendig, damit nicht die Expansion der Anweisungen in die lof-Datei geschrieben wird. Die Anweisung\@gobble
ist eine Anweisung, die ein Argument frisst und sonst nichts tut (vgl. die Umdefinierung von\addvspace
oben).Warum brauchen wir hier keine Gruppe, damit
\addvspace
später nicht diese neue Bedeutung behält? Ganz einfach: Bei KOMA-Script bleiben Definitionen, die in der lof-Datei stehen lokal, weil die Datei innerhalb einer Gruppe gelesen wird.Es gibt noch eine Möglichkeit für die Präambel. Man könnte einfach
\listoffigures
umdefinieren. Das lasse ich als Übung, wobei die Frage »Wie kann ich ein LaTeX-Makro umdefinieren und dabei auf dessen bisherige Bedeutung zugreifen?« in der De-TeX-FAQ zu beachten ist, bzw. nützliche Hinweise gibt.Abstand zu Titel "Abbildungsverzeichnis"
Da ich Abbildungen, Tabellen und Karten in den Verzeichnissen ebenfalls ganz durchnummeriere bin ich zum Glück auf die Anweisungen hier gestoßen und habe sie für mich übernommen.
Nun verringert sich allerdings auch der Abstand zwischen dem Titel "Abbildungsverzeichnis" etc. und der ersten Abbildungen.
Mit welchem Befehl kann ich das unterbinden?
Muss ich da etwas an der lof Datei verändern? Allerdings traue ich mir das nicht wirklich zu...
Vielen Dank im Voraus!
In das Verzeichnis verschieben
Theoretisch könntest Du die Anweisung einfach per
\addtocontents
in das entsprechende Verzeichnis verschieben. Je nachdem, welche Version von KOMA-Script Du verwendest, kannst Du aber auch einfach die Klassenoptionchapteratlists=0pt
oderlistsof=nochaptergap
verwenden.Da stehe ich auf dem Schlauch
VIELENE DANK für die schnelle Antwort.
Entschuldigung. Ich glaube, da stehe ich ein wenig auf dem Schlauch.
Wenn ich
in meine Präambel schiebe, habe ich den gleichen Effekt, der Abstand zwischen dem Titel "Abbildungsverzeichnis" etc. und der ersten Abbildungen ist wieder verringert....
Achso
Dann ist das vermutlich der Abstand für das erste Kapitel, der natürlich ebenfalls nicht in das Verzeichnis geschrieben wird. Mehr kann ich da jetzt nicht orakeln.
(Minimal)beispiel
Das Problem besteht leider weiterhin. Ich habe jetzt mal ein Beispiel beigesteuert. Hoffe, es entspricht einigermaßen den Anforderungen an ein Minimalbeispiel...
Grüße
Das ist garantiert weit davon entfernt ...
... ein Minimalbeispiel zu sein. Wenn es Dich nicht stört, dass Du eben warten musst, bis ich die Zeit finde, das selbst zu minimalisieren, ist das natürlich kein Problem.
Mh...
Ja, das habe ich vermute. Ich war mir nur nicht sicher, ob sich evt. irgendwelche Abhängigkeiten ergeben.
Ich habe nun mal ein zusätzliches
\addtocontents{lof}{\protect\vspace{8pt}}
eingefügt, auch wenn das vielleicht nicht ganz sauber ist...??Besser
Inzwischen kann man den Abstand, den scrbook bei jedem Kapitel in die Gleitumgebungsverzeichisse einfügt, einfach per Option
listof=nochaptergap
abschalten. Näheres ist der KOMA-Script-Anleitung oder dem KOMA-Script-Buch zu entnehmen.