В настоящее время я использую biblatex-bath
и мне нужно изменить одно слово и позицию другого в выводимой библиографии, как показано ниже.
Это .bib
ссылка
@article{anyone,
title = {Test document for bibliography},
volume = {20},
url = {http://web.ebscohost.com},
pages = {331--353},
number = {3},
journaltitle = {Bulletin for Research},
shortjournal = {Bulletin for Research},
author = {{Anyone}, Bob},
urldate = {2019-02-22},
date = {2010},
keywords = {Peer reviewed},
В настоящее время это выглядит так
Мне нужно, чтобы [Online] в каждом случае появлялось перед текстом Available from, а также чтобы «from» менялось на «at», чтобы это выглядело так, как показано ниже.
Мой MWE
\documentclass[a4paper, british, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[UKenglish]{babel}
\usepackage{csquotes}
\usepackage[style=bath, backend=biber]{biblatex}
\DeclareDelimFormat[bib]{nameyeardelim}{\addspace}
\DeclareFieldFormat{datelabel}{\mkbibparens{#1}}
\bibliography{zotero.bib}
\begin{document}
\textcite{anyone}
\printbibliography[title=Bibliography]
\end{document}
Спасибо за любую помощь.
решение1
biblatex-bath
использует макрос с именем isonline
, который вставляется во все виды макросов для набора бита "[Online]". Поэтому первым шагом является переопределение этого макроса, чтобы ничего не печатать. Вторым шагом является печать "[Online]" в нужном месте. Здесь это, похоже, проще всего сделать в url
формате поля.
«Доступно в» можно изменить, переопределив bibstring urlfrom
.
\documentclass[a4paper, british, 12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=bath, backend=biber]{biblatex}
\DeclareDelimFormat[bib]{nameyeardelim}{\addspace}
\DeclareFieldFormat{datelabel}{\mkbibparens{#1}}
\renewbibmacro*{isonline}{}
\DefineBibliographyStrings{english}{
urlfrom = {available at},
}
\DeclareFieldFormat{url}{%
\bibsentence\bibstring[\mkbibbrackets]{online}%
\addspace
\bibsentence\bibstring{urlfrom}%
\addcolon\space
\url{#1}}
\DeclareFieldFormat{urldate}{\mkbibbrackets{\bibstring{urlseen}\space#1}}
\bibliography{biblatex-examples.bib}
\begin{document}
\textcite{ctan}
\printbibliography[title=\bibname]
\end{document}
Как упоминалось вВаш другой вопрос, возможно, имеет смысл начать со стандартного стиля вместо пользовательского, biblatex-bath
если вы ожидаете больше изменений.