BibLaTeX: изменение способа создания ссылок и замена тега URL в цитатах

BibLaTeX: изменение способа создания ссылок и замена тега URL в цитатах

Я использую \parencite, и он работает, но я хотел бы знать, возможно ли:

1 - Добавьте запятую между автором и годом. От (Всемирная организация здравоохранения 1986) до (Всемирная организация здравоохранения, 1986)

2 - Используйте аббревиатуру (или ручную замену для написания чего-либо) в ссылках, даже если в библиографии это не аббревиатура. От (Всемирная организация здравоохранения, 1986) до (ВОЗ, 1986)

И:

3- Как заменить «URL» на «Disponível em» в ссылках в библиографии.

Пример: От

«Всемирная организация здравоохранения (1986). Оттавская хартия по укреплению здоровья. URL: blabla (дата обращения: 31.03.2015).»

к

«Всемирная организация здравоохранения (1986). Оттавская хартия по укреплению здоровья. Размещено на: blabla (дата обращения: 31.03.2015).

4- Показать повторяющихся авторов.

Код:

\documentclass{article}
\usepackage[portuguese]{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=authoryear]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@online{WHO1,
    author = {World{\ }Health{\ }Organization},
    title = {The Ottawa Charter for Health Promotion},
    year = {1986},
    url = {http://www.who.int/healthpromotion/conferences/previous/ottawa/en/},
    urldate = {2015-03-31},
}
@online{WHO2,
    author = {World{\ }Health{\ }Organization},
    title = {The Ottawa Charter for Health Promotion},
    year = {1987},
    url = {http://www.who.int/healthpromotion/conferences/previous/ottawa/en/},
    urldate = {2015-03-31},
}
\end{filecontents}

\begin{document}

\parencite{WHO1}
...
\parencite{WHO2}

\printbibliography

\end{document}

Полученные результаты:

введите описание изображения здесь

Желаемые результаты:

(Всемирная организация здравоохранения, 1986) ... (ВОЗ, 1987)

Ссылки

Всемирная организация здравоохранения (1986). Оттавская хартия по укреплению здоровья. Disponível em: blabla (посещение 31.03.2015).

Всемирная организация здравоохранения (1987). Оттавская хартия по укреплению здоровья. Disponível em: blabla (посещение 31.03.2015).

(Мне пришлось использовать blabla, потому что я ограничен двумя ссылками)

решение1

Чтобы добавить запятую между именем и годом в подписях к цитатам:

\renewcommand\nameyeardelim{\addcomma\addspace}

Чтобы использовать в цитатах другое имя автора, добавьте

shortauthor = {WHO}

к соответствующим библиографическим записям.

Если вы хотите, чтобы имена авторов повторялись в библиографии, а не заменялись строками после первого экземпляра, передайте biblatexпараметр пакетаdashed=false . [Спасибоджондля объяснения (4).]

Для этикетки выдолжен, ядумать, уметь говорить

\DefineBibliographyStrings{portuguese}{url={Disponível em}}

Однако, судя по всему, это не работает, в то время как добавление urlseen={been there, done that}, хотя и нежелательно по другим причинам, имеет то достоинство, что кажется работающим.

Так что, похоже, вам нужно переопределить формат поля, поскольку это поле не использует url bibstring, а вместо этого использует \mkbibacro{URL}. Одним из способов было бы использовать

\DeclareFieldFormat{url}{\bibstring{url}\addcolon\space\url{#1}}

который изменен для использования bibstringтаким же образом, как и аналогичные форматы полей для таких вещей, как urlseen. Однако это превосходит мое понимание того, bibstring urlчто в данном случае должно делать , так что это больше похоже на хак, чем на правильное решение.

\begin{filecontents}{\jobname.bib}
@online{WHO1,
    author = {{World Health Organization}},
    shortauthor = {WHO},
    title = {The {Ottawa} Charter for Health Promotion},
    year = {1986},
    url = {http://www.who.int/healthpromotion/conferences/previous/ottawa/en/},
    urldate = {2015-03-31},
}
@online{WHO2,
    author = {{World Health Organization}},
    shortauthor = {WHO},
    title = {The {Ottawa} Charter for Health Promotion},
    year = {1987},
    url = {http://www.who.int/healthpromotion/conferences/previous/ottawa/en/},
    urldate = {2015-03-31},
}
\end{filecontents}
\documentclass[portuguese]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=authoryear,dashed=false]{biblatex}
\addbibresource{\jobname.bib}
\renewcommand\nameyeardelim{\addcomma\addspace}
\DefineBibliographyStrings{portuguese}{%
  url={Disponível em},
}
\DeclareFieldFormat{url}{\bibstring{url}\addcolon\space\url{#1}}
\begin{document}
\parencite{WHO1}

\parencite{WHO2}
\printbibliography
\end{document}

Так что это лишь частичный ответ. (Кто-нибудь упоминал правило «один вопрос на вопрос»? Помогает поддерживать порядок на сайте...)

демо 3 бит и 1 хак

решение2

Я полагаю, что вы хотите изменить ключ «urlseen», который указывает, поэтому команда, которую вы должны дать, следующая:

\DefineBibliographyStrings{portuguese}{urlseen={Disponível em}}

Связанный контент