# Spaces inside Cyrillic listings

I want to include source file using listing package. In that file there are some cyrillic symbols in comments.

I setup listings like:

\lstset{extendedchars=\true,basicstyle=\ttfamily}

And in result I get no spaces between russian words: вд instead of desired в д.

Not working minimal sample:

\documentclass[a4paper]{article}
\usepackage{xltxtra}
\usepackage{xunicode}
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{listings}
\lstset{extendedchars=\true,basicstyle=\ttfamily}
\setmonofont[Scale=0.8]{DejaVu Sans Mono}

\begin{document}
\begin{lstlisting}
привет мир
\end{lstlisting}
\end{document}


I'm using XeTeX.

@Micha If I try to use libertine package with xetex I get errors like:

Cannot use \XeTeXOTfeaturetag with nullfont; not an OpenType Layout font. [ ]{Linux Libertine O}]

Also I tried to run in pdflatex with literate setup, it works, thanks. But in xetex I get the same problem.

Is it possible to use listings in such way with xetex?

• Could you please add an example of a lstlisting you want to typeset? – egreg Mar 22 '13 at 0:52
• @egreg I've added failing example. – Gregory Kalabin Mar 23 '13 at 10:22
• I'm afraid it's a design problem of listings. :( – egreg Mar 23 '13 at 10:27
• it seems to be. In the documentation there is no hint about XeTeX or XeLaTeX. :( – Micha Mar 23 '13 at 19:28

I do not have the CMU Serif font, but it should not be relevant for the listing. With:

\usepackage{libertine}


instead of \setmainfont[Mapping=tex-text]{CMU Serif} the document looks fine. (TeX-Live 2012)

• sorry, I understand the problem to late. The next answer gives a hint, but you have to use pdflatex instead of xelatex – Micha Mar 22 '13 at 0:45
• It would be good if you would merge your answers. – Stefan Kottwitz Mar 22 '13 at 12:09

Now I've understand the problem. It is not related to the font, which was my first mention. The issue was discussed at Роман Химов » Кириллица в листингах LaTeX but I'm not able to do it with xelatex. The following MWE works fine with pdflatex

\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage[T2A]{fontenc}
\usepackage{listings}
\lstset{extendedchars=true,basicstyle=\ttfamily,literate={Ö}{{\"O}}1
{Ä}{{\"A}}1
{Ü}{{\"U}}1
{ß}{{\ss}}1
{ü}{{\"u}}1
{ä}{{\"a}}1
{ö}{{\"o}}1
{~}{{\textasciitilde}}1
{а}{{\selectfont\char224}}1
{б}{{\selectfont\char225}}1
{в}{{\selectfont\char226}}1
{г}{{\selectfont\char227}}1
{д}{{\selectfont\char228}}1
{е}{{\selectfont\char229}}1
{ё}{{\"e}}1
{ж}{{\selectfont\char230}}1
{з}{{\selectfont\char231}}1
{и}{{\selectfont\char232}}1
{й}{{\selectfont\char233}}1
{к}{{\selectfont\char234}}1
{л}{{\selectfont\char235}}1
{м}{{\selectfont\char236}}1
{н}{{\selectfont\char237}}1
{о}{{\selectfont\char238}}1
{п}{{\selectfont\char239}}1
{р}{{\selectfont\char240}}1
{с}{{\selectfont\char241}}1
{т}{{\selectfont\char242}}1
{у}{{\selectfont\char243}}1
{ф}{{\selectfont\char244}}1
{х}{{\selectfont\char245}}1
{ц}{{\selectfont\char246}}1
{ч}{{\selectfont\char247}}1
{ш}{{\selectfont\char248}}1
{щ}{{\selectfont\char249}}1
{ъ}{{\selectfont\char250}}1
{ы}{{\selectfont\char251}}1
{ь}{{\selectfont\char252}}1
{э}{{\selectfont\char253}}1
{ю}{{\selectfont\char254}}1
{я}{{\selectfont\char255}}1
{А}{{\selectfont\char192}}1
{Б}{{\selectfont\char193}}1
{В}{{\selectfont\char194}}1
{Г}{{\selectfont\char195}}1
{Д}{{\selectfont\char196}}1
{Е}{{\selectfont\char197}}1
{Ё}{{\"E}}1
{Ж}{{\selectfont\char198}}1
{З}{{\selectfont\char199}}1
{И}{{\selectfont\char200}}1
{Й}{{\selectfont\char201}}1
{К}{{\selectfont\char202}}1
{Л}{{\selectfont\char203}}1
{М}{{\selectfont\char204}}1
{Н}{{\selectfont\char205}}1
{О}{{\selectfont\char206}}1
{П}{{\selectfont\char207}}1
{Р}{{\selectfont\char208}}1
{С}{{\selectfont\char209}}1
{Т}{{\selectfont\char210}}1
{У}{{\selectfont\char211}}1
{Ф}{{\selectfont\char212}}1
{Х}{{\selectfont\char213}}1
{Ц}{{\selectfont\char214}}1
{Ч}{{\selectfont\char215}}1
{Ш}{{\selectfont\char216}}1
{Щ}{{\selectfont\char217}}1
{Ъ}{{\selectfont\char218}}1
{Ы}{{\selectfont\char219}}1
{Ь}{{\selectfont\char220}}1
{Э}{{\selectfont\char221}}1
{Ю}{{\selectfont\char222}}1
{Я}{{\selectfont\char223}}1
}

\begin{document}
\begin{lstlisting}
(ä ö ü) (a b c) (а б в)
\end{lstlisting}
\end{document}

• The question is about XeLaTeX or LuaLaTeX. – egreg Mar 22 '13 at 0:47
• The strange result is the same with xelatex and lualatex as well; maybe listings is not 100% compatible with it because with pdflatex everything is fine – Micha Mar 22 '13 at 1:04