sensemann
08-03-2012, 08:47
Hallo,
diesmal eine wahrscheinlich einfache Frage - ich werde nur aus der biblatex.def nicht so recht schlau. Ich möchte einen Autor im Literaturverzeichnis durch Unterstreichung hervorheben. Die Lösung, die ich habe, funktioniert, haut aber einfach bei weiteren Autoren ein Komma hinten dran. Das sieht aber so aus:
Autor A, Autor B, Autor C.
Ich hätte gern das Standardverhalten, nämlich:
Autor A, Autor B und Autor C
Allerdings weiß ich nicht, wie ich das innerhalb von \DeclareNameFormat ausdrücken kann. Könnt ihr mir auf die Sprünge helfen?
\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{Einstein2003,
title = {Component Software: Beyond Object-Oriented Programming},
year = {2003},
author = {Albert Einstein and Clemens Szyperski and Bruce Wayne},
}
\end{filecontents}
\usepackage[style=authoryear-ibid,backend=biber,firstinits=true]{biblatex}
\bibliography{literatur}
\usepackage[normalem]{ulem}
\renewcommand*{\nameyeardelim}{\addcomma\space}
\DeclareNameAlias{sortname}{last-first}
% underline name in bibliographies
\DeclareNameFormat{author}{%
\ifthenelse{\equal{#1}{Szyperski}}%
{\uline{#1\ifblank{#4}{}{\addcomma\space#4}}}%
{#1\ifblank{#4}{}{\addcomma\space#4}}%
\ifthenelse{\value{listcount}<\value{liststop}}%
{\addcomma\space}
{}}
\begin{document}
\dots \parencite{Szyperski2002a} \dots \autocite{Einstein2003}
\printbibliography[title=Literaturverzeichnis]
\end{document}
diesmal eine wahrscheinlich einfache Frage - ich werde nur aus der biblatex.def nicht so recht schlau. Ich möchte einen Autor im Literaturverzeichnis durch Unterstreichung hervorheben. Die Lösung, die ich habe, funktioniert, haut aber einfach bei weiteren Autoren ein Komma hinten dran. Das sieht aber so aus:
Autor A, Autor B, Autor C.
Ich hätte gern das Standardverhalten, nämlich:
Autor A, Autor B und Autor C
Allerdings weiß ich nicht, wie ich das innerhalb von \DeclareNameFormat ausdrücken kann. Könnt ihr mir auf die Sprünge helfen?
\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{Einstein2003,
title = {Component Software: Beyond Object-Oriented Programming},
year = {2003},
author = {Albert Einstein and Clemens Szyperski and Bruce Wayne},
}
\end{filecontents}
\usepackage[style=authoryear-ibid,backend=biber,firstinits=true]{biblatex}
\bibliography{literatur}
\usepackage[normalem]{ulem}
\renewcommand*{\nameyeardelim}{\addcomma\space}
\DeclareNameAlias{sortname}{last-first}
% underline name in bibliographies
\DeclareNameFormat{author}{%
\ifthenelse{\equal{#1}{Szyperski}}%
{\uline{#1\ifblank{#4}{}{\addcomma\space#4}}}%
{#1\ifblank{#4}{}{\addcomma\space#4}}%
\ifthenelse{\value{listcount}<\value{liststop}}%
{\addcomma\space}
{}}
\begin{document}
\dots \parencite{Szyperski2002a} \dots \autocite{Einstein2003}
\printbibliography[title=Literaturverzeichnis]
\end{document}