我喜欢将作者姓氏用小写字母表示。
直到最近,大写字母 ›ß‹(德语字母表中经常使用的特殊字符)才被 ›SS‹ 取代(例如,在标题中,参考书目中的小写字母)。由于大写字母 ẞ 已在某些字体中可用,因此使用它也变得越来越流行,但我不喜欢它。
使用时libertine
-package 为文档调用此字体系列,当使用小型大写字母(或大写字母)时,它会自动将 ß 转换为 ẞ。是否可以全局(文本和参考书目)避免 ›ß‹ 出现这种情况,并保留将其简单地转换为 ›SS‹ 的旧设置?
梅威瑟:
\documentclass{scrbook}
\usepackage{biblatex}
\usepackage[ngerman]{babel}
\usepackage{libertine}
\usepackage{fontspec}
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\bibliography{bibliographie.bib}
\begin{document}
Johann Heinrich Voß\cite{Voss1800} translated Virgil.
\begin{filecontents}{bibliographie.bib}
@Book{Voss1800,
author = {Voß, Johann Heinrich},
title = {Des Publius Virgilius Maro ländliche Gedichte übersetzt und erklärt, Vierter Band},
year = {1800},
location = {Altona},
}
\end{filecontents}
\printbibliography
\end{document}
例如,这产生以下参考书目条目:
答案1
我认为应该有一条法律,即任何提供极其丑陋的 ẞ 字符的字体都必须提供一种样式集,以便用“SS”替换它。
但你很幸运:不是使用 Linux Libertine,而是使用其(积极维护的)克隆版 Libertinus。它正是为此提供了 SS04 功能。
\begin{filecontents*}{\jobname.bib}
@Book{Voss1800,
author = {Voß, Johann Heinrich},
title = {Des Publius Virgilius Maro ländliche Gedichte übersetzt und erklärt, Vierter Band},
year = {1800},
location = {Altona},
}
\end{filecontents*}
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[defaultfeatures={StylisticSet=04}]{libertinus}
\usepackage{biblatex}
\usepackage{csquotes}
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\addbibresource{\jobname.bib}
\begin{document}
Johann Heinrich Voß \cite{Voss1800} translated Virgil.
\textsc{ß} (just to be sure) fiflffi<<``''>>
ẞ
\printbibliography
\end{document}
生产说明。
- 我添加了显式
\textsc{ß}
和 ẞ 的出现以确保替换有效。还添加了一些标准 TeX 连字符以确保它们被遵守。 - 我将
bibliography.bib
其替换\jobname.bib
为以免破坏我的文件。 - 我也替换了
\bibliography
,\addbibresource
你也应该这样做。顺便说一下,作为 参数给出的文件名\bibliography
应该不是包含扩展.bib
(它可以与 MiKTeX 一起使用,但不可移植)。