BibLaTeX: 一部の著者の大文字化を禁止する

BibLaTeX: 一部の著者の大文字化を禁止する

このコマンドを使用しています:

\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}

すべての著者名を大文字で印刷します。(著者名が本文と参考文献の両方で引用されている場合) 私は authoryear-icomp スタイルの biblatex を使用しています。

ここで、二重中括弧で囲まれた機関を防ぐために、何らかのフィルターを適用したいと思います。

author = {{Regionalverband Ruhr}}

大文字で印刷されるのを防ぎます (これも本文と参考文献の両方で)。どうすればこれを実現できるでしょうか?

それで

SELLE, K. (2005): 計画、準備、発展: 都市と地域の発展に関する投稿の公開について。ドルトムント(=Edition Stadt-Entwicklung)。

しかし

Ruhr Tourismus GmbH (2017): Ruhr Tourismus GmbH のマーケティング戦略 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」は小文字になりません。

もちろん、著者が1人しかいない場合でも、著者の数を数えて正しい数を入力する必要があります。

  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}

ここに画像の説明を入力してください

関連情報