ich habe ein Neues Thema aufgemacht, da sich die Thematik weg vom ursprünglichen Titel verlagert hat.
Der alte Thread ist:
http://www.golatex.de/viewtopic,p,40945.html#40945
Aktuell erstelle ich mehrere eigene Listingumgebungen, da ich C-Code und Bash-Code getrennt voneinander behandeln möchte. Leider kann ich bis jetzt nur ein Verzeichnis erstellen. Wie kann ich zwei, nach Codesorte unterscheidende Verzeichnisse erstellen?
Das zweite Problem ist die Nummerierung. Da ich chapter.code verwende, werden die Linknummern doppelt vergeben. Zum Beispiel 1.1 einmal für den ersten C-Code und einmal für den ersten Bash-Code im ersten Kapitel. Damit gehen die Verlinkungen schief. Wie kann man es einrichten, dass die Verlinkungen wieder eineindeutig behandelt werden?
"Kurzes Minimalbeispiel"
\listfiles % Einstellen der Dokumentenklasse mit wichtigen Parametern \documentclass[ 12pt, % Standartschriftgr��e 12pt a4paper, % Format A4 twoside, % Zweiseitig ngerman, % Neue deutsche Rechtschreibung headsepline=on, % Einschalten der Kopfzeilentrennlinie (scheint nur angezeigt, wenn es eine Kopfzeile gibt.) footsepline=on, % Einschalten der Fu�zeilentrennlinie plainfootsepline % F�gt dem Seitenstill plain eine footsepline hinzu. (F�r Kapitelanfangsseiten.) Ben�tigt \usepackage [automark]{scrpage2} und den \pagestyle{scrheadings} ]{scrreprt} % Dokumentenklasse \usepackage{float} \usepackage{listings} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage[pdftex, demo]{graphicx} \usepackage{pdfpages} \usepackage[hyperfootnotes=false,colorlinks=true,linkcolor=black,citecolor=black,urlcolor=darkblue]{hyperref} \usepackage{cite} \usepackage[automark]{scrpage2} \usepackage{setspace} \onehalfspacing \usepackage{blindtext} \pagestyle{scrheadings} %Ben�tigt \usepackage [automark]{scrpage2} \setheadsepline{1pt} \setfootsepline{1pt} \setlength{\textheight}{21cm} %Um Beispielbilder einzufügen \newcommand\bild[2] { \captionsetup{type=figure} \fbox{\includegraphics[width=10cm,height=4cm]{plank}} \caption{#1} \label{#2} } %Um Beispielbilder einzufügen \newcommand\tab[2] { \begin{table}[h!] \fbox{ \begin{tabular}{ll} \textbf{Üb1} & \textbf{Üb2}\\ Text1 & Text2\\ Text3 & Text4\\ Text5 & Text6\\ \end{tabular} } \caption{#1} \label{#2} \end{table} } %Zur Gestalltung der Captions \usepackage[format=plain,indention=1cm,font=sf ,labelfont=bf, nooneline]{caption} \renewcommand{\captionfont}{\sffamily \slshape} \renewcommand{\captionlabelfont}{ \sffamily \slshape \bfseries } \renewcommand{\thefigure}{\arabic{chapter}.\arabic{figure}} % Durchnummerierung der Abbildungen im Gesamtdokument \renewcommand{\thetable}{\arabic{chapter}.\arabic{table}} % Durchnummerierung der Tabellen im Gesamtdokument \newcounter{oldlstlisting} \newcounter{ccodecounter}[chapter] \newcounter{bashcodecounter}[chapter] \makeatletter \lstnewenvironment{ccode}[2]{ \renewcommand\lstlistingname{C-Quellcode} \setcounter{oldlstlisting}{\value{lstlisting}} \setcounter{lstlisting}{\value{ccodecounter}} \lstset{ frame=tlbr, xleftmargin=15mm, framexleftmargin=15mm, numbersep=5mm, numbers=left, stepnumber=5, firstnumber=1, captionpos=b, tabsize=4, breaklines=true, #1 } }{ \stepcounter{ccodecounter} \setcounter{lstlisting}{\value{oldlstlisting}} } \lstnewenvironment{bashcode}[2]{ \renewcommand\lstlistingname{Bash-Quellcode} \setcounter{oldlstlisting}{\value{lstlisting}} \setcounter{lstlisting}{\value{bashcodecounter}} \lstset{ language=Bash, frame=tlbr, xleftmargin=15mm, framexleftmargin=15mm, numbersep=5mm, numbers=left, stepnumber=5, firstnumber=1, captionpos=b, tabsize=4, breaklines=true, #1 } }{ \stepcounter{bashcodecounter} \setcounter{lstlisting}{\value{oldlstlisting}} } \makeatother %%%%BEGIN%%%% \begin{document} \cleardoublepage \pdfbookmark[0]{\contentsname}{toc} \tableofcontents \cleardoublepage \pdfbookmark[0]{\listfigurename}{lof} \listoffigures \cleardoublepage \pdfbookmark[0]{\listtablename}{lot} \listoftables \cleardoublepage \pdfbookmark[0]{Quellcodeverzeichnis}{loc} \lstlistoflistings \cleardoublepage \chapter{Kapitel1} \label{chap:kap1} \bild{plank1}{pic:plank1} \tab{tab1}{tab:tab1} \begin{ccode} {caption=prog1, label=ccode:prog1, stepnumber=1} C-Code C-Code C-Code C-Code C-Code C-Code C-Code \end{ccode} \blindtext \blindtext \blindtext \blindtext \begin{bashcode} {caption=prog1, label=bashcode:prog1, stepnumber=1} BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript \end{bashcode} Die Referenz auf den Bashcode 1 in Kapitel \ref{chap:kap1} verweist auf \ref{bashcode:prog1}. Die Referenz auf den Bashcode 2 in Kapitel \ref{chap:kap2} verweist auf \ref{bashcode:prog2}. Die Referenz auf den Bashcode 3 in Kapitel \ref{chap:kap2} verweist auf \ref{bashcode:prog3}. \newline Die Referenz auf den C Code 1 in Kapitel \ref{chap:kap1} verweist auf \ref{ccode:prog1}. Die Referenz auf den C Code 2 in Kapitel \ref{chap:kap2} verweist auf \ref{ccode:prog2}. Die Referenz auf den C Code 3 in Kapitel \ref{chap:kap2} verweist auf \ref{ccode:prog3}. \blindtext \cleardoublepage \chapter{Kapitel2} \label{chap:kap2} \bild{plank2}{pic:plank2} \tab{tab2}{tab:tab2} \begin{ccode} {caption=prog2, label=ccode:prog2} C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code C-Code \end{ccode} \blindtext \blindtext \blindtext \blindtext \begin{bashcode} {caption=prog2, label=bashcode:prog2, stepnumber=1} BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript \end{bashcode} Die Referenz auf den Bashcode 1 in Kapitel \ref{chap:kap1} verweist auf \ref{bashcode:prog1}. Die Referenz auf den Bashcode 2 in Kapitel \ref{chap:kap2} verweist auf \ref{bashcode:prog2}. Die Referenz auf den Bashcode 3 in Kapitel \ref{chap:kap2} verweist auf \ref{bashcode:prog3}. \newline Die Referenz auf den C Code 1 in Kapitel \ref{chap:kap1} verweist auf \ref{ccode:prog1}. Die Referenz auf den C Code 2 in Kapitel \ref{chap:kap2} verweist auf \ref{ccode:prog2}. Die Referenz auf den C Code 3 in Kapitel \ref{chap:kap2} verweist auf \ref{ccode:prog3}. \blindtext \begin{ccode} {caption=prog3, label=ccode:prog3, stepnumber=1} C-Code C-Code C-Code C-Code C-Code C-Code C-Code \end{ccode} \blindtext \blindtext \blindtext \blindtext \begin{bashcode} {caption=prog3, label=bashcode:prog3, stepnumber=1} BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript BashSkript \end{bashcode} \end{document}
Grüße,
Sören