4

I'm trying to make use of biblatex-gost package with XeLaTeX -- but it gives error:

\documentclass{article}

\usepackage{fontspec} % enagles loading of OpenType fonts
\usepackage{polyglossia} % support for languages

% fonts:
\defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text} % without this XeLaTeX won't turn "--" into dashes
\setmainfont{DejaVu Sans}
\setsansfont{DejaVu Sans}
\setmonofont{DejaVu Sans Mono}

% Russian/English document:
\usepackage{xecyr}
\newfontfamily\cyrillicfont{DejaVu Sans}
\setmainlanguage{russian}
\setotherlanguage[variant=american]{english}

% bibliography:
\usepackage[
backend=biber,
style=gost-authoryear,
]{biblatex}
\addbibresource{BooksOnMetals.bib}

\begin{document}

\texttt{footcite}: \footcite{__1979}

\texttt{textcite}: \textcite{__2009}

% bibliography:
\printbibliography[heading=bibintoc]

\end{document}

Gives:

(/home/boris/.local/lib/texmf/tex/latex/biblatex-gost/biblatex-gost.def)
! Undefined control sequence.
<argument> ...stmedialanguage {\bbl@main@language 
                                                  }\newcommand *{\select@med...
l.324    \newcommand*{\select@medialanguage}{}}

The same code works fine if I replace gost-authoryear with authoryear. Bib file:

@book{__1979,
        title = {Физика твердого тела (комплект из 2 книг)},
        abstract = {Настоящая книга - подробный курс физики твердого тела, составленный авторами, в течение многих лет читающими курс лекций по этому предмету в Корнеллском университете (США). Книга написана с большим педагогическим мастерством, тщательно продуманы выбор и расположение материала, иллюстрации, задачи. Она представляет собой ценное пособие для читателей с различным кругом интересов и разной степенью подготовки; при этом путеводной нитью могут служить приводимые авторами рекомендации о последовательности чтения глав. 
 Книга адресована студентам, аспирантам, изучающим и ведущим физику твердого тела.},
        publisher = {Мир},
        author = {Ашкрофт, Н. and Мермин, Н.},
        translator = {Михайлов, Александр},
        year = {1979}
},

@book{__2009,
        edition = {2},
        title = {Основы теории металлов},
        isbn = {978-5-9221-1097-6},
        abstract = {Изложена современная теория нормальных и сверхпроводящих металлов без использования сложных математических методов. Помимо описания классических свойств, серьезное внимание уделено актуальным проблемам: квантовым интерференционным эффектам, локализации электронов случайным потенциалом, нелинейным явлениям, взаимному влиянию сверхпроводимости и магнетизма и др. Необходимо знакомство с квантовой механикой и статистикой. 

 Для студентов и аспирантов физических специальностей вузов, а также научно-технических работников в области физики твердого тела.},
        publisher = {ФИЗМАТЛИТ},
        author = {Абрикосов, А. А.},
        year = {2009}
}

I read biblatex-gost documentation. It says nothing about the XeLaTeX. I read the code the author provides -- it uses babel and latex. The doc actually doesn't comliles on my box. But anyway it is not using XeLaTeX.

Requirements to use biblatex-gost are:

  • Biber 1.5
  • biblatex 2.5

Current version on biblatex-gost is 0.8. I have it all.

Edit:

It turns out that biblatex doesn't support polyglossia. But plain authoryear works. Might also be working with a patched gost-authoryear.

5
  • 1
    Actually biblatex-gost documentation does mention xelatex (in the beginning of sec.4) and recommends using xecyr and babel. Please try them. You use xecyr which, if I understand it correctly, is supposed to work with babel. – Oleg Domanov May 20 '13 at 19:04
  • I don't use babel because I like unicode-math way too much (I input unicode chars with emacs). unicode-math requires polyglossia -- which can't be used with babel. Thank You for biblatex-gost so much (note: Oleg is biblatex-gost author). – Adobe May 21 '13 at 7:02
  • 1
    Ok, I fixed the error you got. It's not really the support of polyglossia, since language selection won't work anyway, but at least you should be able to compile you file. Please take the package from the Sourceforge repo. And let me know if you have any troubles. – Oleg Domanov May 21 '13 at 7:33
  • UPD: I created the dev directory on Sourceforge. You may use it instead of repo. – Oleg Domanov May 21 '13 at 7:54
  • @OlegDomanov: I just checked the dev out: seem to be working. – Adobe May 29 '13 at 8:55
4

try

[...]
\usepackage{polyglossia} % support for languages
\makeatletter
\def\bbl@main@language{russian}
\makeatother
[...}
1
  • There is no need to use polyglossia with Russian language under xetex. It's obsolete infrmation that babel cannot be used with xetex when you need Russian. – Igor Kotelnikov Jan 3 '16 at 16:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.