[Tex/LaTex] Typesetting Greek characters in bibliography

biblatexfontsgreek

I've been struggling with trying to get Greek characters to typeset in my bibliography for a while now, but can't seem to find a solution that works for me.

Here is a MWE of the .tex I am working with:

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber, bibencoding=utf8]{biblatex}
\addbibresource{library.bib}

\begin{document}
Here is the citation: \cite{duchowski_2012}

\printbibliography
\end{document}

And the relevant entry in library.bib:

@inproceedings{duchowski_2012,
    title = {τεχνη Photons: Evolution of a Course in Data Structures},
    pages = {49-56},
    booktitle = {Eurographics 2012-Education Papers},
    author = {Duchowski, Andrew T.},
    date = {2012}
}

After running XeLaTeX and Biber, the .bbl file has the Greek characters correct. However, running XeLaTeX the second time, the typeset citation is:

[1] A. T. Duchowski. “ Photons: Evolution of a Course in Data Structures”. In: Eurographics 2012- Education Papers. 2012, pp. 49–56.

and the .log file has these lines:

 [1]
Missing character: There is no τ in font cmr10!
Missing character: There is no ε in font cmr10!
Missing character: There is no χ in font cmr10!
Missing character: There is no ν in font cmr10!
Missing character: There is no η in font cmr10!

The problem is, I am restricted to Times New Roman or Computer Modern for the majority of the document. I'm sure there is an exception for typesetting the Greek characters, but I don't want to change the font of the entire bibliography. Any suggestions on a workaround?

Best Answer

With XeLaTeX you mustn't use inputenc; for getting full Unicode support, fontspec is needed instead. However, the default font you get is Latin Modern (very similar to Computer Modern) which hasn't Greek letters. You can get by with ucharclasses

% this is just for getting a self-contained example
% use you normal library.bib file also in \addbibresource
\begin{filecontents*}{\jobname.bib}
@inproceedings{duchowski_2012,
    title = {τεχνη Photons: Evolution of a Course in Data Structures},
    pages = {49-56},
    booktitle = {Eurographics 2012-Education Papers},
    author = {Duchowski, Andrew T.},
    date = {2012}
}
\end{filecontents*}

\documentclass[12pt]{article}

% load fontspec for OpenType support
\usepackage[no-math]{fontspec}

% Since the font has no lowercase Greek, load also ucharclasses
\usepackage[Greek]{ucharclasses}

% bibliography package
\usepackage{biblatex}

% define a font with Greek support
% depending on your setup you might need to type
% \newfontfamily{\greekfont}[Scale=MatchLowercase]{cmunrm.otf}
\newfontfamily{\greekfont}[Scale=MatchLowercase]{CMU Serif}

% when Greek is found, change to \greekfont    
\setTransitionsForGreek{\begingroup\greekfont}{\endgroup}

\addbibresource{\jobname.bib}

\begin{document}
Here is the citation: \cite{duchowski_2012}

\printbibliography
\end{document}

enter image description here

The trick with ucharclasses shouldn't be necessary if you use an OpenType version of Times that has Greek glyphs.

\begin{filecontents*}{\jobname.bib}
@inproceedings{duchowski_2012,
    title = {τεχνη Photons: Evolution of a Course in Data Structures},
    pages = {49-56},
    booktitle = {Eurographics 2012-Education Papers},
    author = {Duchowski, Andrew T.},
    date = {2012}
}
\end{filecontents*}

\documentclass[12pt]{article}
\usepackage[no-math]{fontspec}

\usepackage{biblatex}

\setmainfont[Ligatures=TeX]{Times New Roman}

\addbibresource{\jobname.bib}

\begin{document}
Here is the citation: \cite{duchowski_2012}

\printbibliography
\end{document}

enter image description here