ChiefZ
10-04-2012, 03:50
Hallo zusammen,
ich habe folgendes Problem:
Meine Studienarbeit bestand aus Programmieren und bei meiner Dokumentation habe ich jede Menge Quellcodeausschnitte im Anhang. Um das ein bisschen übersichtlicher zu gestalten, habe ich die Quellcodeauszüge im Anhang in "sections" aufgeteilt, die die Klassennamen haben. Der Quellcodeausschnitt ist dann eine "subsection". Leider wird dies aber beim Erstellen des Listingsverzeichnisses nicht berücksichtigt. D.h. der erste Quellcodeausschnitt ist in der "subsection" A.1.1. Klasse::Methode() wird im Listingsverzeichnis aber als A.1 Klasse::Methode angezeigt und auch in der "caption" so dargestellt. Ich hätte aber gerne A.1.1 Klasse::Methode(). Kann mir jemand sagen, wie ich die Tiefe der Nummerierung wie es beim Inhaltsverzeichnis (tocdepth), anpassen kann?
Falls die Beschreibung unklar war, ist hier ein Beispiel:
\documentclass[12pt, a4paper, oneside]{scrreprt}
%************************************************* *
% Verwendete Packages; Dokumenteinstellungen
%************************************************* *
\usepackage{fancyhdr}
\usepackage{graphics}
\usepackage{german}
\usepackage[latin1]{inputenc}
\usepackage{color}
\newcommand{\KopfzeileFarbe}{\color[gray]{0.6}}%
\usepackage[linkcolor=black, % einfache interne Verknüpfungen
anchorcolor=black,% Ankertext
citecolor=black, % Verweise auf Literaturverzeichniseinträge im Text
filecolor=black, % Verknüpfungen, die lokale Dateien öffnen
menucolor=black, % Acrobat-Menüpunkte
urlcolor=black]{hyperref}
\usepackage{caption}
\usepackage[scaled=0.95]{helvet}
\usepackage[T1]{fontenc}
\newcommand{\changefont}[3]{\fontfamily{#1} \fontseries{#2} \fontshape{#3} \selectfont}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage[math]{helvet}
\usepackage{tocloft}
\usepackage{listings}
\definecolor{darkgreen}{rgb}{0,0.35,0}
\lstset{
numbers=left,
basicstyle=\footnotesize,
captionpos=b,
language=C++,
tabsize=2, % sets default tabsize to 2 spaces
numberstyle=\tiny\color[gray]{0.6}, % line number style
keywordstyle=\color{blue}, % keyword style
commentstyle=\color{darkgreen}, % comment style
showspaces=false, % show spaces adding particular underscores
showstringspaces=false, % underline spaces within strings
stringstyle=\color{magenta}, % string literal style
numberbychapter=true
}
\renewcommand*\lstlistingname{Quellcode}
\renewcommand{\lstlistlistingname}{Quellcodeverzei chnis}
\newcommand{\settocdepth}[1]{%
\addtocontents{toc}{\protect\setcounter{tocdepth}{ #1}}}
%************************************************* *
%Beginn Doukment
%************************************************* *
\begin{document}
\renewcommand{\figurename}{Abbildung}
\changefont{phv}{m}{n}
\begin{titlepage}
\begin{center}
{\huge {\bf Studienarbeit}\\}
{\vspace{2,5cm} \large \bf von\\mir\\}
{\vspace{2,5cm} \huge \bf Titel der Arbeit\\}
{\vspace{2,5cm} \large \bf Institut für \\Universität \\}
\vspace{2,5cm} \large \bf Betreut von\\Dipl.-Ing.
\end{center}
\end{titlepage}
\pagenumbering{roman}
\pagestyle{fancy}
\renewcommand*{\chapterpagestyle}{fancy}
\addcontentsline{toc}{chapter}{Inhaltsverzeichnis}
\tableofcontents
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{3}
\newpage
\lstlistoflistings
\addcontentsline{toc}{chapter}{Quellcodeverzeichni s}
\pagenumbering{arabic}
\chapter{Kapitel}
...Text...
\section{Section}
...Text...
\subsection{Subsection}
...Text...
\appendix
\settocdepth{1}
\chapter{Auszüge aus dem Quellcode}
\section{Quellcodeausschnitt1.cpp}
\subsection{Die Methode {\tt void Klasse::Methode()}}
\label{hauptmaskeSourcecode1}
\lstset{caption = Die Methode {\tt void Klasse::Methode()}}
\begin{lstlisting}
void Klasse::Methode()
{
...
QString file;
file = QFileDialog::getSaveFileName ( this, "Saving",
QDir::currentPath(), "Sessiondata (*.save)") ;
QFile filesave(file);
...
QDataStream save(&filesave);
if (!filesave.open(QIODevice::WriteOnly)){
QString caption("Error");
QString text("Saving error");
QMessageBox::warning(this, caption, text,
QMessageBox::Ok);
return;
}
return;
}
\end{lstlisting}
\end{document}
ich habe folgendes Problem:
Meine Studienarbeit bestand aus Programmieren und bei meiner Dokumentation habe ich jede Menge Quellcodeausschnitte im Anhang. Um das ein bisschen übersichtlicher zu gestalten, habe ich die Quellcodeauszüge im Anhang in "sections" aufgeteilt, die die Klassennamen haben. Der Quellcodeausschnitt ist dann eine "subsection". Leider wird dies aber beim Erstellen des Listingsverzeichnisses nicht berücksichtigt. D.h. der erste Quellcodeausschnitt ist in der "subsection" A.1.1. Klasse::Methode() wird im Listingsverzeichnis aber als A.1 Klasse::Methode angezeigt und auch in der "caption" so dargestellt. Ich hätte aber gerne A.1.1 Klasse::Methode(). Kann mir jemand sagen, wie ich die Tiefe der Nummerierung wie es beim Inhaltsverzeichnis (tocdepth), anpassen kann?
Falls die Beschreibung unklar war, ist hier ein Beispiel:
\documentclass[12pt, a4paper, oneside]{scrreprt}
%************************************************* *
% Verwendete Packages; Dokumenteinstellungen
%************************************************* *
\usepackage{fancyhdr}
\usepackage{graphics}
\usepackage{german}
\usepackage[latin1]{inputenc}
\usepackage{color}
\newcommand{\KopfzeileFarbe}{\color[gray]{0.6}}%
\usepackage[linkcolor=black, % einfache interne Verknüpfungen
anchorcolor=black,% Ankertext
citecolor=black, % Verweise auf Literaturverzeichniseinträge im Text
filecolor=black, % Verknüpfungen, die lokale Dateien öffnen
menucolor=black, % Acrobat-Menüpunkte
urlcolor=black]{hyperref}
\usepackage{caption}
\usepackage[scaled=0.95]{helvet}
\usepackage[T1]{fontenc}
\newcommand{\changefont}[3]{\fontfamily{#1} \fontseries{#2} \fontshape{#3} \selectfont}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{multirow}
\usepackage{colortbl}
\usepackage[math]{helvet}
\usepackage{tocloft}
\usepackage{listings}
\definecolor{darkgreen}{rgb}{0,0.35,0}
\lstset{
numbers=left,
basicstyle=\footnotesize,
captionpos=b,
language=C++,
tabsize=2, % sets default tabsize to 2 spaces
numberstyle=\tiny\color[gray]{0.6}, % line number style
keywordstyle=\color{blue}, % keyword style
commentstyle=\color{darkgreen}, % comment style
showspaces=false, % show spaces adding particular underscores
showstringspaces=false, % underline spaces within strings
stringstyle=\color{magenta}, % string literal style
numberbychapter=true
}
\renewcommand*\lstlistingname{Quellcode}
\renewcommand{\lstlistlistingname}{Quellcodeverzei chnis}
\newcommand{\settocdepth}[1]{%
\addtocontents{toc}{\protect\setcounter{tocdepth}{ #1}}}
%************************************************* *
%Beginn Doukment
%************************************************* *
\begin{document}
\renewcommand{\figurename}{Abbildung}
\changefont{phv}{m}{n}
\begin{titlepage}
\begin{center}
{\huge {\bf Studienarbeit}\\}
{\vspace{2,5cm} \large \bf von\\mir\\}
{\vspace{2,5cm} \huge \bf Titel der Arbeit\\}
{\vspace{2,5cm} \large \bf Institut für \\Universität \\}
\vspace{2,5cm} \large \bf Betreut von\\Dipl.-Ing.
\end{center}
\end{titlepage}
\pagenumbering{roman}
\pagestyle{fancy}
\renewcommand*{\chapterpagestyle}{fancy}
\addcontentsline{toc}{chapter}{Inhaltsverzeichnis}
\tableofcontents
\setcounter{tocdepth}{4}
\setcounter{secnumdepth}{3}
\newpage
\lstlistoflistings
\addcontentsline{toc}{chapter}{Quellcodeverzeichni s}
\pagenumbering{arabic}
\chapter{Kapitel}
...Text...
\section{Section}
...Text...
\subsection{Subsection}
...Text...
\appendix
\settocdepth{1}
\chapter{Auszüge aus dem Quellcode}
\section{Quellcodeausschnitt1.cpp}
\subsection{Die Methode {\tt void Klasse::Methode()}}
\label{hauptmaskeSourcecode1}
\lstset{caption = Die Methode {\tt void Klasse::Methode()}}
\begin{lstlisting}
void Klasse::Methode()
{
...
QString file;
file = QFileDialog::getSaveFileName ( this, "Saving",
QDir::currentPath(), "Sessiondata (*.save)") ;
QFile filesave(file);
...
QDataStream save(&filesave);
if (!filesave.open(QIODevice::WriteOnly)){
QString caption("Error");
QString text("Saving error");
QMessageBox::warning(this, caption, text,
QMessageBox::Ok);
return;
}
return;
}
\end{lstlisting}
\end{document}