我正在使用 tufte-book 类处理法语文档,并发现与参考书目相关的错误。
以下是 MWE:
\documentclass[french]{tufte-book}
\usepackage{babel}
\usepackage{babelbib}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
Example of a French sidenote reference \cite{example}.
\bibliography{references}
\bibliographystyle{babplain}
\end{document}
的内容references.bib
为:
@techreport{example,
title = {Exemple d'un rapport technique avec un accent},
language = {french},
year = {2000},
author = {Tremblay, Jean},
pages = {1--10},
institution = {Institut de recherche du Québec}
}
我收到以下错误:
Undefined control sequence. l.2 \providebibliographyfont {name}{}%
如果我注释对babelbib
包的调用并将参考书目样式更改为纯文本,则不会发生错误。尽管如此,这会产生带有不正确编码的旁注引用:
另外,我得到的是“技术报告”标签,而不是“Rapport technology”(法语)。
答案1
您需要添加nobib
选项(文档中没有提到),以禁用加载natbib
(反过来会禁用babelbib
)。
\documentclass[french,nobib]{tufte-book}
\usepackage{babel}
\usepackage{babelbib}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
Example of a French sidenote reference \cite{example}.
\bibliographystyle{babplain}
\bibliography{references}
\end{document}
为什么“rapport technique”是小写的?这似乎是 中的一个问题babelbib
。不过,你可以修复它。
\documentclass[french,nobib]{tufte-book}
\usepackage{babel}
\usepackage{babelbib}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{xpatch}
\AtBeginDocument{%
% \bibsfrench has 'rapport technique'
\xpatchcmd{\bibsfrench}{rapport}{Rapport}{}{}%
}
\begin{document}
Example of a French sidenote reference \cite{example}.
\bibliographystyle{babplain}
\bibliography{references}
\end{document}
答案2
您可以使用 \bibliographystyle{plain-fr},而无需添加 nobib 选项。它似乎有效。