Основы информатики
1. Редакторы текстов
Редактор текстов (text editor) обеспечивает ввод,
изменение и сохранение любого символьного текста, но
предназначен он для подготовки только текстов, которые
в конечном итоге потребляются программами.
Различаясь способами управления и набором сер-
висных возможностей, все они в том или ином виде позво-
ляют:
набирать текст на экране, используя до двухсот
символов;
исправлять ошибочные символы в режиме замены;
вставлять и удалять группы символов (слова) в пре-
делах строки, не переводя неизменившуюся часть строки,
а сдвигая её влево/вправо целиком и в режиме вставки;
удалять одну или несколько строк, размножать их
или перемещать в другое место текста;
раздвигать строки существующего текста, чтобы
вставить туда новый фрагмент;
вставлять группы строк из других текстов;
обнаруживать все вхождения определенной группы
символов (контекста);
заменять один контекст другим, возможно, разной
длины;
сохранять набранный текст для последующих коррек-
ций;
печатать текст на разных типах принтеров стандарт-
ными программами печати одним шрифтом в пределах доку-
мента.
Легко видеть, что использование для подготовки и
печати документа редактора текста на качественном уров-
не соответствует использованию пишущей машинки, разве
что более производительному из-за легкости повторения
печати с хранимой в электронной памяти заготовки и воз-
можности как исправления описок, так и частичной пере-
работки текста путем вставки или исключения новых абза-
цев.
Можно, несколько забегая вперед, указать важный
классификационный признак. Подобно пишущей машинке ре-
дактор текстов не выделяет особо символ пробел, т.е.
ему безразлично машинное представление этого символа -
его код.
2. Системы подготовки текстов
Когда предметной областью пользователя ПЭВМ явля-
ется подготовка текстов на естесственных языках для пе-
чати и печать этих документов, набор операций редактора
должен быть существенно расширен, и программный продукт
переходит в новое качество - систему подготовки текстов
(СПТ) - продукт которому соответствует англоязычный
термин word processor.
Необходимыми и достаточными операциями для квали-
фикации программного продукта, как СПТ, является вык-
лючка, автоматический перенос слов и пагинация.
Выключкой называется операция выравнивания длины
печатных строк согласно указанному размеру за счет рав-
номерного расширения промежутков между словами. Резуль-
татом выключки является ровный правый край всех строк
абзаца (кроме последней).
Обычно СПТ выполняют выключку автоматически, как
только заполнена текущая строчка. При этом "каретка"
сама переводится на следующую строчку экрана.
Легко видеть, что выключка (англ. justify) явля-
ется операцией интернациональной, т.е. не требует ка-
кой-то особой русификации программного продукта кроме
обеспечения возможности вводить русские буквы с клавиа-
туры и видеть их на экране и на распечатке. А делается
это "штатными" средствами ПК - драйверами - без измене-
ния русифицируемой программой.
Перенос слов, на первый взгляд, несложно выполнять
вручную. При этом программе безразлично, на каком языке
текст набирается на экране. (Более того, после ручного
переноса даже пишущие машинки с электронным блоком уже
умеют делать выключку строки после перевода каретки).
Альтруизм рано или поздно оборачивается злом для обеих
сторон: стремление помогать машине ручным переносом
"наказывается" после первой же описки или стилисти-
ческой правки - не только изменяются места желательных
переносов, но и вставленные в текст дефисы, становятся
"персонами non grata". Автоматический алгоритм переноса
не только избавляет пользователя от необходимости сле-
дить за подходом курсора к правой границе строки, но и
стимулирует свободную правку "экранного черновика", так
как программа учтет знаки переноса, которые вставила
сама. Не трудно понять, что алгоритм переноса привязан
к конкретному естесственному языку. Например, по-анг-
лийски слово talking можно перенести только как
talk/ing, а гов/оря по-русски переносить нельзя. Поэто-
му "ординарная" русификация на уровне драйверов внешних
устройств здесь не проходит.
Выполнение выключки без автоматического переноса
обычно серьезно ухудшает качество подготавливаемого до-
кумента из-за больших межсловных промежутков.
Наконец, третья обязательная операция - пагинация
- позволяет проверить позиции, где произойдет разделе-
ние страниц при печати на форматных листах бумаги, и
заранее принять меры, чтобы не допустить нежелательных
разрывов страниц.
К типичным для СПТ операциям можно также отнести
шрифтовое выделение (хотя бы подчеркивание, курсив и
полужирный), переход к новому абзацу, центрирование за-
головка, быстрое перемещение курсора по элементам лите-
ратурного текста - словам, предложениям, абзацам. Нали-
чие других возможностей определяется классом СПТ, т.е.
конкретизацией предметной области.
Для текстовых редакторов понятие класса практи-
чески отсутствует, так как при подготовке любого текста
любому пользователю может понадобиться любая операция
редактирования. Для СПТ набор операций определяется ха-
рактером печатаемых документов. Здесь невостребован-
ность дополнительных возможностей приводит только к
усложнению обучения и работы с программой при увеличе-
нии расходов на приобретение.
Среди систем подготовки текстов на естесственных
языках можно выделить три больших класса, но с доста-
точно размытыми границами: форматеры, текстовые про-
цессоры и настольные издательства. Их интуитивное раз-
личие определяется характером создаваемых документов:
письма, небольшие статьи - форматеры; машинописные ра-
боты (отчеты, диссертации, книги) - текстовые процессо-
ры; работы, выполняемые по правилами полиграфии с по-
лиграфическим качеством (в частности, готовые для фото-
набора или линотипирования), - настольные издательства.
Такая классификация нас не устраивает, либо из нее
следует правило выбора по типу документов, а не по
способности программной системы удовлетворить конкрет-
ного пользователя. Поэтому рискнем, без критики иных
подходов, предложить классификацию более конструктив-
ную.
Признаки, позволяющие говорить о редакторе как о
СПТ, уже названы:
выключка, автоматический перенос, пагинация (плюс раз-
ные шрифты). Было бы соблазнительно перечислить расп-
ространенные операции над элементами текста (тем более,
что многолетняя практика их фактически стандартизирова-
ла) и указать, что одни операции присуще всем СПТ,
включая форматеры, другие - только текстовым процессо-
рам, а само наличие третьих говорит о принадлежности
классу настольных издательств. При этом всякий раз сле-
дует руководствоваться предположительной сложностью ре-
ализации операции и упомянутым уже классом документов,
при наборе которых она встречается.
Например, можно предположить, что любой форматер
(а также текстовый процессор и настольное издательство)
позволит разместить заголовок посередине строки, "при-
жать" фразу (например, "На правах рукописи") к правой
границе и написать слово в разрядку. Если СПТ умеет ав-
томатически строить оглавление документа, да ещё разме-
щать его как в конце, так и в начале по желанию пользо-
вателя, то это уже не форматер. А если СПТ позволяет
подготовить на экране или включить в документ рисунок,
выполненный другой программой, то независимо от плюсов
и минусов в других графах перечня операций это -
настольное издательство.
Такая классификация удобна пользователю-покупате-
лю. Но и она не отражает сути вопроса, так как разра-
ботчики сложных систем, особенно в процесс развития
удачных версий, стремятся привлечь покупателя "экзоти-
ческими" возможностями. При этом система, как будет по-
казано ниже, не переходит в другой класс, но уловить
это по перечню операций крайне трудно.
Итак, единого классификационного признака нам пока
обнаружить не удалось, но может быть это и не нужно
пользователю, к тому же только начинающему работать и
жаждущему скорее приступить к делу, чем выслушивать
"парламентские прения"? Говорят, "скупой платит дваж-
ды", а конструктивная классификация имеет не абстракт-
ный смысл, но позволяет оценить предполагаемую покупку
не только по красоте упаковки...
3. Форматеры
Сначала, не заботясь о различиях других классов
систем подготовки текстов, попробуем "отсечь" формате-
ры. В словаре можно найти следующие определения:
"Форматер (formatter) - программа или часть систе-
мы подготовки текстов, выполняющая форматирование. См.
тж. text formatting."...
"Text formatting (форматирование текста) - в
системах подготовки текстов - преобразование текста в
вид, в котором он должен печататься: формирование абза-
цев, центрирование заголовков, выравнивание полей, раз-
биение на страницы."...
Можно сказать, что форматером будем называть такую
систему подготовки текстов, которая не использует для
внутреннего представления текста никаких кодов, кроме
стандартных: конец строки, перевод каретки, конец стра-
ницы.
Концепция форматера отнюдь не превращает СПТ в
"неполноценный продукт" - форматер способен выполнять
большинство операций по набору любых текстов, как-то:
переносить слова, выравнивать строки, центрировать за-
головки, делить текст на страницы, нумеровать страницы
(снизу, сверху, справа, слева и даже с учетом четных
(справа) и нечетных (слева) страниц), размещать на каж-
дой странице колонтитулы (стандартную надпись над
текстом каждой страницы), заключать страницу в рамку
ЕСКД с нижним штампом и т.д. Самостоятельно пропуская
строчки на экране как на пишущей машинке, пользователь
может обеспечить сочетание печати в 1 и 2 интервала.
Выше мы предположили, что автоматическое построе-
ние оглавления является сложной операцией, выходящей за
пределы класса форматеров. Оказывается, что и это не
так! Достаточно наложить разумное ограничение, что за-
головок должен начинаться с номера в форме "1.",
"2.3.", "7.2.15.", чтобы форматер выбрал все такие за-
головки из текста и даже разместил их ступенькой по
уровням! Конечно, не каждый форматер умеет делать все
то, что мыслимо в рамках очередного класса. Но подгото-
вить на хорошем форматере даже стостраничный отчет дело
не трудное, и говорить о необходимости только на этом
основании перехода к более сложной (в управлении) СПТ
преждевременно. важно то, что только СПТ-форматер может
выступать в роли редактора текстов, т.е. может с из-
вестными преимуществами редактировать любой программный
текст и не требовать трудозатрат на профессиональное
овладение еще и редактором.
4. Текстовые процессоры
Термин текстовый процессор в словарях отсутствует,
но как уже отмечалось, закрепился в профессиональной
речи, пусть даже как альтернативный перевод word
processor. Если обратиться к словарю, то процессор во
втором значении - это программа, обрабатывающая данные
определенного типа, здесь - типа word, т.е. слов
естесственного языка. Нам этого достаточно, чтобы
использовать это обозначение для именования СПТ, отлич-
ной от форматера.
Текстовым процессором будем называть такую систему
подготовки текстов, которая во внутреннем представлении
снабжает собственно текст специальными кодами - размет-
кой.
И дело тут не только в стремлении обеспечить таким
образом легкое переформатирование текстов (см. выше
обсуждение примера в) ). Специальная разметка (и только
она) дает возможность выполнить некоторые дополнитель-
ные операции, расширяя возможности СПТ.
Например, без внутренней разметки (начала и конца
собственно сноски и места ее в тексте) не выполнить ав-
томатического размещения сносок ни в конце документа,
ни на той же странице. Вернее, без разметки это можно
сделать в окончательном варианте текста, точно разде-
ленного на страницы. Но когда выше по тексту изменится
число строк хотя бы в одном абзаце, все сноски,
сместившиеся в середину страницы, придется восстанавли-
вать вручную.
Не составит труда назвать две самые распространен-
ные операции, которые выполняют только текстовые про-
цессоры - использование в одном документе разных шриф-
тов и разных межстрочных интервалов (например, один и
полтора), так как обе этих операций требуют внутренней
разметки - одна по горизонтали, другая - по вертикали.
Внешний файл, подготовленный текстовым процессо-
ром, можно распечатать только этим же текстовым про-
цессором. Как правило, печать может быть выполнена на
принтере любого типа, в том числе и на лазерном. Но эту
печать, в отличие от машинописного стиля форматера,
можно назвать принтерописью, так как обеспечиваются эф-
фекты, пишущей машинке недоступные.
Таким образом, через понятие внутренней разметки
мы на новом качественном уровне вернулись к интуитивным
определениям классов по набору операций и типу докумен-
тов! Но теперь ясно, что выполнение СПТ в виде формате-
ра, следствием чего является некоторое ограничение
списка операций, само по себе не демонстрирует
"неспособность" разработчиков и не ограничивает возмож-
ности огромного отряда пользователей. Другое дело, что
из тех операций, которые можно реализовать в рамках
каждого из классов, не все реализуются, и как формате-
ры, так и текстовые процессоры бывают простыми, средни-
ми и мощными. А выбирая СПТ, следует ориентироваться не
на мощность в смысле наличия большого числа выполняемых
операций, а на отсутствие лично любимых операций, нап-
ример сносок, размещаемых на той же странице, отказы-
ваться от которых автор в угоду программной системе не
намерен. Тогда лучшим для него может оказаться и
простой текстовый процессор, делающий только эту опера-
цию, а не средство, мощное во всех отношениях, но раз-
мещающее сноски только в конце или в другом стандарте
(например, нумеруя их не цифрами, а числом звездочек).
5. Настольные издательства
Термин настольное издательство (desktop
publishing) в современных словарях не фигурирует. Можно
прочесть, что этот класс программ не относится к
текстовым процессорам. По введенной здесь терминологии
это тоже так, но настольные издательства на ряду с фор-
матерами и текстовыми процессорами относятся к СПТ. По-
добно тому, как текстовые процессоры не являются "раз-
витием" форматеров, настольные издательства не являются
более совершенным продолжением текстовых процессоров,
так как у них совсем иная предметная область.
Стремясь к единому классификационному признаку,
можно полусерьезно заметить: форматеры готовят тексты,
которые безразлично чем и на чем выводить; результаты
работы текстовых процессоров безразлично на чем выво-
дить (но не безразлично чем); тексты из настольных из-
дательств небезразлично даже на чем выводить: принтер
должен быть только лазерным, а на экране - режим
WYSIWYG (англ. What You See Is What You Get - что вижу
(на экране), то и получу (на печати)).
Можно привести и другой классификационный ряд: ма-
шинопись - принтеропись - типографский набор.
"Бытовые" различия типографского набора от принте-
рописи бросаются в глаза при первом же взгляде на кни-
гу, журнал или газету. Шрифты имеют не только иное ка-
чество и меньший размер, но и каждая буква имеет свою
ширину. В результате текст смотрится куда приятнее, чем
при расположении букв строго одна под другой, но и
проблем на много больше. Выключка рассчитывается по бо-
лее сложным алгоритмам, так как все проблемы между сло-
вами после добавления на выключку делаются одинаковой
ширины. По-этому число знаков в выравненных строчках
оказывается различным. А если внутри текста разместить
рамку с текстом или таблицу, то в пределах строки при-
дется иметь несколько границ для выключки и точного
вертикального позиционирования. Проблема режима WYSIWYG
заключается в том, что экраны дисплеев пока не способны
отобразить столько же "точек", сколько лучшие принтеры,
а наборщику нужно видеть с наилучшим приближением, что
он получит в результате сложных видов размещение
текста.
Столь же распространен в типографском деле набор
текста в несколько колонок, при котором заголовки очень
крупными шрифтами проходят над несколькими колонками. И
это нужно размечать, видеть в режиме wysiwyg и печать
на лазерном принтере. Элементами текста могут быть
рисунки, схемы, сложные таблицы с текстом по вертикали
и даже по диагонали. Основной областью применения
настольных издательств является не столько обработка
больших текстов, сколько достижение типографских эффек-
тов. Лучшие текстовые процессоры стремятся и не без
успеха, к обеспечению "бытового" уровня издательского
дела.
Но существует еще и профессиональный уровень кни-
гопечатания, которому несколько веков, только справоч-
ники по которому для различных профессий (верстальщика,
наборщика, корректора, редактора) составляют не один
том, и который в "домашних" условиях не достижим. Для
примера приведем только одно типографское правило: дво-
еточие, точку с запятой и вопросительный знак при печа-
ти кеглем 10-12 отбивают от текста на две полукегельных
шпации, а при наборе кеглем 6-8 - на одну полукегель-
ную...
Всего существует несколько сотен СПТ, от самых
простых до весьма мощных и сложных. Среди наиболее
распространенных в мире редакторов назовем WordPerfect,
Microsoft Word, WordStar, WordStar 2000, XyWrite. Из
этих редакторов в США наиболее распространен
WordPerfect, в Европе и России - Microsoft Word.