<Текст статьи> 9,3 Кбайт + 3 рис.

Учимся работать с текстом

Часть 1

 

<<< В статье даны советы по работе с текстом.

Георгий Корсаков, Константин Литвинов

Давно прошли те времена, когда ПК для значительной части пользователей служил лишь пишущей машинкой.Тем не менее одним из его главных предназначений по-прежнему остается работа с текстом. У большинства подобное занятие ассоциируется с набором, редактированием и форматированием материалов в программах наподобие Microsoft Word, их хранением в «родных» для выбранного ПО форматах и организацией полученного файла в структуре каталогов на жестком диске. Это, безусловно, вполне оправданноособенно тогда, когда объем текста небольшой и в нем не содержатся сноски, ссылки, оглавления и т. д. Но стоит усложнить документ, и выясняется, что далеко не каждый способен обработать текстовую информацию.

Например, может понадобиться внести изменения в документ, содержащий таблицы, формулы, графику и имеющий сложную рубрикацию. И бывает, что из-за сделанной правки вся выполненная ранее верстка просто «слетает». Зачастую пользователи не знают, как справиться с ситуацией, и просто переформатируют весь материал, непродуктивно тратя массу времени. Вряд ли их действия можно считать грамотными.

Или, допустим, кто-то переписал из Интернета электронную книгу, чтобы читать ее на мобильном устройстве. Скорее всего он не получит от этого удовольствия. (Попробуйте сами прочитать на каком-либо гаджете текст из «Библиотеки Мошкова».)

Впрочем, пора обратиться к истокам подобных неприятностей.

Форматирование на глазок



Приверженцы всевозможных «офисов» нередко полагают, что основное преимущество выбранного ими продукта заключается в наглядности результата. Концепция WYSIWYG (What you see is what you get -- «Что видите, то и получите») предполагает, что экранная копия тождественна распечатке.

Увы, это далеко не так. Невозможно реализовать на практике принцип WYSIWYG уже просто потому, что разрешение экрана обычно не соответствует тому, которым обладает принтер. Стандартный современный монитор, как правило, не обеспечивает и 100 точек на дюйм (dpi), тогда как даже самый заурядный принтер запросто выдает 300. И уже по одному этому изображение на экране отличается от распечатки. В общем, если ориентироваться на глаз, значит, заведомо соглашаться на невысокое качество результата.

Другой изначальный минус базирования на принципе WYSIWYG обусловлен неизбежным отсутствием строгих рамок, удерживающих верстку.документа в границах определенного стиля. Редактор наподобие Word будто специально подталкивает пользователя: «Ну давай, не стесняйся, выровняй этот заголовок пробелами, вроде бы хорошо получилось?»



Форматирование с учетом разметки документа



Форматирование с применением стилей и разметки, безусловно, организует материал. Пользователю предлагается на выбор несколько заранее выработанных стилей (или шаблонов) либо допускается создать свой. При этом устанавливаются формат, написание и кегль шрифта, расположение заголовков, интерлиньяж, величины абзацных отступов и прочие полиграфические условия. Также автоматически расставляются переносы, убираются висячие строки, регулируется ширина пробелов между словами, выравниваются колонки и проч. Естественно, что при установлении стилей вероятность некорректного форматирования будет гораздо меньше. Правда, языки разметки текста, будь то HTML (знакомый многим хотя бы по своему названию) или ориентированный на полиграфию LaTeX, требуют определенных знаний.

Форматы хранения текстовой информации



Сейчас существует немало различных форматов для хранения информации. Одним из наиболее универсальных стал PDF (аббревиатура от англ. Portable Document Format -- переносимый формат документов) -- кросс-платформенный формат электронных документов, созданный фирмой Adobe Systems с использованием возможностей PostScript. Он предназначен для представления в электронном виде полиграфической продукции, поскольку основная часть современного профессионального печатного оборудования способна обрабатывать непосредственно PDF. Однако текст в PDF-документах редактировать тяжело и скучно.

Поэтому имеет смысл верстать в специальном редакторе, а затем создавать PDF-файлы для печати. Один из интересных продуктов для подобной работы -- издательская система LaTeX (подробнее о ней будет рассказано в следующих статьях). Она обеспечивает широчайшие возможности для верстки и работает с обычными текстовыми файлами, содержащими и сам материал, и служебную разметку, определяющую форматирование документа.

Для пользователей, знакомых с азами веб-дизайна, файл HTML будет наиболее яркой иллюстрацией к внутреннему устройству документа LaTeX. Принципы их организации аналогичны. Различие лишь в назначении: язык HTML больше подходит для создания документов, предназначенных для чтения на экране. Как отобразится текст, какая ширина будет у строки и поместится ли она на экране, какую кодировку выбрать для документа? -- на все эти вопросы с легкостью ответит любой современный браузер.

«Что же получается, -- расстроится читатель. -- Если я собираюсь распечатать текст, а кроме того, выложить его в Интернете, мне придется делать работу дважды?!». Вовсе нет. Цель данных статей в том, чтобы единожды созданный документ можно было послать и на принтер, и в типографию, и по электронной почте, и «выставить» его в Интернете. И для реализации всего этого есть специальный инструментарий, о котором и будет рассказано ниже.

Текстовые редакторы

Для многих пользователейсловосочетание «текстовый редактор» ассоциируется с популярными Microsoft Word и с ООо Writer для обработки текста.

Текстовый редактор никаких функций издательской системы на себя не берет. Он служит неким «швейцарским ножом» для работы с текстом в любом виде, будь то роман, труд по математике, веб-страница или исходники программы. Задача редактора -- сделать их легко изменяемыми и наглядными для пользователя. Поэтому осуществляются подсветка синтаксиса разметки, отображаются ошибки, как грамматические, так и логические, к примеру неверное форматирование или ошибочные теги HTML. Кроме того, любой хороший редактор содержит набор инструментов для автоматизации рутинных действий.

В этой публикациибудут обсуждены несколько редакторов для различных платформ: TextWrangler (Mac OS), Kate (Linux), Notepad++ (Windows) и тот же Kate в Windows-ипостаси. Кстати, для пользователей Windows существует целый набор UNIX-утилит (см. врезку «Программное обеспечение»). Последний компонент в базовом наборе ПО -- инструмент для проверки правописания. Во всех случаях будут использоваться вариации системы aspell.

Пример форматирования электронной книги для чтения на мобильном устройстве

Рассмотрим, как подготовить электронную версию повести «Капитанская дочка» для того, чтобы можно было читать ее на КПК.

При переписывании файла из библиотеки сразу же выяснилось, чтоесь текст принудительно разбит на строки, включающие по 80 символов. Кроме того, везде расставлены жесткие переносы. Естественно, текст, отформатированный подобным образом,превратится на экране просто в кашу.

Приведенный во врезке «Операции над текстом в командной строке» листинг демонстрирует, как можно перевести текст в «одну строку» средствами штатной UNIX-утилиты cat и удалить все переносы с помощью потокового редактора sed.

Теперь обработаем абзацы. Листинг демонстрирует, как определить их типы в DOS-файле (пробелы или табуляция) и отформатировать с помощью sed.

В книге появились правильно организованные абзацы, убраны лишние переносы и нет разрывов строки. Она великолепно отображается в браузере (см. рисунок). Осталось лишь перевести файл в кодировку, «съедобную» для читающего устройства. (Листинг показывает смену кодировки с DOS на UTF-8 посредством утилиты iconv.)

 

Продолжение в следующем номере.

<<< Врезка 1

Программное обеспечение



Текстовый редактор для платформы Linux и прочих *nix:

http://www.kate-editor.org/



Текстовый редактор для платформы Macintosh:

http://www.barebones.com/products/TextWrangler/



Текстовый редактор для платформы Windows:

http://notepad-plus.sourceforge.net/ru/site.htm



 

<<< Врезка 2



Операции над текстом в командной строке

Приводим переносы в книге к читаемому виду:

cat kapitan.txt| tr -d ' '>kapitan_nobr.txt

Убираем отступы:

cat kapitan_nobr.txt|sed 's/^[t]*//'>kapitan_nobr_nosp.txt

Меняем кодировку файла с CP1251 на UTF-8:

iconv -f cp1251 -t utf-8 ./kapitan_nobr_nosp.txt>kapitan_nobr_utf.txt



[фото]