Mailing List CyrTeX-ru@vsu.ru Message #3112
From: Yuri Nefedov <CyrTeX-ru@vsu.ru>
Subject: : поиск русского текста в pdf
Date: Sat, 25 Feb 2012 09:06:48 +0800
To: <CyrTeX-ru@vsu.ru>
On Fri, 24 Feb 2012, Subscriber wrote:

Добрый день, уважаемые знатоки LaTeX!

Есть ли возможность заставить работать поиск и нормально копировать фрагменты русского текста из pdf-файла, созданного методом
"latex => dvips ==> ps2pdf"? Сразу для определенности скажу, что использую связку   "debian + texlive + texmaker"

Предположим, для простоты, что есть файл примерно следующего содержания:

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[TS1,T2A]{fontenc}
\usepackage[english,russian]{babel}
\begin{document}
Какой-то текст на русском языке.
\end{document}

Если я его собираю в таком виде, то в результате получаю pdf-файл, в котором невозможно нормально выделить текст и, соответственно, нельзя выделенный фрагмент текста никуда скопировать, поиск, естественно, тоже не работает.


 Как я понимаю. Если у вас не установлены векторные шрифты
 для латех, то вызов latex => dvips создаёт "бинарную
 картинку", поиск в которой не работает по определению.
 Если установлен пакет cm-super (в cm-super содержится
 весь набор CM шрифтов в формате ps type 1), то получится
 картинка в векторном формате и соответственно будет возможность поиска.
 При этом не важно используете вы latex => dvips => pdf или pdflatex.

Теперь, если добавить пакет "cmap" получим:

\documentclass[a4paper,12pt]{article}
\usepackage{cmap}
\usepackage[utf8]{inputenc}
\usepackage[TS1,T2A]{fontenc}
\usepackage[english,russian]{babel}
\begin{document}
Какой-то текст на русском языке.
\end{document}

В результате при сборке методом "pdflatex" получаем вполне пригодную pdf-ку, в которой работает поиск русского текста, и из которой без лишних заморочек осуществляется копирование фрагмента текста в любой другой редактор.


 Про "cmap" ничего не знаю. Похоже, это способ организовать
 поиск даже в "бинарной картинке".

Можно ли сделать что-то, чтобы получить такую же нормальную pdf-ку при использовании сборки "latex => dvips ==> ps2pdf"?

Я нашел один из вариантов решения проблемы:

Во-первых, нужно установить пакет "scalable-cyrfonts-tex", содержащий кириллические шрифты.
Во-вторых, в тексте после начала документа добавить строку, отвечающую за выбор кириллического шрифта из установленного пакета.
В результате получаем:

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[TS1,T2A]{fontenc}
\usepackage[english,russian]{babel}
\begin{document}
\usefont{T2A}{ftm}{m}{sl}
Какой-то текст на русском языке.
\end{document}

Однако, желаемого результата данный способ не дает. В результате получается pdf-ка, в которой нормально осуществляется выделение текста, но, по-прежнему, не работает поиск и при попытке скопировать фрагмент текста копируются непонятные каракули.

 К сожалению эти шрифты довольно уродливы. Лучше всё же sm-super.
 Но, в принципе, должно работать с любыми векторными шрифтами.


Может, можете что-нибудь посоветовать?


 По поводу поиска, выделения и копирования. Многое зависит от самой
 смотрелки.
 acroread - я не использую.
 xpdf - отказывается работать с русским.
 Из тех что под рукой, с русским языком работают evince и zathura.

Ю.

Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster