4

I'm quite new to biblatex. I'm typesetting a collection that has papers both in English and Russian, and I'm making a single bibliography at the end of the book.

For the bibliography to look pretty, the entries should be 'localized' individually. That is, I want an English book to come out as

Smith and Smith (eds.)

but a Russian one to come out as

Иванов и Иванов (ред.) [not "eds."!]

I have a very vague idea that it can be achieved with a conditional in some macro that'd check the language field of each given entry and select things accordingly. But I've no idea how to approach it --- just browsing biblatex.def lead me nowhere but here. I'm using lualatex for this, just in case.

Thank you for any ideas!

  • The language field is important for hyphenation of, for example, the title. I am not aware that biblatex would suddenly chage the localisation strings, though this would be possible. On the other hand, this would make your bibliography impossible to read for a non-language speaker. Even the names would be better to additionally given in roman transliteration, i.e. Ivanov and Ivanov. – Johannes_B May 11 '15 at 12:40
  • @Johannes_B: Sure, hyphenation would come in handy anyway, and it seems more economical to me to reuse the field compared to introducing a new custom one. On the other hand, transliteration is not a possible solution here (russian names are only referenced in papers in russian which assume some knowledge of the language:). It's in those entries that I need Russian abbrv -- otherwise they are transliterated, of course. – Ivan Kapitonov May 11 '15 at 12:44
  • Wouldn't it be better vice versa then? Instead having eds to have the russian equivalent? For accessed and others as well to have a consistent bibiography? – Johannes_B May 11 '15 at 12:49
  • @Johannes_B: Sorry, I didn't quite follow that..:) What's vice versa in this case? – Ivan Kapitonov May 11 '15 at 12:52
  • All strings in russion, and not in english for english entries and french for french entries. But the question, if or if not to do that, would be off topic here :-) – Johannes_B May 11 '15 at 12:53
  • No answer to the question, but I'd like to point out that it is indeed not uncommon to have bibliographies that are not consistent in the way we are used to from BibTeX or biblatex.

    In ISO 690 (Documentation -- Bibliographic References -- Content, form and structure) the standard is to leave lots of things untranslated, so in the same bibliography there can be a work that is "2. ed" and another that is "2. Aufl.", for example. At least in the Swedish translation/adaption of that standard which I've read. (There entries not written with a Latin alphabet would be transliterated, though.)

    – pst May 11 '15 at 12:57
  • @pst Just checked, the german variation also mixes at some instances. I was looking in ISO 690 for a few days, and i wasn't aware of another language. – Johannes_B May 11 '15 at 13:17
  • 2
    @IvanKapitonov You could try adding the babel=other option when loading biblatex and supplying the Russian-language entries with something like hyphenation = russian. – Pavel Rudnev May 11 '15 at 13:19

2 Answers2

4

This is most definitely not a complete answer but you could try adding the babel=other option when loading biblatex and supplying the Russian-language entries with something like hyphenation = russian. Whether there is a way of automating this latter operation is still an open question.

3

You can also give the langid field in addition to setting autolang to a sensible value.

Unfortunately, the mapping to the language is a bit picky and does not work with XeLaTeX (an utf8 aware engine) out of the box.

ivanBiblatexLocale

\begin{filecontents}{\jobname.bib}
    @online{someotherentry,
        url={texwelt.de},
        urldate={2015-05-11},
        author={a guy},
        translator={a guy},
        editor={a guy},
        langid={ngerman}
    }
    @online{onlineentry,
        url={some},
        urldate={2015-05-11},
        langid={russian},
    }
    @book{bookentry,
        editor={smith and Wesson},
        langid={russian}
    }
\end{filecontents}
\documentclass[ngerman,russian,english]{article}
\usepackage[autolang=other,maxcitenames=1]{biblatex}
\usepackage{babel}
\usepackage{lmodern}
\addbibresource{\jobname.bib}
\usepackage{citeall}
%\DefineBibliographyStrings{russian}{urlseen={Priviet},
%andothers={and some other guys}}
\usepackage[utf8]{inputenc}
\begin{document}
\citeall[\fullcite]
\end{document}
Johannes_B
  • 24,235
  • 10
  • 93
  • 248