我遇到了 biblatex 不想使用塞尔维亚语并且编译错误的问题。
%Compile with XeLaTeX
\documentclass[12pt,serbian]{article}
%\usepackage[utf8]{inputenc}
\usepackage[T1,LGR,]{fontenc}
\usepackage{lmodern}
\usepackage{textalpha}
\usepackage{fontspec}
\setmainfont{FreeSerif}
\setsansfont{FreeSans}
\setmonofont{FreeMono}
\usepackage{polyglossia}
\setdefaultlanguage[script=latin]{serbian}
\setotherlanguages{english,russian,greek}
\usepackage{blindtext}
\usepackage[bibencoding=auto,backend=biber,autolang=other,style=authoryear]{biblatex}
\usepackage{csquotes}
\bibliography{ref}
\DefineBibliographyStrings{serbian}{
bytranslator = {prev.}
}
\title{Dnevnik čitanja}
\author{Perović Nikola}
\date{}
\begin{document}
\maketitle
\newpage
\section*{Voltaire (Volter)}
\subsection*{Kandid}
„Sve je neizbežno vezano jedno s drugim i najbolje udešeno.“\smartcite[str.13]{Vol02}
„Sve je u svetu najbolje što može biti.“\smartcite[str.14]{Vol02}
„I nesreće pojedinca čine opšte dobro; otuda, što je više pojedinih nesreća utoliko je sve bolje.“\smartcite{Vol02}
„Ako je sve najbolje što može biti onda nema pravog greha ni prave kazne.“\smartcite[str.13]{Vol02}
\newpage
\printbibliography
\end{document}
ref.bib 文件
@BOOK{Vol02,
AUTHOR="Volter",
TITLE="Kandid",
TRANSLATOR="Milan Predić",
PUBLISHER="Alfa",
LOCATION="Beograd",
YEAR="2002",
HYPHENATION="serbian"
}
我该如何改变翻译者改为说 prev. 吗?
答案1
正如评论中所讨论的,您使用的是biblatex
v3.14。塞尔维亚语本地化serbian.lbx
仅在几周前发布的 v3.15serbianc.lbx
中添加。请参阅biblatex
https://github.com/plk/biblatex/pull/940。因此,您实际上使用的biblatex
版本根本不支持塞尔维亚语。
最好的解决办法是更新你的 TeX 发行版以获得biblatex
3.15(和 Biber 2.15 等)。
如果您通过 Linux 发行版的包管理器安装了 TeX 发行版,则可能无法获取最新 TeX 系统的更新。
在这种情况下,您有三个选择。
从 TUG.org 安装最新的“原始” TeX Live(参见如何在 Debian 或 Ubuntu 上安装“原始” TeXLive?您将完全控制该系统,并可以通过
tlmgr
(我如何更新我的 TeX 发行版?)。但请注意,TeX Live 每年都会发布一个版本。如果你想保持最新状态,则必须每年更新。尝试手动更新
biblatex
和 Biber。以下是一些说明(适用于较旧的biblatex
/Biber 版本)如何正确升级‘biblatex’?。但这通常是绝对不推荐的:它会导致版本不兼容,并且 Biber 的手动安装是世界上一个主要的头痛之源biblatex
。仅从v3.15
serbian.lbx
开始获取biblatex
并将其放入您的文档文件夹中。您可以从此处下载http://mirrors.ctan.org/macros/latex/contrib/biblatex/latex/lbx/serbian.lbx。当您尝试用该文件运行文档时,可能会出现许多奇怪的错误。.lbx
如果幸运的话,您可以轻松解决它们。(如果您收到有关未定义字符串的错误<string>
,请将其添加\NewBibliographyString{<string>}
到您的前言中,例如\NewBibliographyString{langserbian}
)。
我只推荐选项 1。其他选项风险很大(选项 2)或必然需要人工干预(选项 3)。
我认为我已经设法使选项 3 发挥作用,但是由于我的系统受到一些干扰,可能存在一些我无法发现的问题。
biblatex
与您的问题无关,塞尔维亚语界面polyglossia
存在一点不一致,目前有点令人困惑:babelname
biblatex
https://github.com/reutenauer/polyglossia/issues/442。