PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : biblatex Stil anpassen



crashtestdummie
11-11-2010, 10:07
Hallo,

ich versuche das Aussehen des Literaturverzeichnisses anzupassen, bin dabei auf Probleme gestoßen, vielleicht weil ich die Änderungen sowohl im Hauptdokument, als auch in der biblatex.def vorgenommen habe. Ich nutze die Vorlage der Deutschen Nationalbibliothek.
Hier mal ein Minimalbeispiel:

\documentclass[geometry={top=4cm,bottom=3cm,right=2.5cm,left=2.5c m}]{DissOnlineLatex}
\usepackage{graphicx} %um Grafiken einzubinden
\usepackage{fancyhdr} %um Aussehen der Kopfzeilen zu verändern
\usepackage{subfigure}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[citestyle=authoryear-ibid, bibstyle=authoryear, isbn=false, url=false, doi=false]{biblatex} %um besser Zitieren zu können
\newcommand{\citedouble}[4]{
(\citealp[#1]{#2}; \citealp[#3]{#4})
}

\renewcommand*{\labelnamepunct}{\addcolon\space} %---dient für einen Doppelpunkt vor Titel
\renewcommand*{\multinamedelim}{\addsemicolon\spac e} %---dient für ein Semikolon zwischen Autoren

\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\usebibmacro{author/translator+others}%
\setunit{\labelnamepunct}\newblock
\usebibmacro{title}%
\newunit
\printlist{language}%
\newunit\newblock
\usebibmacro{byauthor}%
\newunit\newblock
\usebibmacro{in:}%
\begingroup% NEU
\renewbibmacro*{date+extrayear}{}% NEU
\usebibmacro{editor+others}% NEU
\newunit\newblock% NEU
\endgroup% NEU
\usebibmacro{maintitle+booktitle}%
\newunit\newblock
% \usebibmacro{byeditor+others}%
% \newunit\newblock
\printfield{edition}%
\newunit
\iffieldundef{maintitle}
{\printfield{volume}%
\printfield{part}}
{}%
\newunit
\printfield{volumes}%
\newunit\newblock
\usebibmacro{series+number}%
\newunit\newblock
\printfield{note}%
\newunit\newblock
\usebibmacro{publisher+location+date}%
\newunit\newblock
\usebibmacro{chapter+pages}%
\newunit\newblock
\iftoggle{bbx:isbn}
{\printfield{isbn}}
{}%
\newunit\newblock
\usebibmacro{doi+eprint+url}%
\newunit\newblock
\usebibmacro{addendum+pubstate}%
\newunit\newblock
\usebibmacro{pageref}%
\usebibmacro{finentry}}
\setlength{\headheight}{15pt}

%-Angabe der Bibliographie----------------------------------------

\begin{filecontents}{Eintraege.bib}

@incollection{ebel_herausforderungen_2003,
title = {Herausforderungen der Automobilindustrie},
isbn = {9783540002260},
booktitle = {Automotive Management: Strategie und Marketing in der Automobilwirtschaft},
publisher = {Springer},
author = {Bernhard Ebel and Markus B. Hofer and Jumana {Al-Sibai}},
editor = {Bernhard Ebel and Markus B. Hofer and Jumana {Al-Sibai}},
year = {2003},
pages = {3--12}
},
@article{gaag_suchen_2008,
title = {{{\quotedblbase}Suchen} und Finden{\textquotedblleft} im Maschinen- und Anlagenbau - Eine Studie in Zusammenarbeit mit dem {VDMA}},
volume = {4},
number = {01},
journal = {Competence in Design and Development {(CiDaD-WPS)}},
author = {Andreas Gaag and Ulrich Ponn},
year = {2008},
keywords = {printed}
},
@book{ehrlenspiel_integrierte_2006,
title = {Integrierte Produktentwicklung: Denkabl\"{a}ufe, Methodeneinsatz, Zusammenarbeit},
isbn = {9783446407336},
shorttitle = {Integrierte Produktentwicklung},
publisher = {Hanser Verlag},
author = {Klaus Ehrlenspiel},
year = {2006}
}
\end{filecontents}

\begin{document}
\printbibliography

\end{document}


Und es soll dann im Literaturverzeichnis wie folgt aussehen:
@inproceedings
Nachname1, Vorname1; Namname2, Vorname2 (Jahr): Titel. In: Nachname(Editor1), Vorname; Nachname(Editor2), Vorname (Hrsg.). Haupttitel. Verlag, Seiten.

@book
Nachname1, Vorname1; Nachname2, Vorname2 (Jahr): Titel. Verlag.

@article
Nachname, Vorname (Jahr): Titel. In: Zeitschrift Band(Ausgabe), Seiten.

Bei natbib konnte man im Text auch auf den Autornamen klicken, um in Literaturverzeichnis zu springen, das geht jetzt bei biblatex nur bei klick auf das Jahr. Kann man das ändern :-[

Vielen Dank für Eure Hilfe!

crashtestdummie
11-11-2010, 10:47
ich hab jetzt nochmal von vorn begonnen und alles sauber im Dokument selbst eingefügt und nicht in der biblatex.def rumgefummelt :-)
Mir fehlt jetzt nur noch die Angabe "Hrsg." in Klammern, dazu habe ich folgendes gefunden:


\renewbibmacro*{bbx:editor}[1]{%
\ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{edito r}}
{\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthas h}\AND
\NOT\iffirstonpage\AND
\(\NOT\boolean{bbx@inset}\OR
\iffieldequalstr{entrysetcount}{1}\)}
{\bibnamedash}
{\printnames{editor}%
\setunit{\addspace}% GEÄNDERT
\usebibmacro{bbx:savehash}}%
\printtext[parens]{\usebibmacro{#1}}% GEÄNDERT
\clearname{editor}%
\setunit{\addspace}}%
{\global\undef\bbx@lasthash
\usebibmacro{labeltitle}%
\setunit*{\addspace}}%
\usebibmacro{date+extrayear}}

Allerdings kommt bei mir da ein Fehler (@secondoftwo has an extra } und es wird dann im Literaturverzeichnis @asthash beim Editor angezeigt!

Danke nochmals!

domwass
11-11-2010, 14:33
Hast du vor dem Code \makeatletter und danach \makeatother eingefügt?

Gruß,
Dominik.-

crashtestdummie
11-11-2010, 14:59
Hast du vor dem Code \makeatletter und danach \makeatother eingefügt?


Nein, daran lags! Danke Dir!

Jetzt bleibt nur noch das Problem, dass bei einer incollection die Editoren nicht aufgezählt werden, sondern nur ein viertel Strich angezeigt wird. Bei einer anderen, die von den Daten her genauso ausschaut, passts wiederum!

Hier die beiden Beispiele:

@incollection{schaeppi_integrierte_2005,
title = {Integrierte Produktentwicklung - Entwicklungsprozesse zielorientiert und effizient gestalten},
isbn = {9783446228382},
booktitle = {Handbuch Produktentwicklung},
publisher = {Carl Hanser Verlag},
author = {Bernd Sch\"{a}ppi},
editor = {Bernd Sch\"{a}ppi and Mogens M. Andreasen and Manfred Kirchgeorg and {Franz-Josef} Radermacher},
year = {2005},
pages = {3--27}
}

@incollection{ebel_herausforderungen_2003,
title = {Herausforderungen der Automobilindustrie},
isbn = {9783540002260},
booktitle = {Automotive Management: Strategie und Marketing in der Automobilwirtschaft},
publisher = {Springer},
author = {Bernhard Ebel and Markus B. Hofer and Jumana {Al-Sibai}},
editor = {Bernhard Ebel and Markus B. Hofer and Jumana {Al-Sibai}},
year = {2003},
pages = {3--12}
}

Ich habe schon ein wenig getestet und gegenseitig ersetzt, aber der Fehler tritt trotzdem auf. Hat einer von Euch eine Idee?

EDIT:
nach Verändern der Suchparameter habe ich was gefunden:
http://www.golatex.de/viewtopic,p,22984.html

Jetzt bleibt nur noch die Kür offen: Kann man definieren, dass man auch auf den Autornamen im Text klicken kann, um ins Literaturverzeichnis zu springen?
Habe gerade bemerkt, dass durch den Befehl \multinamedelim sowohl das Trennzeichen im Literaturverzeichnis, als auch das in der Zitation geändert werden! Ich möchte aber gerne im Text die Autoren mit einem Komma trennen und im Literaturverzeichnis mit einem Semikolon!
Ist das möglich?

crashtestdummie
12-11-2010, 14:25
Um das Trennzeichen in der bibliography anders zu gestalten als im Text hilft folgender Text:

\AtBeginBibliography{ %---dient für ein Semikolon zwischen Autoren(aber nur in bibliography)
\renewcommand*{\multinamedelim}{\addsemicolon\spac e}
}