PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abstände in selbst erstelltem Verzeichnis - Standard?



Raspberry
30-01-2006, 10:05
Hallo,

ich habe mir mit Hilfe des tocloft-Packages ein eigenes Verzeichnis erstellt:


...
Der Code erzeugt ein Quellcodeverzeichnis, dass das gleiche Erscheinungsbild erzeugt wie das Abbildungsverzeichnis!



\usepackage[titles]{tocloft} % ändert Verzeichnisse

\newcommand{\listquellcodename}{Quellcodeverzeichn is}
\newlistof[chapter]{quellcode}{que}{\listquellcodename}
\newcommand{\quellcode}[1]{%
\refstepcounter{quellcode}
\par\centering{Quellcode \thequellcode: #1}
\addcontentsline{que}{quellcode}
{\vspace{1.5mm}\hspace{6mm}
\protect\numberline{\thequellcode}\hspace{3mm}#1}\ par}



(Zitat aus folgendem thread: http://www.mrunix.de/forums/showthread.php?t=42633)

Ich habe jetzt jedoch festgestellt, dass die Darstellung der einzelnen Einträge im Quellcodeverzeichnis doch nicht in gleicher Art geschieht, wie es im Abbildungsverzeichnis der Fall ist. Dort werden alle Abbildungen eines Kapitels gruppiert, d.h. mit etwas größerem Zeilenabstand von denen anderer Kapitel getrennt. Die einzelnen Einträge innerhalb dieser Gruppe haben einen geringen Abstand. In meinem Quellcodeverzeichnis ist dies jedoch anders. Darin haben alle Einträge den gleichen (großen) Abstand voneinander. Da beide Verzeichnisse unmittelbar hintereinander gedruckt werden, sieht man den Unterschied natürlich leider sofort...

Es muss doch für die \listoffigures irgendwelche Standardwerte geben, die genau die o.g. Darstellung erzwingen. Dazu konnte ich nur leider nichts finden. Ich frage mich, wieso mein von mir neu erstelltes Verzeichnis nicht von vornherein die selbe Darstellung erhält, wie die übrigen Verzeichnisse. Oder ist das von einem package bzw. einem style abhängig?!?

Um das Problem zu beheben habe ich bereits die tocloft-Doku angeschaut und versucht daraus schlau zu werden bzw. es anzuwenden. Ich vermute, dass es etwas mit \cftafterZtitleskip (Z in meinem Fall 'que') oder auch \cftbeforeXskip (X für z.B. 'chap') zu tun hat. Ich habe schon versucht durch mehrfaches Ausprobieren einen Erfolg zu erzielen, aber ich konnte das Erscheinungsbild des Quellcodeverzeichnisses überhaupt nicht beeinflussen (weder unter-/innerhalb der Verzeichniserstellung noch kurz vor dem Aufruf des Verzeichnisses).

Kann mir da irgendjemand Tipps zu geben? Ich weiß leider nicht mehr weiter... :confused:

Danke schonmal!!!
Greetz,
Raspberry :o

tobias.vdk
30-01-2006, 17:04
Hallo!

Ich habe mit
\setlength{\cftbeforesecskip}{1ex} vor jedem "section"-Eintrag im Inhaltsverzeichnis einen zusätzlichen Abstand eingefügt. Das beschreibt in etwas das, was du schilderst. Ich habe mir ein Anlagenverzeichnis erstellt und auch dort sind alle Abstände gleich. Ein
\setlength{\cftbeforeanlrefskip}{1ex} ändert den Abstand, der ist aber auch nicht "section"-anhängig. Mehr kann ich dazu jetzt auch nicht sagen :( .

Tschüss Tobias

Raspberry
31-01-2006, 18:11
Hi Tobias,

vielen Dank für deine Hilfe. Leider konnte ich mit deinen Vorschlägen nicht richtig viel anfangen, da ich nicht genau weiß, wo ich sie anwenden muss. Ich habe wieder mal versucht die Eingaben an mehreren Stellen auszuprobieren, aber es funktioniert nicht, das Verzeichnis stört sich an keinen Änderungen :(

Erzeugt habe ich das Verzeichnis in einer zentralen einstellung.tex wie oben angegeben.

Ich füge das Verzeichnis an einer Stelle ein, mit

\listofquellcode

Innerhalb meiner Arbeit erzeuge ich einen Quellcodeeintrag unterhalb des Codes durch:

\quellcode{Name des Quellcodes}
\label{que:LabelDesQuellcodes}

Wo müssten denn deine Vorschläge eingesetzt werden? Oder fällt noch jemandem eine passende Lösung ein?

Thanks & Greetz,
Raspberry :o

tobias.vdk
01-02-2006, 09:06
Hi!

die Angaben

\setlength{\cftbeforesecskip}{1ex}
\setlength{\cftbeforeanlrefskip}{1ex} stehen im Kopf. Ich füge im Text eine Referenz auf eine Anlage mit
\anlref{Testanlage} ein und erstelle das Anlagenverzeichnis mit
\litofanlrefDaraus kann man erkennen, das "anlref" der Zähler ist. Wenn ich also den Abstand im Anlagenverzeichnis vergrößern will, dann etwa so (im Kopf)
\setlength{\cftbeforeanlrefskip}{5ex}Bei dir müsst es dann
\setlength{\cftbeforequeskip}{1ex}, da bei dir "que" der Zähler ist, wenn ich mich nicht irre.

Tschüss Tobias

Raspberry
02-02-2006, 14:02
Hi Tobias,

vielen Dank für deine weitere Hilfe :) Es sieht schon etwas besser aus. Ich konnte jetzt zumindest einen Erfolg sehen durch meine Einträge ;)

Also ich habe jetzt folgendes im Kopf eingetragen:

\setlength{\cftbeforequellcodeskip}{-3mm}Ich weiß auch nicht, warum mein Zähler quellcode heißt und manchmal que... ich habe das Prinzip des Verzeichniserstellen anscheinend doch noch nicht ganz raus (hauptsache es funktioniert so).

Bezüglich der "-3mm" habe ich den Wert nach etlichen Versuchen ermittelt. Für mich passt es gerade gut. Weshalb??? Weiß ich auch nicht... D.h. ja dass der Standardabstand viel größer sein muss.

Bezüglich der anderen Angabe konnte ich auch einen Effekt feststellen. Das hilft mir nur leider nicht weiter. Ich habe testweise mal
\setlength{\cftbeforechapskip}{10mm} eingetragen. Dies hat den Effekt, dass in jedem Inhaltsverzeichnis vor einem Kapitel die Abstände erhöht werden.

Was ich suche, ist jedoch der Abstand zwischen unterschiedlichen quellcode-Einträgen, die aus verschiedenen Kapiteln kommen. Also z.B. nach allen Quellcodes aus Kapitel 2 (untereinander durch den normalen Abstand getrennt) kommt ein etwas größerer Abstand, dann kommen die aus Kapitel 3 wieder mit normalem Abstand usw.

Gibt es dafür auch irgendwie eine Möglichkeit? Ich bin natürlich auch gerne bereit alle Abstände Manuell herbeizuführen, wenn ich mit meiner Arbeit fertig bin. Hauptsache ich kriege die gleiche Darstellung hin.

Danke schonmal für die weitere Hilfe. Bisher bin ich sehr begeistert :D

Greetz,
Raspberry :o

tobias.vdk
02-02-2006, 14:28
Hallo!

Das ist dein Zähler "quellcode" heißt stimmt schon - da hatte ich mich geiirt. Um jetzt manuell eine Abstand einzufügen, musst du nur in deiner "HAUPTDATEI.que" zwischen den entsprechenden Einträgen ein
\vspace*{5ex} oder so. Dann noch einmal 'texen' und der Abstand in dem Dokument stimmt.
Aber manuell ist natürlich nicht, das wir wollen....:D Mal sehen, was sich da finden/bauen lässt.:cool:

Tschüss Tobias

Raspberry
02-02-2006, 15:08
Hi Tobias,

das ist ja eine super Notlösung. Ich wusste gar nicht, dass die Einträge alle in einer Datei gespeichert werden. Ok, klar, ganz automatisch läuft es nicht ab. Aber um mein Ergebnis zu erzielen, reicht es ja völlig aus.

Das sieht ja später keiner, was da für ein Code hintersteckt ;)

Für mich hat allerdings ein Abstand von 2ex schon gereicht. Wofür ist das * hinter \vspace wichtig? Ich kenne das nur so, dass z.B. beim Kapitel dieses nicht mit ins Inhaltsverzeichnis kommt...

Also danke danke danke!!!

Greetz,
Raspberry :o

tobias.vdk
02-02-2006, 15:21
Hallo!

Eigentlich ist der * dazu da, einen Abstand am Ende einer Seite zu erzwingen, da LaTeX ihn sonst entfernt. Da man ihn ja nicht sieht, ist das ja auch (irgendwie) logisch. Ich nutze den Stern, weil ich mal (weiß nicht weswegen :rolleyes: ) Probleme hatte, dass der vert. Abstand mit \vspace nicht gesetzt wurde.

Tschüss Tobias

tobias.vdk
02-02-2006, 15:35
Mir fällt gerade was ein:

Wenn du deinen Zähler für den Quellcode zusammensetzt dem Section- und dem eigentlichen Quellcodezähler
\thesection.thequellcode dann müsste doch das
\setlength{\cftbeforesecskip}{1ex}wirken, oder? Habe leider keine Zeit, das auszuprobieren...


Tschüss Tobias

Raspberry
02-02-2006, 16:41
Hi,

ich glaube das geht nicht so richtig. Meine Quellcodes werden ja nicht durchgehend nummeriert, sonder nach jedem Kapitel fängt der Zähler wieder von neuem an. Ich wüsste jetzt auch nicht so genau, wie ich das einbinden soll...

Wie gesagt, das \cftbeforesecskip hat auch einen Effekt auf die übrigen Verzeichnisse. Daher ist das für mich vermutlich sowieso nicht richtig. Es sei denn ich schnall es wieder nicht *g*

Raspberry
15-03-2006, 09:12
Hallo an die jenigen, die das Problem auch interessiert.

Ich habe per Zufall eine gute Lösung gefunden, die den Ansatz von Tobias verbessert. Bisher hätte ich nach dem vorletzten Kompilieren innerhalb der Quellcode-Datei manuell einen vertikalen Abstand erzeugt.

Mit dem Befehl:

...
\addtocontents{que}{\vspace*{2ex}}
\chapter{Anforderungsanalyse} \label{cha:Anforderungsanalyse}
...

vor jedem neuen Kapitel erhalte ich genau den von mir gewünschten Effekt, so dass ich nicht mehr manuelle Änderungen vornehmen muss. Denn wenn man dann noch Änderungen vornimmt und die Änderungen vergisst, ärgert man sich ja doch....

Also, soll nur ein Tipp sein!!! Bei mir klappts prima :)