重新格式化书目输出

重新格式化书目输出

我目前正在使用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] 出现在可用文本之前,并且将“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}

CTAN,(2006 年)。Ctan:综合 TeX 档案网络。[在线] 网址:http://www.ctan.org [2006 年 10 月 1 日访问]。

正如所提到的你的其它问题biblatex-bath,如果您希望进行更多更改,那么从标准样式而不是自定义样式开始可能是可行的。

相关内容