Archiv verlassen und diese Seite im Standarddesign anzeigen : Bibliography als Section, nicht als Chapter
hi,
habe folgendes problem:
in einem chapter "References & Bibliography" sollen als sections "References" und "Bibliography" auftauchen, chapter und sections sollen unnummeriert am ende des inhaltsverzeichnisses stehen. das problem ist: ich schaffe es nicht, die bibliography als section einzubauen, sie erscheint immmer als chapter.
hier ein auszug aus dem code:
\chapter*{References \& Bibliography}
\addcontentsline{toc}{chapter}{References \& Bibliography}
\markboth{References \& Bibliography}{References \& Bibliography}
\section*{References}
\addcontentsline{toc}{section}{References}
\input{./bibliography/references}
\newpage
\section*{Bibliography}
\addcontentsline{toc}{section}{Bibliography}
\renewcommand\bibname{Bibliography}
\nocite{*}
\bibliographystyle{./bibliography/plainnat}
\bibliography{./bibliography/bibliography}
wäre euch dehr dankbar, wenn ihr mir helfen könntet!
bin jetzt einen schritt weiter: habe am anfang der tex-datei folgendes eingefügt:
\makeatletter
\renewenvironment{thebibliography}[1]
{\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}
{\def\@noitemerr
{\@latex@warning{Empty `thebibliography' environment}}%
\endlist}
\makeatother
die bib ist jetzt wie gewünscht eingebunden, allerdings sind die einträge jetzt etwas anders formatiert als vorher (einrückungen, zeilenabstand und so).
der komplette bibliography-teil der scrbook.cls, die ich verwende, sieht so aus:
\newcommand*\bibname{Bibliography}
\newcommand*{\bibpreamble}{\relax}
\let\bibpreamble\relax
\newcommand{\setbibpreamble}[1]{\def\bibpreamble{#1}}
\newcommand*\bib@heading{%
\chapter*{\bibname}%
\@mkboth{\bibname}{\bibname}%
}
\newdimen\bibindent
\bibindent=1.5em
\newenvironment{thebibliography}[1]{%
\ifx\bibpreamble\relax\else\ifx\bibpreamble\@empty \else
\setchapterpreamble{\bibpreamble}%
\fi\fi
\bib@heading
\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 \widowpenalty4000
\sfcode`\.=\@m
}{%
\def\@noitemerr{%
\@latex@warning{Empty `thebibliography' environment}%
}%
\endlist
}
\newcommand*\newblock{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty
was müsste ich machen, um die ursprüngliche formatierung der bib wieder zu bekommen? danke für eure hilfe!
Stefan_K
28-02-2009, 00:49
Hallo,
Du hättest \bib@heading redefinieren können und darin \chapter* durch \section* ersetzen können.
Grüße,
Stefan
hallo stefan,
vielen dank für deine antwort!
leider hat das, was ich probiert habe, nicht funktioniert: habe den renewenvironment-abschnitt durch
\makeatletter
\renewcommand*\bib@heading{%
\section*{\bibname}%
\@mkboth{\bibname}{\bibname}%
}
\makeatother
ersetzt, bekomme jetzt aber wieder eine bib. als chapter.
wäre super, wenn du mir erklären könntest, wie ich \bib@heading redefinieren muss. danke dir!
Stefan_K
28-02-2009, 14:21
Hallo,
diese Weise der Redefinition ist richtig. In diesem Minimalbeispiel funktioniert es wie beabsichtigt:
\documentclass{scrbook}
\makeatletter
\renewcommand*\bib@heading{%
\section*{\bibname}%
\@mkboth{\bibname}{\bibname}%
}
\makeatother
\begin{document}
\tableofcontents
\section{Test}
\begin{thebibliography}{0}
\item Test
\end{thebibliography}
\end{document}
Evtl. poste ein Minimalbeispiel, das zeigt, wie es in Deinem Fall nicht klappt.
Möglicherweise hilft es, die Redefinition erst nach \begin{document} vorzunehmen, obwohl ich solche Einstellungen normalerweise in die Präambel packen würde.
Viele Grüße,
Stefan
ich glaube, das problem bei mir ist, dass die bib folgendermaßen erstellt wird (also anders als in deinem beispiel):
\bibliographystyle{./bibliography/plainnat}
\bibliography{./bibliography/bibliography}
Redefinition nach \begin{document} hat auch nicht geholfen.
das problem ist, dass ich das tex-file gar nicht selber erstellt hab, sondern nur entsprechend verändern soll (meine latex-kenntnisse sind eher beschränkt). hast du noch eine idee, warum das renewcommand bei mir ohne wirkung bleibt?
(in der Präambel steht noch \usepackage{natbib}, falls das hilft)
danke für Deine hilfe!!
es funktioniert! :)
habe die redefiniton von bib@heading jetzt ganz an den anfang der präambel gestellt, und jetzt klappts!
danke dir nochmal für deine hilfe!
Ich habe die o.g. Definition im Dokument (also erst nach \begin{document}) eingefügt. Ich benutze das für mit bibunits eingefügte Teilverzeichnisse. Funktioniert, außerdem habe ich folgendes verändert, um die laufenden Header/Footer beizubehalten:
\makeatletter
\renewcommand*\bib@heading{%
\section*{\bibname}%
\@mkboth{\leftmark}{\rightmark}%
}
\makeatother
Wenn man am Ende noch eine übergreifende Chapter-Bibliograhy hat, kann man das ganze einfach wieder zurück definieren (vor \bibliograhy{xxx}):
\makeatletter
\renewcommand*\bib@heading{%
\chapter*{\bibname}%
\@mkboth{\bibname}{\bibname}%
}
\makeatother
Vielen Dank an Stefan für den Code!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.