我目前正在使用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}
正如所提到的你的其它问题biblatex-bath
,如果您希望进行更多更改,那么从标准样式而不是自定义样式开始可能是可行的。