sensemann
29-02-2012, 11:05
Hallo,
ich hadere noch immer mit biblatex. Im Minimalbeispiel unten seht ihr mein bisheriges Setup, mit dem ich ganz zufrieden war. Kurz gesagt bekomme ich damit folgende ausgabe hin:
\textcite{...} ergibt die Textform: Szyperski et al. (2002)
\parencite{...} ergibt die Klammerform: [Szyperski et al., 2002]
In Verbindung mit hyperref bestand allerdings das Problem, dass immer nur die Jahreszahlen verlinkt waren. Also habe ich mich des Internets bedient und eine Lösung gefunden: die beiden "DeclareCiteCommand"-Teile vor dem Dokumentenbeginn, die auch tun, was sie sollen.
ABER: Das Problem zeigt sich am Besten anhand von Bildern.
Vorher (ohne):http://pietschmann.cc/temp/vorher.PNG
Nachher (mit): http://pietschmann.cc/temp/nachher.PNG
Wird also ein Eintrag/Autor mehrfach referenziert, verschwindet er. Leider steig ich bei der biblatex-Manipulation nicht so durch, aber vielleicht kann mir jemand hier weiterhelfen?
\documentclass[final,ngerman]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{filecontents}
\begin{filecontents}{literatur.bib}
@BOOK{Szyperski2002a,
title = {Component Software: Beyond Object-Oriented Programming},
year = {2002},
author = {Clemens Szyperski},
}
@BOOK{Szyperski2002b,
title = {Component Software: Beyond Object-Oriented Programming},
year = {2002},
author = {Clemens Szyperski},
}
\end{filecontents}
% link color
\usepackage[pdftex,natural,dvipsnames]{xcolor}
\xdefinecolor{dblue}{rgb}{0,.1,.5}
%% hyperref + link color
\usepackage[pdftex,bookmarks,colorlinks]{hyperref}
\hypersetup{citecolor=dblue,linkcolor=dblue}
%% biblatex
\usepackage[style=authoryear-comp]{biblatex}
\bibliography{literatur}
% comma separating author-year
\renewcommand*{\nameyeardelim}{\addcomma\space}
% using brackets for parencite [Doe et al., 2001]
\renewcommand*{\mkbibparens}[1]{{\ifcitation{\bibleftbracket#1\bibrightbracket}%
{\bibleftparen#1\bibrightparen}}}
% auskommentieren %
\DeclareCiteCommand{\parencite}[\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{cite}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\textcite}
{\boolfalse{cbx:parens}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{textcite}}}
{\ifbool{cbx:parens}
{\bibcloseparen\global\boolfalse{cbx:parens}}
{}%
\multicitedelim}
{\usebibmacro{textcite:postnote}}
% % % %
\begin{document}
a. parens: \parencite{Szyperski2002a}\\
b. text: \textcite{Szyperski2002b}\\
a. text: \textcite{Szyperski2002a}\\
b. parens: \parencite{Szyperski2002b}\\
\printbibliography[title=Literaturverzeichnis]
\end{document}
Bei der Gelegenheit möchte ich nochmal Werbung für meine andere biblatex-Frage machen (bzgl. Literaturverzeichnis). Marco hatte sich schon verdient gemacht und mir mächtig weitergeholfen, aber am Ende hakte noch. Wäre super, wenn mir da auch jemand auf die Sprünge helfen könnte! http://www.mrunix.de/forums/showthread.php?t=71773
ich hadere noch immer mit biblatex. Im Minimalbeispiel unten seht ihr mein bisheriges Setup, mit dem ich ganz zufrieden war. Kurz gesagt bekomme ich damit folgende ausgabe hin:
\textcite{...} ergibt die Textform: Szyperski et al. (2002)
\parencite{...} ergibt die Klammerform: [Szyperski et al., 2002]
In Verbindung mit hyperref bestand allerdings das Problem, dass immer nur die Jahreszahlen verlinkt waren. Also habe ich mich des Internets bedient und eine Lösung gefunden: die beiden "DeclareCiteCommand"-Teile vor dem Dokumentenbeginn, die auch tun, was sie sollen.
ABER: Das Problem zeigt sich am Besten anhand von Bildern.
Vorher (ohne):http://pietschmann.cc/temp/vorher.PNG
Nachher (mit): http://pietschmann.cc/temp/nachher.PNG
Wird also ein Eintrag/Autor mehrfach referenziert, verschwindet er. Leider steig ich bei der biblatex-Manipulation nicht so durch, aber vielleicht kann mir jemand hier weiterhelfen?
\documentclass[final,ngerman]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{filecontents}
\begin{filecontents}{literatur.bib}
@BOOK{Szyperski2002a,
title = {Component Software: Beyond Object-Oriented Programming},
year = {2002},
author = {Clemens Szyperski},
}
@BOOK{Szyperski2002b,
title = {Component Software: Beyond Object-Oriented Programming},
year = {2002},
author = {Clemens Szyperski},
}
\end{filecontents}
% link color
\usepackage[pdftex,natural,dvipsnames]{xcolor}
\xdefinecolor{dblue}{rgb}{0,.1,.5}
%% hyperref + link color
\usepackage[pdftex,bookmarks,colorlinks]{hyperref}
\hypersetup{citecolor=dblue,linkcolor=dblue}
%% biblatex
\usepackage[style=authoryear-comp]{biblatex}
\bibliography{literatur}
% comma separating author-year
\renewcommand*{\nameyeardelim}{\addcomma\space}
% using brackets for parencite [Doe et al., 2001]
\renewcommand*{\mkbibparens}[1]{{\ifcitation{\bibleftbracket#1\bibrightbracket}%
{\bibleftparen#1\bibrightparen}}}
% auskommentieren %
\DeclareCiteCommand{\parencite}[\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{cite}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\textcite}
{\boolfalse{cbx:parens}}
{\usebibmacro{citeindex}%
\printtext[bibhyperref]{\usebibmacro{textcite}}}
{\ifbool{cbx:parens}
{\bibcloseparen\global\boolfalse{cbx:parens}}
{}%
\multicitedelim}
{\usebibmacro{textcite:postnote}}
% % % %
\begin{document}
a. parens: \parencite{Szyperski2002a}\\
b. text: \textcite{Szyperski2002b}\\
a. text: \textcite{Szyperski2002a}\\
b. parens: \parencite{Szyperski2002b}\\
\printbibliography[title=Literaturverzeichnis]
\end{document}
Bei der Gelegenheit möchte ich nochmal Werbung für meine andere biblatex-Frage machen (bzgl. Literaturverzeichnis). Marco hatte sich schon verdient gemacht und mir mächtig weitergeholfen, aber am Ende hakte noch. Wäre super, wenn mir da auch jemand auf die Sprünge helfen könnte! http://www.mrunix.de/forums/showthread.php?t=71773