Hi zusammen,
Ich schreibe gerade Masterarbeit und stehe vor folgendem Problem, das im nachstehenden "Minimalbeispiel" klarer werden soll. Mein Gesamtdokument gliedert sich in einen Inhaltsteil (arabisch nummeriert) und einen Anhangsteil (römisch nummeriert). Der Römisch nummerierte Teil umfasst Literaturverzeichnis, Indexverzeichnis usw., welche problemlos mit Römerischer Nummerierung auftauchen. Damit das Ganze einheitlich ist, wollte ich auch das Quellcodeverzeichnis mit einer römischen Nummer versehen, die dann auch logischerweise im Inhaltsverzeichnis auftaucht.
Das tut sie im Grunde auch, das Problem ist nur, dass mit dem nachstehenden Code im \begin{document} \end{document}
¹ Part meines Dokuments einmal ganz normal das Quellcodeverzeichnis mit Nummer auftaucht wie es sein soll, eine Seite oben drüber erscheint einfach noch einmal die Überschrift "Quellcodeverzeichnis", jedoch ohne Nummerierung - also einfach ein doppelter Eintrag und ich sehe den Grund nicht.
Den Part zwischen \makeatletter
¹ und \makeatother
¹ habe ich in einem anderen Forum gefunden (genauso wie die dazugehörigen Codes für das Abbildungsverzeichnis, das Literaturverzeichnis und das Indexverzeichnis), den ich bei Bedarf hier gerne posten kann.
Weiß von Euch jemand, wo der Fehler liegt?
Danke für ein so informatives Forum, aus dem man so viele Informationen ziehen kann.
\documentclass[fontsize=10bp, oneside, bibtotoc, liststotoc, DIV=calc, toc=listof, toc=bibliography, BCOR=0cm]{scrbook} \usepackage{graphicx} \usepackage[ngerman]{babel} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{listings} \usepackage[colorlinks, linkcolor = black, citecolor = black, filecolor = black, urlcolor = blue, pdfpagelabels, hypertexnames=true]{hyperref} \usepackage[small, nooneline, format=hang, justification=justified, bf]{caption} \urlstyle{tt} \usepackage{subfigure} \setcounter{tocdepth}{4} \setcounter{secnumdepth}{6} \usepackage{listings} \usepackage{makeidx} \makeindex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \makeatletter %Quellcodeverzeichnis % Festlegen des Kapitelnamen (nicht unbedingt notwendig): % aus listing.sty % Erzeugen eines Eintrags im Inhaltsverzeichnis: % aus book.cls \newcommand\loltableofcontents{% \if@twocolumn \@restonecoltrue\onecolumn \else \@restonecolfalse \fi \chapter*{\contentsname} % \@mkboth{% % \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% \chapter{\lstlistlistingname} \@starttoc{toc}% \if@restonecol\twocolumn\fi } \renewcommand\lstlistlistingname{Quellcodeverzeichnis} % aus listing.sty \renewcommand\lstlistoflistings{\bgroup \let\contentsname\lstlistlistingname \let\lst@temp\@starttoc \def\@starttoc##1{\lst@temp{lol}}% \loltableofcontents \egroup} \makeatother \usepackage{makeidx} \makeindex \begin{document} \tableofcontents \lstlistoflistings \newpage \begin{lstlisting}[caption={ein paar Zeilen code},label=test123,captionpos=t] for i:=maxint to 0 do begin //kommentar j:=square(root(i)); end; \end{lstlisting} \end{document}
[Admin-Edit:]
1 <code>...</code> eingefügt. Bitte künftig selbst beachten!
Alles ein wenig krude
Wenn Du in Deiner Verzeichnis-Definition sowohl
\chapter*{…}
als auch\chapter{…}
verwendest, sollte es Dich eigentlich nicht wundern, dass Du zwei Überschriften bekommst. Aber statt der ganzen Umdefinierungsgeschichte, würde ich an Deiner Stelle einfach das Paket scrhack verwenden. Dann verschwindet auch die Warnung:Auch die Warnungen:
und
solltest Du ernst nehmen und entsprechend umsetzen. Dabei kannst Du dann auch gleich die Nummerierung mit aktivieren. Dafür fallen dann auch noch ein paar andere Optionen, die doppelt gemoppelt sind, weg:
Näheres zum Paket scrhack ist beispielsweise in der 4. Auflage des KOMA-Script-Buches zu finden.
Den Index würde ich übrigens auf keinen Fall nummerieren. Das macht man einfach nicht. Wenn man das trotzdem will:
Abänderung
Danke für die schnelle und ausführliche Antwort.
Habe mich bei meiner Internetsuche auf diese Seite hier gestützt:
http://www.macwrench.de/wiki/Kurztipp_-_Quellcodelistings_in_LaTeX
\usepackage{scrhack }
habe ich jetzt eingebunden. Die Fehlermeldungen verschwinden.Danach habe ich den Vorschlag von Dir eingebunden:
und meine ganzen Umdefinitionen rausgeworfen. Der Doppelteintrag fliegt somit auch raus.
Folgende Nummerierung stellt sich damit im Inhaltsverzeichnis und im Dokument selbst ein:
Abbilungsverzeichnis
I. Abkürzungsverzeichnis
Literaturverzeichnis
Listings
II. Anhang Quellcodes
Gewünscht wäre:
I. Abbilungsverzeichnis
II. Abkürzungsverzeichnis
III. Literaturverzeichnis
IV. Listings
V. Anhang Quellcodes
Wenn Du wichtige
Wenn Du wichtige Informationen verschweigst (← diesen Link gab es bereits bei der Anmeldung!), dann kann ich Dir nicht helfen. Du machst jedenfalls etwas anders, als ich Dir gezeigt habe, bei mir passt es nämlich:
Und für den kruden Code von irgendwelchen Web-Seiten bin ich nun wirklich nicht verantwortlich. Dass der Code auf der Seite falsch ist und in dieser Form nie getestet wurde, sollte man schon daran sehen, dass die schließende Klammer bei
\chapter*{\contentsname
im Kommentar verborgen ist.Wenn ich hingegen vollständige Beispiele poste, dann sind diese in der Regel auch getestet (oder ich gebe das extra an) und ich darf dann auch erwarten, dass diese genau so ausprobiert werden. Wenn dann etwas im eigenen, irgendwie zusammen kopierten Code nicht funktioniert, sollte der erste Schritt sein, selbst zu prüfen, was alles anders ist und welcher Unterschied entscheidend ist.
Benutzer wegen Verstoßes gegen die X-Post-Regel gesperrt
Die Diskussion ist aufgrund des Crossposts außerdem geschlossen.
Administratorentscheidungen sind grundsätzlich nicht im Forum zu diskutieren. Für Fragen an die Administratoren ist die bekannte Administrator-E-Mail-Adresse oder das Forum Site zu verwenden.