5

In answering this question I discovered some strange interaction between the greek language setting and setting the autolang option of biblatex to other.

As you can see from the output, the month gets output as dateapril because that bibliography string is undefined. If I change the main language to something other than greek, e.g., german or french the problem does not arise. But since the autolang=other option should be accessing the english date strings (as it does with these languages) it's not clear to me why when greek is the main language, the date string is undefined.

The following document reproduces the problem.

\documentclass{article}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
  @article{anarticle,
    author={Lathrop, J.W.},
    journal={Electron Devices, IRE Transactions on},
    title={Photolithographic fabrication techniques for transistors},
    year={1958},
    month={4},
    volume={5},
    number={2},
    pages={117},
    doi={10.1109/T-ED.1958.14395},
    ISSN={0096-2430},
    langid={english},
    hyphenation={english}
  }
\end{filecontents}
\usepackage{polyglossia}
\setmainlanguage{greek} % works with german, french, etc.
\setotherlanguage{english}
% Change these if you want
\newcommand{\MainFont}{Times New Roman}
\newcommand{\MonoFont}{Courier New}
\setmainfont[Mapping=tex-text,Ligatures={TeX,Common}]{\MainFont}
\setmonofont[Mapping=tex-text,Ligatures={TeX,Common}]{\MonoFont}
\newfontfamily\greekfont[Script=Greek,Mapping=tex-text,Ligatures={Common,TeX}]{\MainFont}
\newfontfamily\greekfonttt[Script=Greek,Mapping=tex-text,Ligatures={Common,TeX}]{\MonoFont}

\usepackage[style=alphabetic,maxcitenames=2,language=auto,autolang=other]{biblatex}
\addbibresource{\jobname.bib}
\begin{document}
\cite{anarticle}
\printbibliography
\end{document}

output of code

5

The problem turns out to be a bug in the greek.lbx localization file. Instead of using its already defined \lbx@gr@mkbibmonth to format the date, it instead uses \mkbibmonth defined via \let\mkbibmonth\lbx@gr@mkbibmonth after first using \savecommand{\mkbibmonth}.

Replacing the use of \mkbibmonth with \lbx@gr@mkbibmonth directly in the .lbx file solves the problem. I have reported the bug to the author, and the fixed file will appear when the next update of biblatex is pushed to CTAN.

0

Add in preamble:

\DefineBibliographyStrings{english}{%
  dateapril = {April}
 }

Now result is : enter image description here

  • 1
    This does not answer the question. The point is that English strings should be used for this entry, even though the main document language is Greek. – cfr Aug 11 '15 at 22:31
  • Sorry, I was thinking in opposite – Levan Shoshiashvili Aug 11 '15 at 22:34
  • I updated answer...yes there are 'dateapril' fields for other languages, but not for english...When user tryes to 'otherlanguage' I guessed biblatex tryes to find translation of appropriate fields in this case dateapril whan it does not find it if returns back to mainlanguage..this seems a bug – Levan Shoshiashvili Aug 11 '15 at 22:58
  • @LevanShoshiashvili Yes, this is a workaround (although you need to do it for all months). But the bug is induced by greek.lbx since other languages do not cause the behaviour. – Alan Munn Aug 11 '15 at 23:01
  • @ AlanMunn , yes you are right . Just tested for other language as mainlanguage and there is no problem – Levan Shoshiashvili Aug 11 '15 at 23:07

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.