3

I've selected the babelbib package, in cooperation with babel, to generate a single bibliography with bibtex containing items written in English and Russian Cyrillic.

I'm using the bibliography style babalpha, a babelbib equivalent of the standard alpha BibTeX style:

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T2A,T1]{fontenc} % russian requires T2A
\usepackage[russian,main=english]{babel}
   \usepackage{babelbib}

\bibliographystyle{babalpha}

\begin{document}
\nocite{*}
\bibliography{master}
\end{document}

The entries in the master.bib file, for which babelbib requires the additional language field, are:

@book{ponomarenko86,
      author = "Пономаренко, Л. А. and Адамович, Л. В. 
            and Музычук,     В. Т. and Гридасов, А. Е.",
      title = {{Основы создания гибких атоматизированных производств}},
      publisher = "Технiка",
      year = "1986",
      language = "russian"
      }

@book{biblarz01,
      author = "Biblarz, Oscar and Sutton, George P. and Schroeder, Matt and King, Benjamin",
      title = {{Rocket Propulsion Elements}},
      publisher = "John Wiley \&{} Sons, Inc.",
      year = "2001",
      language = "english"
      }

@manual{encyclopediavolI-60,
        organization = {{U.S. Army RDECOM-ARDEC}},
        title = {{Encyclopedia of Explosives And Related Items, volume 1}},
        year = "1960",
        key = "US",
        language = "english"
        }

@manual{instr86,
        organization = {{Министерство обороны СССР, Орден Трудового Красного Знамени}},
        title = {{Типовая инструкция по эксплуатации топливоподачи
                  тепловых электростанций: ТИ 34-70-044-85}},
        year = "1986",
        key = "USS",
        language = "russian"
        }

This produces: enter image description here

The surnames in the first entry (key: ponomarenko86) can be transliterated as Ponomarenko, Adamovich, Muzyčuk and Gridasov.

I would like the first entry to be printed exactly as it is, yet sort it under "Ponomarenko", and produce the label [PAMG86]. (babalpha.bst only produces a label with + for entries with 5 or more authors.)

Are these things possible with babelbib? Should I migrate to biblatex?


What I've tried so far:

  • Put @preamble{"\newcommand{\noopsort}[1]{}"} at the beginning of my .bib file, then use author = "{\noopsort{Ponomarenko}}Пономаренко, Л. А. ...". This approach sorts the entry under "Ponomarenko", but fails to produce the right label and seems to fiddle with the indentation of every bibliography item. enter image description here
  • Use an entry type with no mandatory author or editor field (like manual and misc), allowing me to specify my own key field. The problem is that these produce somewhat different results.
nnunes
  • 2,944
  • 1
  • 23
  • 36

1 Answers1

3

The recently developed Bibulous package, replacing BibTeX's style files with easy-to-structure templates, deals with multiple languages easily and can provide the OOP's requested behavior. Using the following .tex file

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc} % russian requires T2A
\usepackage[russian,main=english]{babel}

\begin{document}
\nocite{*}
\bibliographystyle{example}
\bibliography{master}
\end{document}

without changing the .bib file, we can write a style template file like the following

TEMPLATES:
book = [<au>|<ed>|<organization>|<institution>|], \textit{<title>} (<publisher>, <year>).[ <note>]
manual = [<au>|<ed>|<organization>|<institution>|], \textit{<title>}, (<organization>, <year>).[ <note>]

SPECIAL-TEMPLATES:
citelabel = [<key><year.-2:-1>|<citealpha>|]
sortkey = <citelabel>

This either uses the key variable if defined in the database entry, and adds the last two digits of the year variable, or makes use of the native citealpha variable that emulates the alpha style used in BiBTeX. With these inputs, the formatted output looks like

enter image description here

nzh
  • 1,085
  • 8
  • 13