我使用 biblatex 和 biber 后端以及\usepackage[utf8]{inputenc}
软件包。出于某种原因,.bib 文件中含有特殊字符的参考文献在我的参考书目中以大写形式打印。
我尝试使用 MWE 复制该效果,但是我尝试的每个版本都以正确的方式打印了参考书目。有谁知道哪些软件包组合可能会导致此行为?
编辑:MWE 复制效果
\RequirePackage{filecontents}
\begin{filecontents*}{mybib.bib}
@book{test1,
address = {City},
title = {{Öffentlichkeit}},
publisher = {Doe, Jane},
author = {Doe, Jane},
year = {1937}
}
\end{filecontents*}
\documentclass[
12pt
]{book} % The class file specifying the document structure
% Set the values for the bibliography
\usepackage[
style=apa,
backend=biber,
isbn=false,
url=true,
doi=true,
natbib=true,
eprint=false,
hyperref=true,
backref=false,
firstinits=false
]{biblatex}
\usepackage[utf8]{inputenc}
\usepackage[autostyle=true]{csquotes} % Required to generate language-dependent quotes in the bibliography
\usepackage{xpatch}
% Set language
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{mybib.bib}
\addbibresource{mybib.bib}
\begin{document}
\textcite{test1}
\printbibliography
\end{document}
答案1
使用 的当前版本运行 MWE 时不会出现此问题。但是,如果切换到 的旧追逐更改方法(这是 的旧版本 [<=v3.14] 中不可更改的默认方法),biblatex
则可能会重现此问题。casechange=latex2e,
biblatex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[autostyle=true]{csquotes}
\usepackage[backend=biber, style=apa, casechanger=latex2e]{biblatex}
\begin{filecontents*}{\jobname.bib}
@book{test1,
author = {Doe, Jane},
title = {{Öffentlichkeit}},
year = {1937},
publisher = {Pub \& Co.},
address = {City},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\textcite{test1}
\printbibliography
\end{document}
它与在https://github.com/plk/biblatex/issues/459。
一个解决方法是只用括号括住单词的首字母,而不是整个单词
@book{test1,
author = {Doe, Jane},
title = {{Ö}ffentlichkeit},
year = {1937},
publisher = {Pub \& Co.},
address = {City},
}
对于德语标题,通常最好将其标记为德语,以避免完全改变大小写
@book{test1,
author = {Doe, Jane},
title = {Öffentlichkeit},
year = {1937},
publisher = {Pub \& Co.},
address = {City},
langid = {ngerman},
}
从版本 3.15 (2020-08-16) 开始,biblatex
使用expl3
大小写转换函数(如果 LaTeX 内核足够现代并且文档采用 UTF-8 编码)。这些大小写转换函数通常更强大,不会出现此问题。如果可能,请更新您的 TeX 发行版。