4

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?

5
  • Could you please add an example of a lstlisting you want to typeset?
    – egreg
    Mar 22, 2013 at 0:52
  • @egreg I've added failing example. Mar 23, 2013 at 10:22
  • 1
    I'm afraid it's a design problem of listings. :(
    – egreg
    Mar 23, 2013 at 10:27
  • it seems to be. In the documentation there is no hint about XeTeX or XeLaTeX. :(
    – Micha
    Mar 23, 2013 at 19:28
  • @Micha can you please add this to your second answer? Mar 24, 2013 at 21:06

2 Answers 2

3

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}
2
  • 1
    The question is about XeLaTeX or LuaLaTeX.
    – egreg
    Mar 22, 2013 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, 2013 at 1:04
2

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)

2
  • 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, 2013 at 0:45
  • 3
    It would be good if you would merge your answers.
    – Stefan Kottwitz
    Mar 22, 2013 at 12:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .