为什么在正确加载匈牙利语时会给出 biblatex 警告?

为什么在正确加载匈牙利语时会给出 biblatex 警告?

从 biblatex v3.12 开始,它支持匈牙利语,但是当我尝试运行 pdflatex 时收到警告。

我有文件 mwe.tex:

\UseRawInputEncoding % https://tex.stackexchange.com/a/446653/126797
\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}

\usepackage[magyar]{babel}
\usepackage[autostyle]{csquotes}
\DeclareQuoteStyle{magyar}{,,}{''}{>>}{<<} %magyar is not supported
\usepackage{biblatex}
\addbibresource{references.bib}

\begin{document}

Ref: \cite{testsource}.    

\printbibliography
\end{document}

和references.bib:

@article{testsource,
author = {Test Author},
title = {Test title},
journal = {Test Journal}
}

如果我运行pdflatex mwebiber mwe和,我会收到警告:即使我已正确完成所有加载操作,但仍然丢弃警告,这难道不是一个糟糕的设计吗?还是我犯了一个错误pdflatex mwepdflatex mwePackage biblatex Warning: Hungarian localisation module for biblatex loaded.

警告信息还指出

(biblatex) This warning can be disabled with
(biblatex) '\BiblatexHungarianWarningOff'.

但如果我写入\BiblatexHungarianWarningOff代码,我得到

! Undefined control sequence. 
<recently read> \BiblatexHungarianWarningOff

如何正确抑制警告信息?

答案1

第 3.16 条biblatex 手册解释为什么你会收到警告:

匈牙利语本地化模块需要重新定义某些字段格式以获得语法正确的词序。这意味着只要匈牙利语本地化处于活动状态,这些字段格式就会被覆盖,无论它们是在序言中定义还是通过自定义样式定义。因此请注意,使用匈牙利语本地化模块可能会导致参考书目输出偏离加载的样式和序言定义所规定的格式。需要使用 更改此行为 \DefineBibliographyExtras。特别\mkpageprefix是被重新定义为按照匈牙利惯例将页码作为前缀输出,并且所有涉及页面的字段格式都已修改,以便将页面范围打印为序数范围。每当将匈牙利语本地化模块加载到文档中时,它都会打印警告以提醒您这些更改。警告会告诉您如何使其静音。

为了关闭警告,你必须拨打\BiblatexHungarianWarningOff \usepackage{biblatex}

答案2

日志中的完整警告说明了警告的原因:

Package biblatex Warning: Hungarian localisation module for biblatex loaded.
(biblatex)                This module changes more definitions than usual.
(biblatex)                Please refer to the documentation for hints and
(biblatex)                check the output, especially with non-standard
(biblatex)                styles or customisations to field formats.
(biblatex)                This warning can be disabled with
(biblatex)                '\BiblatexHungarianWarningOff'.

当然,这只是一个警告,而不是错误。但是,大量的更改,以及这可能是一个较新的本地化模块的事实,大概促使开发人员留下了此警告。

但是,\BiblatexHungarianWarningOff确实是在中定义的biblatex.sty,因此您应该在调用之后加载它biblatex

\UseRawInputEncoding % https://tex.stackexchange.com/a/446653/126797
\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}

\usepackage[magyar]{babel}
\usepackage[autostyle]{csquotes}
\DeclareQuoteStyle{magyar}{,,}{''}{>>}{<<} %magyar is not supported
\usepackage{biblatex}
\BiblatexHungarianWarningOff

\addbibresource{references.bib}

\begin{document}

Ref: \cite{testsource}.

\printbibliography
\end{document}

相关内容