I am using biblatex-gost
package, gost-numeric
style.
\documentclass[12pt,a4paper]{article}
\begin{filecontents}{\jobname.bib}
@book{samoylenko,
title = {Диференціальні рівняння. Підручник},
author = {А. М. Самойленко and М. О. Перестюк and І. О. Парасюк},
location = {К.},
publisher = {Либідь},
year = {1994},
pagetotal = {360},
}
@article{perestyuk,
author = {Ю. М. Перестюк},
title = {Розривні коливання в одній імпульсній системі},
journal = {Нелінійні коливання},
year = {2012},
volume = {15},
number = {4},
pages = {494--503},
}
@book{hartman,
langid = {english},
title = {Ordinary Differential Equations},
author = {P. Hartman},
location = {Philadelphia},
publisher = {Society for Industrial and Applied Mathematics},
year = {2002},
pagetotal = {612},
}
\end{filecontents}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english,ukrainian]{babel}
\usepackage[backend=biber,bibencoding=utf8,maxbibnames=999,style=gost-numeric,language=auto,autolang=other]{biblatex}
\addbibresource{\jobname.bib}
\DefineBibliographyStrings{ukrainian}{
and = {та},
number = {№},
page = {С\adddot},
pages = {С\adddot},
volume = {Т\addot},
%jourvol = {Т\addot},
}
\toggletrue{bbx:gostbibliography}
\usepackage[autostyle]{csquotes}
\begin{document}
\cite{samoylenko} \cite{perestyuk} \cite{hartman}
\printbibliography
\end{document}
Since there is no Ukrainian biblatex localization, based on this answer, I added the \DefineBibliographyStrings{ukrainian}
command.
But even after that I have two problems:
- Year field is missing in bibliography (only in Ukrainian books, English are fine).
jourvol
instead of the desiredТ.
(only in Ukrainian articles).
I tried adding jourvol = {Т\addot},
but it produced the following error:
Undefined control sequence. \abx@sstr@jourvol
UPDATED TWICE: Here is a MWE displaying only the problem 1 (missing year field). When language is set to English everything works fine:
\documentclass[12pt,a4paper]{article}
\begin{filecontents}{\jobname.bib}
@book{samoylenko,
title = {Диференціальні рівняння. Підручник},
author = {А. М. Самойленко and М. О. Перестюк and І. О. Парасюк},
location = {К.},
publisher = {Либідь},
year = {1994},
pagetotal = {360},
}
\end{filecontents}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[backend=biber,bibencoding=utf8,maxbibnames=999,style=gost-numeric]{biblatex}
\addbibresource{\jobname.bib}
\toggletrue{bbx:gostbibliography}
\usepackage[autostyle]{csquotes}
\begin{document}
This was studied in \cite{samoylenko}.
\printbibliography
\end{document}
But I need 360 с.
instead of 360 pp.
. So I add Ukrainian language \usepackage[english,ukrainian]{babel}
. Since my pdflatex
is a little outdated, in does not contain a ukrainian.lbx
file. So I create it manually with an empty content. Now I get
pages
word can be translated using \DefineBibliographyStrings{ukrainian}
command. But the year 1994
is gone.
biblatex
has had a Ukrainian localisation: github.com/plk/biblatex/commits/dev/tex/latex/biblatex/lbx/…. I can run your example without problems and obtain the desired output. The years are present and everything seems to work fine. In the definition ofjourvol
you are missing ad
, it must be\adddot
, so you have to havejourvol = {Т\adddot},
\adddot
helped, thank you. Is it possible to fix the year without updating the whole system?\listfiles
to the beginning of your.tex
file. Delete all auxiliary files (.aux
,.bbl
,.bcf
, ...). Run LaTeX, Biber, LaTeX, LaTeX and upload the.log
,.blg
and.bbl
file either to your question or to a text sharing website (like pastebing, GitHub Gist, GitLab snippets, do not use a file sharing website).year
field.