如何更新 .bbx 文件以在最新版本的 biblatex 中使用它?

如何更新 .bbx 文件以在最新版本的 biblatex 中使用它?

我想使用 biblatex。我尝试将语言设置为匈牙利语。我找到了一个.bbx文件,但如果我尝试使用它,就会出现奇怪的错误。

文件:

\ProvidesFile{magyar.bbx}

\DeclareLanguageMapping{magyar}{magyar}
\RequireBibliographyStyle{authoryear}

\renewcommand*{\finalnamedelim}{%
  %\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
  \addspace\bibsstring{and}\space}

\newbibmacro{names:separator}{%
  \ifthenelse{\value{listcount}<\value{liststop}}%
  {\addcomma\addspace}%
  {}%
 }

\newbibmacro*{names:andothers}{%
 \ifboolexpr{%
   test {\ifnumequal{\value{listcount}}{\value{liststop}}}%
   and%
   test \ifmorenames%
 }{\bibsstring{andothers}\addcomma}%
 {}%
}

\def\@magyarbbx@hun{HUN}

\DeclareNameFormat{sortname}{%
  \begingroup%
    \edef\juniorpart{#7}%
    \ifx\juniorpart\@magyarbbx@hun%
      % Hungarian name
      \usebibmacro{name:first-last}{#3}{#1}{#5}{\relax}%
    \else%
      % English name
      \ifnum\value{listcount}=1\relax%
        \usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
      \else%
        \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}%
      \fi%
    \fi%
  \endgroup%
}

%\DeclareNameFormat{sortname}{%
% \nameprint{#1}{#3}
% \usebibmacro{names:separator}%
% \usebibmacro{names:andothers}%
% }

\endinput

错误:

Illegal parameter number in definition of \blx@defformat@d

我不是高级 Latex 用户,我不知道该如何解决这个问题。我在互联网上找不到此文件的较新版本

答案1

您正在使用的文件(https://github.com/Botffy/texstuff/tree/master/tex/latex/biblatex)可以追溯到Biblatex 定制:通过连字符定义的作者姓名格式(本地化)(和http://r.snowl.net/harvard-style-citation-in-hungarian-language-hun/)因此,大部分数据可以追溯到 2011 年和 2012 年。

在此期间,有一些小的和一些不那么小的更改biblatex。这里最有问题的更改是版本 3.3 中对名称格式宏的更改,请参阅Biblatex 3.3 名称格式

下列的使用 LuaLaTex 和 biber 的匈牙利语为将匈牙利语支持纳入官方软件包,我们做了一些努力。匈牙利语支持的第一个版本是在https://github.com/plk/biblatex/issues/717并实施于https://github.com/plk/biblatex/pull/780。自 3.12 版起,biblatex已包含匈牙利语本地化文件。这意味着当前biblatex版本支持匈牙利语,因此您可能不再需要该.bbx文件。

如果你加载,csquotes你还需要设置引用样式。这也是正在进行的工作https://github.com/josephwright/csquotes/issues/19。 也可以看看引号(引号符号) xelatex + polyglossia + csquotes,你可能需要(维基百科上描述的引用风格

\DeclareQuoteStyle{magyar}
  {\quotedblbase}
  {\textquotedblright}
  [.05em]
  {\guillemotright}
  {\guillemotleft}

答案2

dev上的分支https://github.com/plk/biblatex现已支持匈牙利语。

相关内容