Estou usando este comando:
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
para imprimir todos os nomes dos autores em maiúsculas. (se forem citados no texto e também na bibliografia). Estou usando o biblatex com o estilo authoryear-icomp.
Agora quero aplicar algum tipo de filtro, para evitar instituições que estejam entre chaves duplas assim
author = {{Regionalverband Ruhr}}
de serem impressos em maiúsculas (novamente tanto no texto quanto na bibliografia). Como conseguir isso?
Então
SELLE, K. (2005): Planen, Steuern, Entwickeln: über den Beitrag öffentlicher Akteure zur Entwicklung von Stadt und Land. Dortmund (=Edição Stadt-Entwicklung).
mas
Ruhr Tourismus GmbH (2017): Estratégia de Marketing 2017-2022 der Ruhr Tourismus GmbH. Oberhausen.
Responder1
Eu sugiro que você useo sofisticado recurso de anotação para campos. Se você tiver um autor corporativo, basta adicionar author+an = {=corporate}
. Com
\renewcommand*{\mkbibnamefamily}[1]{%
\iffieldannotation{corporate}
{#1}
{\textsc{#1}}}
então verificamos se temos um corporate
autor ou não. Versaletes são usados somente se o autor não for pessoa jurídica.
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}
As vantagens da anotação realmente entram em ação quando percebemos que podemos adicionar anotações a nomes específicos. Com author+an = {1=corporate},
apenas o primeiro nome é corporate
. Precisamos então usar
\renewcommand*{\mkbibnamefamily}[1]{%
\ifitemannotation{corporate}
{#1}
{\textsc{#1}}}
Observe \ifitemannotation
em vez de \iffieldannotation
.
Em
@misc{ruhr,
author = {{Regionalverband Ruhr} and Anne Elk},
author+an = {1=corporate},
title = {Marketingstrategie 2017-2022 der Ruhr Tourismus GmbH},
year = {2017},
}
então, "Anne Elk" fica com versalete, mas "Regionalverband Ruhr" não.
É claro que você terá que contar o número de autores e fornecer o número correto, mesmo que haja apenas um autor
author = {{Regionalverband Ruhr}},
author+an = {1=corporate},
e
author = {Anne Elk and {Regionalverband Ruhr}},
author+an = {2=corporate},
Naturalmente, isso também funcionará para o editor
campo e qualquer outro campo de nome.
Responder2
Você também pode filtrar com um keyword
, digamos 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}