LINUX.ORG.RU

[python][latex][matplotlib] Проблема с русскими шрифтами

 , ,


0

1

С использованием Python(2.6.6) запускается внешняя программа. Python обрабатывает вывод программы, парсит и строит график с использованием matplotlib, сохраняя результат в eps файл, при этом подписывая оси на русском языке.

На питоне этот выглядит так:

#!/usr/bin/python
# -*- coding: utf-8 -*-
# ...
plt.ylabel(unicode('Накладные расходы (в %)', 'UTF-8'))
plt.savefig('file.eps')

Подключаю файл в LaTeX

\documentclass[12pt, a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel} 
\usepackage[T2A]{fontenc}
% ...
{\includegraphics[scale=0.5]{folder/file.eps}}

Наблюдаю кракозябры в pdf файле.

Что я не так делаю ?


Ответ на: комментарий от AoD314

русских букв в файле не нашел

А их и не должно быть. Имелся в виду какой-нибудь просмотрщик eps. Например evince.

P.S. У меня русские буквы экспортируются прямоугольниками. Прозреваю, что просто нет необходимого шрифта.

baverman ★★★
()
Ответ на: комментарий от AoD314

ХЗ. Сильно плотно ни с техом ни с матплотлибом не работал и проблемы non-ascii надписей не было, за отсутствием таковых.

baverman ★★★
()
Ответ на: комментарий от AoD314

Решено

В начале скрипта делаем так:

from matplotlib import rc 
rc('font',**{'family':'serif'}) 
rc('text', usetex=True) 
rc('text.latex',unicode=True) 
rc('text.latex',preamble='\usepackage[utf8]{inputenc}') 
rc('text.latex',preamble='\usepackage[russian]{babel}') 

и все работает !

AoD314
() автор топика
Ответ на: комментарий от baverman

Но есть юникодный символ, конечно, не совсем равноценно, но всё же.

Сам LaTeX не воспринимал юникод, нужно было указать:

\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
AoD314
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.