Как изменить поле bytranslator в библиографии, которая использует biblatex?

Как изменить поле bytranslator в библиографии, которая использует biblatex?

У меня возникла проблема с 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"
}

Как я могу изменитьbytranslatorвместо этого сказать prev.?

решение1

Как обсуждалось в комментариях, вы используете biblatexv3.14. Сербская локализация serbian.lbxбыла serbianc.lbxдобавлена ​​только в biblatexv3.15, которая была выпущена несколько недель назад. Смотритеhttps://github.com/plk/biblatex/pull/940. Таким образом, вы по сути используете biblatexверсию, не имеющую никакой поддержки сербского языка.

Лучшим решением было быобновите свой дистрибутив TeX, чтобы получитьbiblatex версию 3.15 (и Biber 2.15 и т. д.).

Если вы установили дистрибутив TeX через менеджер пакетов дистрибутива Linux, то, возможно, у вас не будет возможности получить обновление до последней версии системы TeX.

В этом случае у вас есть три варианта.

  1. Установите текущую версию TeX Live с TUG.org (см., например,Как установить «ванильный» TeXLive на Debian или Ubuntu?). Вы будете иметь полный контроль над этой системой и сможете обновлять пакеты черезtlmgr (Как обновить мой дистрибутив TeX?). Но учтите, что TeX Live выпускается в годовых версиях. Вам придется обновляться каждый год, если вы хотите оставаться в курсе событий.

  2. Попробуйте обновить только biblatexи Biber вручную. Есть некоторые инструкции (для старыхbiblatex версий /Biber) наКак правильно обновить «biblatex»?. Но это обычно категорически не рекомендуется: это может привести к несовместимости версий, а ручная установка Biber — это главный источник головной боли во всем biblatexмире.

  3. Только получить serbian.lbxот biblatexv3.15 и поместить его в папку с документами. Вы можете скачать его сhttp://mirrors.ctan.org/macros/latex/contrib/biblatex/latex/lbx/serbian.lbx. Вы можете получить ряд странных ошибок при попытке запустить документ с этими .lbxфайлами. Если вам повезет, вы сможете легко их устранить. (Если вы получаете ошибки о неопределенной строке <string>, добавьте \NewBibliographyString{<string>}в преамбулу, например \NewBibliographyString{langserbian}).

Я бы рекомендовал только вариант 1. Остальные варианты довольно рискованны (вариант 2) или обязательно потребуют ручного вмешательства (вариант 3).

Думаю, мне удалось реализовать третий вариант, но, возможно, есть некоторые проблемы, которые я не вижу из-за помех в моей системе.


Независимо от ваших biblatexпроблем, polyglossiaесть небольшая непоследовательность в babelnameинтерфейсе для сербского языка, которая в настоящее время biblatexнемного сбивает с толку:https://github.com/reutenauer/polyglossia/issues/442.

Связанный контент