PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Inhaltsverveichnis und Literverzeichnis bei Verwendung von Kopfzeilen



Ganymed
10-03-2010, 09:51
Hallo!

Ich will ein Inhaltsverzeichnis erstellen, in dem das Literaturverzeichnis nummeriert aufgeführt wird. Article sollte beibehalten werden. Das ganze ist auch möglich solange ich keine Kopfzeile verwende. Mit Kopfzeile kommt es zur Fehlermeldung weil sich anscheinend der \section{} Befehl mit \pagestyle{headings} nicht verträgt. Ich könnte \section{} weglassen, hätte dann aber nicht ein nummeriertes Literaturverzeichnis. Gibt es Möglichkeiten ein nummeriertes Literaturverzeichnis ohne koma script zu erzeugen und dabei
\pagestyle{headings} zu verwenden? Vielen Dank für die Hilfe. Unten befindet sich mein Minimalbeispiel.

\documentclass [11pt, a4paper] {article}
\usepackage[german] {babel}
\usepackage[latin1]{inputenc}
\pagestyle{headings}
\begin {document}
\tableofcontents
\newpage{}
\section{kapitel 1}
\cite{bib:bsp}
\newpage{}
\renewcommand{\refname} {Literaturverzeichnis}
% wenn ich statt dieser Zeile \renewcommand{\refname} {\section{Literaturverzeichnis}} schreibe kommt es zur Fehlermeldung
\begin{thebibliography}{xxxxxx}
\bibitem[1] {bib:bsp} bla
\end{thebibliography}
\end {document}

lockstep
10-03-2010, 09:57
\usepackage[numbib,nottoc]{tocbibind}


lockstep

Ganymed
10-03-2010, 10:26
Vielen Dank lockstep. Das funktioniert so schon mal sehr gut. Das Paket habe ich nicht gekannt. Gibt es auch Möglichkeiten das Problem ohne die Einbindung zusätzlicher Pakete zu lösen?

u_fischer
10-03-2010, 11:00
Ich weiß zwar nicht, was du gegen Pakete hast. Die sind doch dafür da, Lösungen anzubieten. Aber thebibliography ist in article-class definiert als

\newenvironment{thebibliography}[1]
{\section*{\refname}%
usw

Deswegen führt deine \refname-Definition zu einem Fehler. \section*{\section{...}} ist halt nicht so sinnvoll.


Kopiere die Definition aus article-class in deine Präambel zwischen \makeatletter-\makeatother und ändere sie.

Ganymed
10-03-2010, 12:23
Ja habe ich mal probiert. Leider kommt eine Fehlermeldungen wenn ich den folgenden ungeänderten Code in die Präampel schreibe da thebibliography schon definiert ist.

\makeatletter
\newenvironment{thebibliography}[1]
{\section*{\refname}%
\@mkboth{\MakeUppercase\refname}{\MakeUppercase\re fname}%
\list{\@biblabel{\@arabic\c@enumiv}}%
{\settowidth\labelwidth{\@biblabel{#1}}%
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\@openbib@code
\usecounter{enumiv}%
\let\p@enumiv\@empty
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy
\clubpenalty4000
\@clubpenalty \clubpenalty
\widowpenalty4000%
\sfcode`\.\@m}
\makeatother

u_fischer
10-03-2010, 12:28
Übertrage \newcommand/\renewcommand auf \newenvironment.

Ganymed
10-03-2010, 13:12
Ne geht leider auch nicht. Aber egal werde mit der anderen Lösung arbeiten! Vielen Dank

u_fischer
10-03-2010, 13:46
Was geht nicht? Hast du das Analoge zu \renewcommand verwendet, nämlich \renewenvironment?

lockstep
11-03-2010, 15:56
Vielen Dank lockstep. Das funktioniert so schon mal sehr gut. Das Paket habe ich nicht gekannt. Gibt es auch Möglichkeiten das Problem ohne die Einbindung zusätzlicher Pakete zu lösen?

Ulrike hat die Frage ja zum Teil schon gestellt, aber trotzdem: Was genau motiviert dich dazu, ein Problem weder durch Verwenden einer "mächtigeren" Klasse noch durch das Laden eines Zusatzpaketes beseitigen zu wollen?

lockstep