Ich verwende diesen Befehl:
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
um alle Autorennamen in Großbuchstaben zu drucken. (wenn sie sowohl im Text als auch in der Bibliographie zitiert werden). Ich verwende Biblatex mit dem Stil authoryear-icomp.
Nun möchte ich eine Art Filter anwenden, um Institutionen zu verhindern, die in doppelten geschweiften Klammern eingeschlossen sind, wie hier
author = {{Regionalverband Ruhr}}
in Großbuchstaben gedruckt werden (wiederum sowohl im Text als auch in der Bibliographie). Wie könnte dies erreicht werden?
Also
SELLE, K. (2005): Planen, Steuern, Entwickeln: über den Beitrag öffentlicher Akteure zur Entwicklung von Stadt und Land. Dortmund (=Edition Stadt-Entwicklung).
Aber
Ruhr Tourismus GmbH (2017): Marketingstrategie 2017-2022 der Ruhr Tourismus GmbH. Oberhausen.
Antwort1
Ich schlage vor, Sie verwendendie ausgefallene Annotationsfunktion für Felder. Wenn Sie einen Firmenautor haben, fügen Sie einfach hinzu author+an = {=corporate}
. Mit
\renewcommand*{\mkbibnamefamily}[1]{%
\iffieldannotation{corporate}
{#1}
{\textsc{#1}}}
Anschließend prüfen wir, ob ein Autor vorliegt corporate
oder nicht. Kapitälchen werden nur verwendet, wenn es sich bei dem Autor nicht um eine Firma handelt.
MWE
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend=biber, style=authoryear]{biblatex}
\usepackage{csquotes}
\usepackage[ngerman]{babel}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@misc{ruhr,
author = {{Regionalverband Ruhr}},
author+an = {=corporate},
title = {Marketingstrategie 2017-2022 der Ruhr Tourismus GmbH},
year = {2017},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\renewcommand*{\mkbibnamefamily}[1]{%
\iffieldannotation{corporate}
{#1}
{\textsc{#1}}}
\begin{document}
\cite{sigfridsson,ruhr},
\printbibliography
\end{document}
Die Vorteile der Annotation kommen erst richtig zum Tragen, wenn wir erkennen, dass wir Annotationen zu bestimmten Namen hinzufügen können. Dabei author+an = {1=corporate},
ist nur der Vorname corporate
. Wir müssen dann verwenden
\renewcommand*{\mkbibnamefamily}[1]{%
\ifitemannotation{corporate}
{#1}
{\textsc{#1}}}
Hinweis \ifitemannotation
statt \iffieldannotation
.
In
@misc{ruhr,
author = {{Regionalverband Ruhr} and Anne Elk},
author+an = {1=corporate},
title = {Marketingstrategie 2017-2022 der Ruhr Tourismus GmbH},
year = {2017},
}
Dann bekommt „Anne Elk“ Kapitälchen, „Regionalverband Ruhr“ jedoch nicht.
Sie müssen natürlich die Anzahl der Autoren zählen und die richtige Zahl angeben, auch wenn es nur einen Autor gibt.
author = {{Regionalverband Ruhr}},
author+an = {1=corporate},
Und
author = {Anne Elk and {Regionalverband Ruhr}},
author+an = {2=corporate},
Dies funktioniert natürlich auch für das editor
Feld und jedes andere Namensfeld.
Antwort2
Sie können auch mit einem filtern keyword
, sagen wir nosc
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[backend=biber, style=authoryear]{biblatex}
\usepackage{csquotes}
\usepackage[ngerman]{babel}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@misc{ruhr,
author = {{Regionalverband Ruhr}},
title = {Marketingstrategie 2017-2022 der Ruhr Tourismus GmbH},
year = {2017},
keywords = {nosc}
}
@book{selle05,
author = {Selle, K},
title = {Planen, Steuern, Entwickeln: über den Beitrag öffentlicher Akteure zur Entwicklung von Stadt und Land},
year = {2005},
publisher = {Edition Stadt-Entwicklung},
location = {Dortmund}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\renewcommand*{\mkbibnamefamily}[1]{%
\ifkeyword{nosc}
{#1}
{\textsc{#1}}}
\begin{document}
Siehe \cite{ruhr, selle05}.
\printbibliography
\end{document}