我正在使用這個命令:
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
以大寫形式列印所有作者姓名。 (如果它們在文本和參考文獻中被引用)。我正在使用 biblatex 和authoryear-icomp 風格。
現在我想應用某種過濾器,以防止像這樣用雙花括號括起來的機構
author = {{Regionalverband Ruhr}}
避免以大寫字母印刷(同樣在文本和參考文獻中)。如何才能實現這個目標?
所以
SELLE, K. (2005):Planen, Steuern, Entwickeln: über den Beitrag öffentlicher Akteure zur Entwicklung von Stadt und Land。多特蒙德(=Stadt-Entwicklung 版)。
但
魯爾旅遊公司 (2017):魯爾旅遊公司 2017-2022 年行銷策略。奧伯豪森。
答案1
我建議你使用字段的精美註釋功能。如果您有企業作者,只需新增author+an = {=corporate}
.和
\renewcommand*{\mkbibnamefamily}[1]{%
\iffieldannotation{corporate}
{#1}
{\textsc{#1}}}
然後我們檢查是否有corporate
作者。僅當作者不是公司時才使用小寫字母。
微量元素
\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}
一旦我們意識到可以為特定名稱添加註釋,註釋的優勢就會真正發揮出來。只有author+an = {1=corporate},
名字是corporate
.然後我們需要使用
\renewcommand*{\mkbibnamefamily}[1]{%
\ifitemannotation{corporate}
{#1}
{\textsc{#1}}}
注意\ifitemannotation
而不是\iffieldannotation
.
在
@misc{ruhr,
author = {{Regionalverband Ruhr} and Anne Elk},
author+an = {1=corporate},
title = {Marketingstrategie 2017-2022 der Ruhr Tourismus GmbH},
year = {2017},
}
然後,「Anne Elk」使用小型大寫字母,但「Regionalverband Ruhr」則沒有。
當然,即使只有一位作者,您也必須計算作者的數量並給出正確的數字
author = {{Regionalverband Ruhr}},
author+an = {1=corporate},
和
author = {Anne Elk and {Regionalverband Ruhr}},
author+an = {2=corporate},
這自然也適用於該editor
欄位和任何其他名稱欄位。
答案2
您也可以使用 進行過濾keyword
,例如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}