BibLaTeX: 일부 저자의 대문자 사용 방지

BibLaTeX: 일부 저자의 대문자 사용 방지

나는 다음 명령을 사용하고 있습니다 :

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

모든 저자 이름을 대문자로 인쇄합니다. (본문과 참고문헌에서 인용된 경우) 저는 작성자연도-icomp 스타일로 biblatex를 사용하고 있습니다.

이제 이중 중괄호로 묶인 기관을 방지하기 위해 일종의 필터를 적용하고 싶습니다.

author = {{Regionalverband Ruhr}}

대문자로 인쇄되지 않도록 합니다(본문과 참고문헌 모두에서). 이것이 어떻게 달성될 수 있습니까?

그래서

SELLE, K. (2005): Planen, Steuern, Entwickeln: über den Beitrag öffentlicher Akteure zur Entwicklung von Stadt und Land. 도르트문트(=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. 작은 대문자는 작성자가 법인이 아닌 경우에만 사용됩니다.

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}

예제 출력


특정 이름에 주석을 추가할 수 있다는 사실을 알게 되면 주석의 이점이 실제로 발휘됩니다. 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}

여기에 이미지 설명을 입력하세요

관련 정보