Основы информатики

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. ¦
¦

«