Добрый день. Для оформления кода в Latex я использую пакет listings. Возникают ошибки связанные с выводом слов на русском языке. Tex файл:
Код:
\documentclass[14pt,a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage[english,russian]{babel}
\usepackage{listings}
\lstloadlanguages{C,[ANSI]C++}%,Clean,make,Fortran}%Загружаемые языки
\lstset{extendedchars=false,
breaklines=true, %автоперенос длинных линий
breakatwhitespace=true}
\begin{document}
\lstinputlisting{11.c}
\end{document}
Файл 11.с имеет вид
Код:
//Исходный
#include <stdio.h>
#include <string.h>
main(){
int c,ch,q=0;
char *chisla[] = {"минус один\n","минус два\n","минус три\n","минус черыре\n","минус пять\n","минус шесть\n","минус семь\n","минус восемь\n","минус девять\n","ноль\n","один\n","два\n","три\n","черыре\n","пять\n","шесть\n","семь\n","восемь\n","девять\n"};
scanf ("%d",&c);
if ((c<-10)||(c>10)) q=1;
if (c>=0) c=c+9;
if (c<0) c=c*(-1)-1;
if (q==1) printf("введите число [-9;9]\n"); else printf(chisla[c]);
}
В сгененрированном файле русские слова как-то специфично меняют своё положение. Вместо
char *chisla[] = {"минус один\n","минус два\n",
Выводится
char *chisla[] =минус {" одинминус\n"," два\nминус",
В чем причина? Пробовала ставить extendedchars=true, но тогда русские слова вообще не выводятся - вместо них ставятся пробелы.