Однако для создания PDF с русскими буквами средствами LaTeX требуются некоторые ухищрения.
Во-первых, в этом случае надо использовать пакет
cmap
, иначе поиск по русским символам в полученном PDF будет невозможен.Во-вторых, пакет для работы с графикой
graphicx
следует подключать с включенной опцией pdftex
.В-третьих, совсем невредно указать pdfTeX-у, что полученный PDF можно и ужать, для этого я устанавливаю переменную
\pdfcompresslevel=9
.В-четвертых, я добавляю условный код, который делает всё вышеуказанное только если действительно используется pdfTeX, и использует другие пакеты и настройки, в случае если создаётся DVI/PS.
Ну и наконец, уж раз создаётся документ на русском языке, надо указать кодировку документа, правила расстановки переносов и кодировку шрифтов.
% до \documentclass
\newif\ifpdf
\ifx\pdfoutput\undefined
\pdffalse % pdfLaTeX не используется
\else
\pdfoutput=1 % используется PDFLaTeX
\pdftrue
\fi
% в преамбуле
\usepackage[cp1251]{inputenc} % CP1251 или другая кодировка, с UTF8 не дружит bibTeX
\usepackage[russian]{babel} % правила переноса
...
\ifpdf
\usepackage{cmap} % чтобы работал поиск по PDF
\usepackage[pdftex]{graphicx}
\pdfcompresslevel=9 % сжимать PDF
\else
\usepackage{graphicx}
\fi
После этого полученный файл можно обрабатывать и обычным latex, и pdflatex, который будет сразу создавать PDF. Для просмотра PDF я обычно пользуюсь evince или xpdf, поскольку эти программы позволяют обновлять файл не меняя открытую страницу, что удобно в процессе редактирования.
Все иллюстрации я готовлю сразу в двух форматах: PDF и EPS (epstopdf легко преобразует графику из EPS в PDF), а в командах \includegraphics{image} расширение не указываю, тогда LaTeX автоматически включает изображение в подходящем формате.
Недавно virens написал о создании презентаций в LaTeX с помощью пакета beamer, и указал на ошибки возникающие при обработке русских букв.
Хочу отметить, что у меня подобные ошибки не возникают. При этом файлы beamer я пишу несколько иначе и обрабатываю их непосредственно pdflatex:
\documentclass[ignorenonframetext,hyperref={pdftex,unicode}]{beamer}
...
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
...
\usepackage{cmap}
Дополнение 1. Минимальный шаблон для PDFLaTeX
Вообще-то минимальный шаблон документа для
pdflatex
будет такой:\documentclass{article}Это к тому, что разные
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{cmap}
\begin{document}
Текст по-русски в кодировке UTF-8.
\end{document}
\ifpdf
выше — совсем не обязательны. Можно проще.Дополнение 2. Шрифты CM-Super
Есть ещё такая тонкость: при использовании гарнитуры Computer Modern PDF получается гораздо лучше, если установлены шрифты CM-Super (пакет
cm-super
в Debian/Ubuntu).Например, без CM-Super:
С Type-1 шрифтами CM-Super: