![多字母首字母技巧 {\relax Ch}arles 在 biblatex 和 biber 中不再有效](https://linux22.com/image/420143/%E5%A4%9A%E5%AD%97%E6%AF%8D%E9%A6%96%E5%AD%97%E6%AF%8D%E6%8A%80%E5%B7%A7%20%7B%5Crelax%20Ch%7Darles%20%E5%9C%A8%20biblatex%20%E5%92%8C%20biber%20%E4%B8%AD%E4%B8%8D%E5%86%8D%E6%9C%89%E6%95%88.png)
下面的代码用于欺骗人们biblatex
假设名称Charles
应该缩写为Ch
(而不是一个字母C.
)。如果我将后端从 替换biber
为bibtex
,它仍然可以正常工作,但C.
如果按原样使用,则会发出错误。
我已经在或多或少最新的 TeXLive 2020 上对其进行了测试。在最新的 TeXLive 2019 上,它会导致段错误 biber (!)。在相当旧的 TeXLive 2015 上,它可以正常工作。
有没有办法使用当前的 TeXLive 和 biber 创建多字母首字母?
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{key,
author={Doe, {\relax Ch}arles},
title={Some Article Title},
journal={Some Journal},
volume={1},
year={2020}
}
\end{filecontents}
\usepackage[backend=biber,style=authoryear,firstinits=true]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
答案1
您可以使用扩展输入法:
\documentclass{article}
\begin{filecontents}[overwrite]{ch-init.bib}
@article{key,
author={given=Charles, given-i={Ch}, family=Doe},
title={Some Article Title},
journal={Some Journal},
volume={1},
year={2020}
}
\end{filecontents}
\usepackage[backend=biber,style=authoryear,uniquename=init,giveninits=true]{biblatex}
\addbibresource{ch-init.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}