引用语言不会随 Babel 而改变

引用语言不会随 Babel 而改变

我的文档序言中有以下内容

\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage[backend=biber, style=vancouver]{biblatex}
\addbibresource{references.bib}

然而,如下引用:

@misc{imgneuroma,
 author = {NHS},
 title = {National Health Service (NHS). Morton's Neuroma 
},
 %year = {2023},
 note = {Accedido: 3 Marzo 2023},
 url = {https://www.nhs.uk/conditions/mortons-neuroma/}
}

显示为:

NHS。国家医疗服务体系 (NHS)。莫顿神经瘤。访问日期:2023 年 3 月 3 日。可从以下网址获取:https://www.nhs.uk/conditions/mortons-neuroma/

文本“Available from:”应该更改为“Disponible”或类似内容,或者干脆省略。

答案1

vancouver样式在编写时并未babel考虑到这一点,因此它重新定义了 URL 字段格式以直接包含英文文本,这就是您无法获得正确的西班牙语本地化的原因。您可以通过将其定义替换为它最初应该使用的定义来解决这个问题。无关紧要,但我在您的{NHS}作者周围多加了一对括号,这对于公司作者姓名来说始终是很好的做法。

\documentclass{article}
\begin{filecontents}[overwrite]{\jobname.bib}
@misc{imgneuroma,
 author = {{NHS}},
 title = {National Health Service (NHS). Morton's Neuroma 
},
 %year = {2023},
 note = {Accedido: 3 Marzo 2023},
 url = {https://www.nhs.uk/conditions/mortons-neuroma/},
 language = {langspanish}
}
\end{filecontents}

\usepackage[spanish]{babel}
\usepackage[
    backend=biber, 
   style=vancouver,
   ]{biblatex}
\usepackage{csquotes}
\usepackage[T1]{fontenc}
\DeclareFieldFormat*{url}{\bibstring{urlfrom}: \url{#1}}

\addbibresource{\jobname.bib}

\begin{document}
\textcite{imgneuroma}

\printbibliography
\end{document}

代码输出

相关内容