PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inhaltsverzeichnis umgestalten



procrash
16-01-2008, 14:07
Hallo, ich möchte für meine Diplomarbeit mein Inhaltsverzeichnis selbst gestalten nur habe ich mit der Numerierung Probleme:
Mein Inhaltsverzeichnis soll in etwa so aussehen:

Einleitung
1.Chapter 1................................................. .......8
2.Chapter 2 .................................................. .....12
3................................................. .....................14

Hauptteil
1.Chapter x................................................. .......18
2.Chapter x+1
3....
4.

Schluss
1.
2.

Dabei soll der \part Fett und dahinter keine Seitenangabe erscheinen.
Wenn ich

\part*{Einleitung}
\addcontentsline{toc}{part}{Einleitung}
\part*{Hauptteil}
\addcontentsline{toc}{part}{Einleitung}
\part*{Schluss}
\addcontentsline{toc}{part}{Einleitung}

schreibe, so stimmt die Nummerierung für die Unterpunkte nicht mehr, da Latex bei den Zwischenüberschriften die Nummerierung der chapter nicht neu beginnt.

Wie kann ich das ändern?
Das ganze soll in etwa so wie hier aussehen: Beispiel (http://sadilek.de/mare/mare.pdf)

rais
17-01-2008, 16:50
Hallo und Herzlich Willkommen an Board :)
etwa so vielleicht:


\usepackage{amsmath}
\numberwithin{chapter}{part}
\renewcommand\thechapter{\arabic{chapter}}
\newcommand\mypart[1]{%
\refstepcounter{part}%
\part*{#1}%
\addtocontents{toc}{\textbf{#1}}%
}

in der Präambel und im Text dann


\mypart{Einleitung}
\chapter{foo}
...
?
MfG,

procrash
18-01-2008, 08:07
Hat funktioniert. Ich musste die addtocontents Zeile durch addcontentsline ersetzen, danach hat es funktioniert.

Kannst du kurz einen Überblick geben was die Befehle die du oben beschrieben hast so machen? Hab versucht das ganze nachzuvollziehen bin allerdings nicht sonderlich draus schlau geworden trotzdessen das ich im Latex Praxisbuch von Franzis nachgrschlagen habe. Vielleicht kannst du dir ja noch kurz Zeit nehmen ein bißchen drauf einzugehen.

Ein Problem habe ich allerdings noch: Wie kriege ich jetzt die Seitennummern von den \mypart Überschriften weg?

rais
18-01-2008, 14:22
Moin moin,

Hat funktioniert. Ich musste die addtocontents Zeile durch addcontentsline ersetzen, danach hat es funktioniert.

dadurch forderst Du gerade diese Seitenzahl mit an. Aber Du hast recht, der \addtocontents tut so nicht.


Ein Problem habe ich allerdings noch: Wie kriege ich jetzt die Seitennummern von den \mypart Überschriften weg?
Etwas erweitert...:


\documentclass{book}
\usepackage{amsmath}% stellt u.a. \numberwithin zur Verfügung
\numberwithin{chapter}{part}% den Kapitelzähler an den Teilzähler binden
% wenn Mathe gefordert ist, ist amsmath vermutlich sowieso geladen, wenn das Paket
% aber nur für die Änderung des Zählers benötigt werden sollte, dann vielleicht besser:
% \usepackage{chngcntr}
% \counterwithin{chapter}{part}
% stattdessen verwenden - dat ist für solche Zwecke genau richtig.
\renewcommand\thechapter{\arabic{chapter}}% aber den Kapitelzähler alleine ausgeben lassen
\newcommand\mypart[1]{% neues Kommando \mypart, ein Parameter
\refstepcounter{part}% den Teilzähler erhöhen, damit Kapitel- und alle untergeordneten Zähler zurückgesetzt werden
\part*{#1}% Teil (Parameter #1) starten, unterdrückt Eintragung im TOC
\addtocontents{toc}{\protect\contentsline{part}{#1 }{}}% und Eintragung im TOC vornehmen:
% \protect, damit \contentsline auf dem Weg ins TOC nicht zerbricht...
% \contentsline{<Ebene>}{<Titel>}{<Seite>} -- die leere Klammer unterdrückt hier die Ausgabe der Seite.
}
\begin{document}
\tableofcontents
\mypart{bla}
\chapter{blubb}
\mypart{foo}
\chapter{bar}
\section{baz}
\end{document}

MfG,

procrash
18-01-2008, 18:56
Hallo Rainer, vielen dank für deine schnelle Antwort. Hat prima geklappt.
Noch eine Frage zum Schluss: Wo hast du die Info's zu dem ganzen her? Auch aus Foren oder gibts für TeX das ultimative Standardwerk?
Ich verwende Latex Das Praxissbuch vom Franzis Verlag und finde es halt praktisch weil es ohne viel Blah Blah gleich die Ergebnisse zeigt und dann kann man sich vertiefen wie's geht. Allerdings ist das mittlerweile 600 seitige Ding wenn man vom Pfad der gezeigten Beispiele abweichen möchte und seine Kentnisse vertiefen will etwas untauglich. Gibt's da ne Ergänzung die man hernimmt?

Mein Inhaltsverzeichnis steht soweit ganz gut. 2 Dinge stören mich noch dran. Ich habe in der Kopfzeile Inhaltsverzeichnis stehen und drunter direkt die Überschrift. Will das doppelt gemoppelte wegbekommen und meine eigene Überschrift gestalten. Da kann ich doch bestimmt den Befehl für die Ausgabe des Inhaltsverzeichnis Titels per \renewcommand umdefinieren oder? Das nächste ist die Einrückung der \part Titel. Ich habe mir jetzt soweit beholfen das ich einfach bevor ich den \part Titel ausdrucke ein \hspace{1cm} mache. Allerdings zweifle ich an das das so fix bleibt wenn ich mehrere Gleiderungsebenen hinzu bekomme. Hab mal ein Bild angehängt damit man sieht was ich meine.

Ah nochwas: Was meinst du mit "zerbrechen"?

Grüße und tausend dank: Wolfgang

rais
18-01-2008, 22:25
Hallo Wolfgang,


Noch eine Frage zum Schluss: Wo hast du die Info's zu dem ganzen her? Auch aus Foren

wieso, gibt's da etwa noch andere?:D
Ja, natürlich hab ich einiges hier, anderes dort aufgeschnappt...das ist doch mitunter gerade der Sinn dieser Foren, Gedanken über ein bestimmtesGebiet/Problem auszutauschen.


oder gibts für TeX das ultimative Standardwerk?

das gibt es imho auch und nennt sich "The TeXbook" von Donald E. Knuth, dem Erfinder von TeX ... das wohl umfangreichste mir bekannte Buch über LaTeX nennt sich "Der LaTeX Begleiter" von Frank Mittelbach und Michel Goossens in zweiter Auflage -- das hat imho den Titel `ultimatives LaTeX-Standardwerk' verdient.;)
Otoh ist es für Autoren schwer, mit der Entwicklung von LaTeX mitzuhalten -- das spricht in keiner Weise gegen die Buchautoren (von denen wohl die meisten auch Paketautoren sind), sondern für die Entwicklung von LaTeX, allein deshalb halte ich mich im Zweifelsfall vorzugsweise an die jeweilige Paketdokumentation -- das entsprechende Paket kann schließlich verändert worden sein, nachdem ein bestimmtes Buch in Druck ging.
...und wenn das nicht reicht, probier' ich einfach drauf los.;-)
BTW: hier hab ich einfach in die .toc-Datei geschaut und part- mit chapter-Einträgen verglichen.


Mein Inhaltsverzeichnis steht soweit ganz gut. 2 Dinge stören mich noch dran. Ich habe in der Kopfzeile Inhaltsverzeichnis stehen und drunter direkt die Überschrift. Will das doppelt gemoppelte wegbekommen und meine eigene Überschrift gestalten.

Es würde helfen zu wissen, was genau Du wann wie treibst, denn eigentlich gibt es bei kapitelführenden Klassen auf der (ersten) Inhaltsseite gar keine Kopfzeile...


Das nächste ist die Einrückung der \part Titel. Ich habe mir jetzt soweit beholfen das ich einfach bevor ich den \part Titel ausdrucke ein \hspace{1cm} mache.

vergleiche mal:


\documentclass[tocleft,ngerman]{scrbook}
\usepackage{babel,amsmath,color}
\definecolor{partcol}{gray}{0.6}
\numberwithin{chapter}{part}
\renewcommand\thechapter{\arabic{chapter}}

\newcommand\mypart[1]{%
\refstepcounter{part}%
\part*{#1}%
\thispagestyle{empty}%
\addtocontents{toc}{\protect\contentsline{part}{\p rotect\numberline{}{\LARGE\color{partcol}#1}}{}}%
}
\begin{document}
\tableofcontents
\mypart{bla}
\chapter{blubb}
\mypart{foo}
\chapter{bar}
\section{baz}
\end{document}

sollte in etwa so tun.


Ah nochwas: Was meinst du mit "zerbrechen"?

Es gibt bei LaTeX quasi zwei Gruppen an Befehlen, die einen sind zerbrechlich (fragil), die anderen robust. Den Unterschied zwischen kannst Du erkennen, wenn Du ein robustes Kommando (z. B. \textbf{..}) mit einem fragilen Kommando (z. B. \numberline{..}) vergleichst, wenn Du beide in ein sog. bewegliches Argument packst -- \addtocontents{wohin}{was} ist hier ein gutes, wenn vielleicht auch schon extremes Beispiel: Das Argument {was} landet nicht an der Stelle, an der Du es aufrufst, sondern wird hier in die Datei \jobname.wohin verschoben: Wenn Du nun zwei dieser Aufrufe von \addtocontents{toc}{..} machst, einmal mit dem \textbf{..} und einmal mit \numberline{..} wirst Du feststellen, sobald Du die dazugehörige .toc-Datei öffnest, daß \textbf{..} -- also der robuste Befehl -- unverändert darin erscheint, während \numberline{..} zu so etwas wie
\hbox to\@tempdima {\hfil }{\relax \fontsize {17.28}{22}\selectfont \par@update
expandiert wird, mit einem Wort: zerbricht.
Und der \protect vor so einem zerbrechlichen Kommando sorgt halt dafür, daß besagtes Kommando gerade nicht zerbricht.;)
Im Fall von \numberline sagst Du vielleicht: "Ja, und?" Dann schau Dir das nochmal mit \contentsline ohne \protect davor an, wenn Du überhaupt soweit kommst.;)

Apropos Doku:


There's always more to learn, and there are always better ways to do what you've done before.


MfG,

Elediron
19-01-2008, 13:35
Hallo Zusammen

Ich hatte ein ähnlichse Problem. Und mit deinem beispiel rais klappte es auch. Jetzt hab ich nur noch ein Problem: Der Pagestyle vom inhaltverzeichniss, der Seite die mypart erzeugt nicht mehr ändern. Und sobals ich ein chapter mach, lässt sich den pagestyle auch nimmer ändern.

Also, mein Hauptteil is folgender:

\input{header.tex}
\makeindex
\begin{document}
\input{titelseite.tex}
\setcounter{page}{1}
\tableofcontents
\newpage
\input{erstes_lehrjahr.tex}
\newpage
\input{zweites_lehrjahr.tex}
\newpage
\input{drittes_lehrjahr.tex}
\newpage
\input{viertes_lehrjahr.tex}
\end{document}

Dan, mein Header:

\documentclass[10pt,oneside,a4paper,ngerman]{scrbook}
\usepackage[left=3cm,right=2.5cm,top=1.75cm,bottom=1.75cm,incl udeheadfoot]{geometry}
\usepackage{ngerman}
\usepackage[latin1]{inputenc}
\usepackage[draft]{graphicx}
\usepackage{babel,amsmath,color}
\usepackage{fancyhdr}
\date{18. Januar 2008}
\author{R. Dietiker}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{Lerndokumentation}
\fancyhead[C]{R. Dietiker}
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0.5pt}
\definecolor{partcol}{gray}{0.6}
\definecolor{titelgray}{gray}{0.4}
\numberwithin{chapter}{part}
\renewcommand\thechapter{\arabic{chapter}}
\newcommand\mypart[1]{%
\refstepcounter{part}%
\part*{#1}%
%\thispagestyle{fancy}%
\addtocontents{toc}{\protect\contentsline{part}{\p rotect\numberline{}{\LARGE\color{partcol}#1}}{}}%
}

und ein stück von dem chapter Prolem:

\mypart{Erstes Lehrjahr}
%22. August 2007 in Muttenz
\chapter{Netzwerk - Aufbereiten von Arbeitsplätzen}
\textit{Muttenz 22. August 2007}
\section{Aufgabe}

Ich möchte eigentlich auf jeder Seite, ausser der Titelseite meinen Pagestyle fancy.

Lg
Ele

Ps: 1. bin neuling was LaTex anbelangt, 2. hab bisschen rumprobiert, und dabei wahrscheinlich bisschen ein chaos verursacht. ;)

rais
19-01-2008, 16:08
Hallo und Herzlich Willkommen :)
Huch, ich hab gar nicht gemerkt, daß der \thispagestyle hier gar nicht greift :o


Ich möchte eigentlich auf jeder Seite, ausser der Titelseite meinen Pagestyle fancy.

bei Deiner Kombination (KOMA-Skript Klasse + fancyhdr) fallen mir dafür zwei mögliche Ansätze ein:


\fancypagestyle{plain}{}% vgl. fancyhdr-Doku

oder -- nicht ganz so rabiat, weil hier der plain-Seitenstil unverändert gelassen wird:


\renewcommand*\chapterpagestyle{fancy}% vgl. scrguide
\renewcommand*partpagestyle{fancy}

BTW: wozu ngerman-Paket, wenn Du babel schon mit ngerman-Option lädst?

Hmm, sowas ähnliches scheint Wolfgang auch in seinem Code zu haben;-)

MfG,

procrash
20-01-2008, 05:27
Hallo Rainer,
das ganze mit der Inhaltsverzeichnisseite steht jetzt zum Glück soweit.
Wollte jetzt die Überschrift Inhaltsverzeichnis auf Inhalte ändern und hab das ganze so hinbekommen:

\addto\captionsngerman{%
\renewcommand{\contentsname}{
\hspace{0.67cm}
Inhalte
}}

Nun den HSpace benötige ich das ich die Überschrift optisch nach den Punkten beginnen lasse. Etwa so

Inhalte
1. Einleitung
1.2 Hauptteil
1.2.1 Schluss
1.2.2

2.
.
.
.


Nun wollte ich vor der Überschrift Inhalte ein ausgefülltes Quadrat einfügen,
etwa so:

\addto\captionsngerman{%
\renewcommand{\contentsname}{
\hspace{0.67cm}
\fbox[1cm]{}Inhalte
}}

Das ganze macht er mir allerdings leider nicht. Stecke irgendwie fest und komme nicht mehr weiter? Hast du eine Idee woran es liegen könnte?

rais
20-01-2008, 21:20
Moin Wolfgang,


Nun wollte ich vor der Überschrift Inhalte ein ausgefülltes Quadrat einfügen,
etwa so:

\addto\captionsngerman{%
\renewcommand{\contentsname}{
\hspace{0.67cm}
\fbox[1cm]{}Inhalte
}}

Das ganze macht er mir allerdings leider nicht. Stecke irgendwie fest und komme nicht mehr weiter? Hast du eine Idee woran es liegen könnte?
das Problem dürfte sein, daß Dein veränderter \contentsname eben nicht nur in der Kapitelüberschrift des TOC landet, sondern eben auch in z. B. die Kopfzeile geschrieben werden soll.
Aber dann hast Du ja noch nicht einmal verraten, mit welcher Dokumentklasse Du arbeitest -- ganz zu schweigen von den von Dir verwendeten Paketen, die hier wohlmöglich eine Rolle spielen könnten...

BTW: wolltest Du nicht ein ausgefülltes Quadrat? \fbox macht doch nur einen Rahmen?

MfG,

procrash
22-01-2008, 08:41
Hallo Rainer,

hab das ganze inzwischen hinbekommen. Das Quadrat habe ich mit \rule hinbekommen. Trotzdem vielen dank.