Главная » Программирование для UNIX » Другие средства подготовки документов для программ UNIX

0

Есть и другие программы, способные помочь в подготовке документов. Команда refer(1) ищет  ссылки по  ключевым словам, вносит в документ  цитаты (внутрь строк) и организует раздел ссылок в конце доку мента. Определив соответствующие макросы, можно добиться, чтобы  refer выводила ссылки именно так, как вам  нужно. Уже  существуют готовые определения для ряда компьютерных журналов. Команда re– fer входит в седьмую версию, но не включена в состав  некоторых других версий системы.

Команды pic(1) и ideal(1) делают для иллюстраций то, что eqn делает для  формул.  Картинки представляют собой  гораздо  бoльшую  сложность, чем формулы (по крайней мере, для наборной машины), к тому же, не существует традиционных способов речевого описания картинок, поэтому для изучения и применения этих  двух  языков необходимо потрудиться.

.TH  HOC  1

.SH  NAME

hoc \–  interactive floating  point  language

.SH  SYNOPSIS

.B hoc

[ file … ]

.SH  DESCRIPTION

.I Hoc

interprets a  simple  language  for  floating  point arithmetic, at  about  the  level of  BASIC,  with  C–like  syntax  and functions and  procedures with  arguments  and  recursion.

.PP

The named

.IR  file s

are  read  and interpreted in  order.

If no

.I file

is given  or  if

.I file is `\–’

.I hoc

interprets the  standard input.

.PP

.I Hoc

input consists  of

.I  expressions and

.IR  statements  .

Expressions are  evaluated and  their  results printed. Statements,  typically assignments and function  or  procedure  definitions, produce  no output   unless they  explicitly  call

.IR  print .

.SH  "SEE  ALSO"

.I

Hoc \–  An  Interactive  Language for  Floating Point  Arithmetic by Brian  Kernighan  and Rob  Pike.

.br

.IR  bas  (1),

.IR  bc (1)  and

.IR  dc (1).

.SH  BUGS

Error  recovery  is  imperfect within  function and  procedure  definitions.

.br

The treatment  of  newlines  is not  exactly  user–friendly.

Рис. 9.1. /usr/man/man1/hoc.1

HOC(1)                                                                                                       HOC(1)

NAME

hoc – interactive floating point language

SYNOPSIS

hoc [ file … ]

DESCRIPTION

Hoc interprets a simple language for floating point arithmetic, at about the level of BASIC, with C-like syntax and functions  and pro cedures with arguments and recursion.

The named files are  read and  interpreted in order. If no file is given or if file is ‘–’ hoc interprets the  standard input.

Hoc  input consists of expressions and statements. Expressions are  evaluated and  their   results printed.   Statements,  typically assignments and function or procedure definitions, produce no output unless they explicitly call

SEE ALSO

Hoc  – An  Interactive Language for Floating Point  Arithmetic  by Brian Kernighan and Rob Pike.

bas(1), bc(1) and dc(1).

BUGS

Error recovery is  imperfect  within function and procedure definitions.

The treatment of newlines is not exactly user-friendly.

Рис. 9.2. hoc(1)

Чтобы получить  минимальное  представление  о  pic,  посмотрите на простую иллюстрацию (рис.  9.3) и на ее представление в pic.

.PS

.ps –1

box  invis  "document";  arrow box  dashed  "pic";  arrow

box  dashed  "tbl";  arrow box  dashed  "eqn";  arrow box  "troff";  arrow

box  invis  "typesetter"

[  box  invis  "macro"  "package"

spline right then  up –> ] with  .ne  at 2nd last  box.s

.ps   +1

.PE

Все рисунки в этой  книге сделаны при  помощи pic. В состав  седьмой версии pic и ideal не входят, но сейчас они уже общедоступны.

Рис. 9.3. Последовательность обработки документа

И  refer, и pic, и ideal представляют собой  препроцессоры troff.  Существуют также  программы, которые просматривают  документы  и анализируют их на предмет всяких малоинтересных вещей. Самой известной из  них  является программа spell(1), информирующая о возможных  орфографических ошибках в файлах; авторы  данной книги все время ее используют. Команды style(1) и diction(1) анализируют пунктуацию, грамматику и стилистику. На  базе  этих  программ был создан Writer’s Workbench (инструментальные средства автора) – набор  программ,  помогающих  усовершенствовать стиль.  Программы Writer’s  Workbench удобно  применять для  распознавания речевых штампов, слов-паразитов и фраз, дискриминирующих женщин.

Программа spell является стандартной. Остальные могут  присутствовать в конкретной системе, а могут и не присутствовать, это легко проверить с помощью man:

$ man  style diction  wwb

или же можно просмотреть содержимое /bin и /usr/bin.

История и библиография

Программа troff, написанная покойным Джо Оссанной (Joe  Ossanna) для  наборной машины  Graphics Systems CAT-4,  имеет  богатую родословную, восходящую к RUNOFF, которая была написана Д. Е. Зальтцером  (J. E. Saltzer) для совместимых систем с разделением времени в Массачусетском технологическом институте в  начале шестидесятых годов.  Основные принципы этих  программ похожи, как и синтаксис их команд, но troff, без сомнения, самая сложная и мощная из них, а наличие eqn и других препроцессоров делает ее существенно более полезной. Есть и более новые  наборные программы с более цивилизованным  форматом  ввода. Самыми известными являются  TeX  Дональда Кнута (Donald Knuth) («TeX  and Metafont: New Directions in Typeset-

ting» (TeX и Metafont: новые  направления в наборе  текста), издано Digital Press в 1979 году1) и Scribe Брайана Рейда (Brian Reid) («Scribe: a high-level approach to computer docu-ment formatting» (Scribe: высокоуровневый подход  к форматированию компьютерного документа), 7th Symposium on the  Principles of ProgrammingLanguages, 1980). Доклад

«Document Formatting Systems: Survey, Concepts and Issues» (Системы форматирования документов: обзор,  концепции и проблемы) Ричарда Фуруты (Richard Furuta), Джеффри Скофилда (Jeffrey Scofield) и Ала на  Шоу  (Alan  Shaw)  («Computing Surveys», сентябрь 1982  года)  предоставляет обзор исследований в данной области.

Первая статья об eqn «A system for  typesetting mathematics»  (Система для  набора математических выражений), CACM, март  1975 года была  написана Брайаном Керниганом (Brian Kernighan) и Лориндой Черри (Lorinda Cherry). Макропакет ms, программы tbl и refer созданы Майком Леском (Mike Lesk); информация по ним представлена только в томе 2А справочного руководства по UNIX.

Программа pic описана в статье «PIC  – a language for typesetting graphics» (PIC – язык для набора графики) Брайана Кернигана, изданной в

«Software-Practice and Experience» в январе 1982 года. Программа ide– al представлена в работе «A high-level language for describing pictures» (Язык высокого уровня для  описания изображений) Криса Ван  Вика

(Chris Van Wyk)  («ACM Transactions on Graphics», апрель 1982  года).

Команда spell превратилась из  командного файла, написанного Стивом  Джонсоном (Steve  Johnson)  в программу на  Си Дага  Мак-Илроя (Doug  McIlroy). В седьмой версии spell использует механизм хеширования для  быстрого просмотра и  набор  правил для  автоматического удаления суффиксов и префиксов, позволяющий хранить небольшой словарь. См. статью Дага  Макилроя Development of a spelling list (Разработка словаря для  проверки орфографии), «IEEE Transactions  on Communications», январь 1982  года.

Программы style и diction описаны в статье «Computer aids for writers» (Компьютерные  вспомогательные средства для писателей)  Лоринды Черри (SIGPLAN Symposium on Text Manipulation, Портленд, Орегон, июнь 1981 года).

1        По системе TeX доступна литература и на русском языке. Хотелось бы обратить  внимание читателя на две книги, которые можно использовать и как ученые пособия, и как прекрасные справочники по TeX:  Кнут. Д. E. «Все про TeX». – Протвино: АО RDTeX, 1993 и Гусенс М., Миттельбах Ф., Самарин А. «Путеводитель по пакету LaTeX  и его расширению LaTeX  2e».  – М.: Мир,  1999. – Примеч. науч. ред.

Источник: Керниган Б., Пайк Р., UNIX. Программное окружение. – Пер. с англ. – СПб: Символ-Плюс, 2003. – 416 с., ил.

По теме:

  • Комментарии