4

This question already has an answer here:

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!

marked as duplicate by Alan Munn, Community May 11 '15 at 15:25

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 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
  • 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
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.

  • That works and is by far simpler than conditionals! Thx – Ivan Kapitonov May 11 '15 at 13:34
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}

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