Язык программирования PostScript


Язык программирования PostScript - стр. 39


лигатурой. TeX делает такую замену автоматически, избавляя вас
от зануднейшей работы.
 
     Второй пример  связан  с алгоритмом выравнивания строк по
правому краю.  Нет,  речь пойдет не о том, что TeX растягивает
все  промежутки  между  словами  вместо того,  чтобы вставлять
пробелы фиксированного размера - это  само  собой  разумеется.
Интереснее  то,  что  TeX  выравнивает  текст  сразу для целых
абзацев,  а не для отдельных строк. Таким образом, завершающая
строка  абзаца  может  повлиять  на  разбивку  первой  строки.
Разумеется,  такой алгоритм дает гораздо более  однородное  (в
смысле   отношения  длины  строки  к  длине  пробелов  в  ней)
разбиение. Ну и конечно возможен автоматический перенос слов -
для этого TeX располагает набором правил переноса.
 
     Еще одно  существеннейшее  отличие  TeX-а  состоит  в его
макроязыке.  Собственно говоря, сам TeX понимает "всего" около
300 команд, причем команды эти весьма низкого уровня. Зато вам
предоставляются  практически  неограниченные  возможности   по
расширению  набора  команд.  Макроязык TeX-а является одним из
мощнейших макроязыков вообще (а не только среди форматоров). В
него        включены        несколько       типов       данных
(типографски-ориентированных); возможно использование основных
управляющих  операторов  (если  то,  циклов и т.д.).  В полном
объеме   включены   блоки   (с   локальными   и    глобальными
объявлениями).  Для  задания  параметров  в  макровызове может
использоваться  практически   любой   синтаксис.   Допускается
сконструировать имя макроса как строку,  а потом вызвать его и
т.д.
 
     На этом языке Кнут  написал  около  600  команд,  которые
вместе с примитивами составляют словарь "базового" (plain) TeX
-а.  На самом деле,  примитивы в реальной  жизни  используются
редко,  поскольку  они уж слишком примитивны.  Поэтому обычно,
когда  говорят  "TeX",  имеют  в  виду  базовый   (т.е.,   уже
содержащий 600 макрокоманд!) TeX.



- Начало -  - Назад -  - Вперед -