- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
UNIX — универсальная среда программирования - Брайан Керниган
Шрифт:
Интервал:
Закладка:
.PP
...
Команды форматирования могут появиться в начале строки. Входной текст между командами размещается в произвольной форме: расположение концов строк в нем не существенно, так как troff переносит слова с одной строки на другую, чтобы сделать строки более полными (процесс, называемый заполнением), и расставляет дополнительные пробелы между словами, чтобы выровнять границы (выравнивание). Тем не менее начинать каждое предложение с новой строки считается хорошим стилем; это облегчает последующее редактирование.
Ниже показано начало непосредственного документа hoc:
.TL
Hoc - диалоговый язык для арифметики с плавающей точкой
.AU
Брайан Керниган
Роб Пайк
.AB
.I Hoc
это простой программируемый интерпретатор
для выражений с плавающей точкой.
Он обеспечивает поток управления в стиле Си,
определения функций и обычные
числовые встроенные функции,
такие как косинус и логарифм.
.AE
.NH
Выражения
.PP
.I Hoc
Это язык выражений, во многом подобный Си:
хотя он содержит несколько управляющих операторов,
большинство операторов, таких как присваивания,
это выражения, чьи значения не принимаются
во внимание.
...
Команда .I выделяет свой аргумент курсивом или переключает шрифт на курсив, если аргумента нет.
При использовании пакета макроопределений он специфицируется как аргумент troff:
$ troff -ms hoc.ms
Символы после -m определяют пакет макроопределений.[17] После форматирования с помощью ms документ hoc выглядит так:
Hoc — диалоговый язык для арифметики с плавающей точкойБрайан Керниган
Роб Пайк
РЕЗЮМЕ
Hoc — это простой программируемый интерпретатор для выражений с плавающей точкой. Он обеспечивает поток управления в стиле Си, определения функций и обычные числовые встроенные функции, такие как косинус и логарифм.
1. ВыраженияHoc — это язык выражений, во многом подобный Си; хотя он содержит несколько управляющих операторов, большинство операторов, таких как присваивания, это выражения, чьи значения не принимаются во внимание.
ОтображенияХотя нам и удобно, что troff осуществляет заполнение и выравнивание текста, иногда нежелательно, в частности для программ, выравнивать их границы. Такое форматированное представление называется отображением текста. Команды ms .DS (начало отображения) и .DE (конец отображения) ограничивают текст, благодаря чему он выводится с отступами, но без реорганизации. Посмотрите на следующий фрагмент руководства по hoc, включающий короткое отображение:
.PP
.I Hoc
Это язык выражений,
во многом подобный Си:
хотя он содержит несколько управляющих операторов,
большинство операторов, таких как присваивания,
это выражения, чьи значения не принимаются во внимание.
Например, оператор присваивания
= присваивает значение его правой части
его левому операнду и вырабатывает значение,
используемое в многократном присваивании.
Грамматика выражений такова:
.DS
.I
выражение: число
| переменная
| (выражение)
| выражение бинарная-операция выражение
| унарная-операция выражение
| функция(аргументы)
.R
.DE
Числа представляются с плавающей точкой.
Данный фрагмент печатается так:
Hoc — это язык выражений, во многом подобный Си; хотя он содержит несколько управляющих операторов, большинство операторов, таких как присваивания, — это выражения, чьи значения не принимаются во внимание. Например, оператор присваивания = присваивает значение своей правой части левому операнду и вырабатывает значение, используемое в многократном присваивании. Грамматика выражений такова:
выражение: число
| переменная
| (выражение)
| выражение бинарная_операция выражение
| унарная_операция выражение
| функция (аргументы)
Числа представляются с плавающей точкой.
Текст внутри отображения не является ни нормально заполненным, ни выравненным. Далее, если места на текущей странице не хватает, отображаемый материал (и все, что за ним следует) переносится на следующую страницу. Команда .DS обеспечивает несколько флагов, включая L для левого выравнивания, С для индивидуальной центровки каждой строки и В для центровки всего отображения.
Фрагменты текста в приведенном выше отображении разделены символами табуляции. По умолчанию символы табуляции troff ставятся через каждые полдюйма, а не через восемь пробелов, как обычно. Даже если бы эти символы вставлялись через каждые восемь пробелов, символы табуляции, обрабатываемые troff, не всегда бы появлялись там, где нужно из-за их переменной ширины.
Смена шрифтаМакроопределения ms обеспечивают три команды смены шрифта. Команда .R меняет шрифт на латинский (обычный), .I устанавливает курсив, а .B — жирный шрифт:
Этот текст обычный,
.I
это курсив
.R
это снова обычный, а
.B
это жирный шрифт.
При выполнении команд приведенный выше текст превращается в следующий:
Этот текст обычный, это курсив, это снова обычный, а это жирный шрифт.
Команды .I и .В воспринимают возможные аргументы, причем смена шрифта относится только к аргументу. В troff аргументы, содержащие пробелы, должны быть экранированы, и единственным символом для такой операции служит двойная кавычка ".
Это обычный текст, но
.I - это
курсив, а
.В "эти слова"
напечатаны жирным шрифтом.
Данный текст печатается так:
Это обычный текст, но — это курсив, а эти слова напечатаны жирным шрифтом.
В конечном счете второй аргумент для .I или .B, напечатанный обычным шрифтом, добавляется без пробелов к первому аргументу. Это средство широко используется при выборе шрифта для пунктуации. Обратите внимание на последнюю скобку фразы
(взятые в скобки
.I "слова курсивом)"
которая печатается неверно в виде
(взятые в скобки слова курсивом)
и сравните ее с фразой
(взятые в скобки
.I "слова курсивом")
которая печатается верно как
(взятые в скобки слова курсивом)
Различные шрифты распознаются программой nroff, но результат оставляет желать лучшего. Символы курсива подчеркнуты и нет жирных литер, хотя некоторые версии nroff изображают жирный шрифт двойной печатью.
Смешанные командыСноски вводятся с помощью .FS и заканчиваются .FE. Ваше дело определить метку (сноску) в виде звездочки * или крестика †. Такая сноска создается следующим образом:
определяющая метка типа звездочки или крестика. (dg
.FS
(dg подобно этому .FE
Эта сноска была создана с помощью ...
Выделенные отступом абзацы, возможно с использованием номера или другой пометки на границе, создаются командой .IP. Сделаем следующее:
1. Первый небольшой абзац.
2. Второй абзац, который мы удлиняем, чтобы показать, что отступ во второй строке будет таким же, как в первой.
Для этого нужен такой входной текст:
.IP(1)
Первый небольшой абзац.
.IP(2)
Второй абзац ...
Команды .PP или .LP (выравненный слева абзац) завершают дело, начатое командой .IP. Аргументом .IP может быть любая строка: введите кавычки, а при необходимости и пробелы. Второй аргумент можно использовать, чтобы определить значение отступа.
Когда вы работаете с парой команд .KS и .KE, текст должен быть размещен в одном месте; текст, заключенный между этими командами, будет перенесен на новую страницу, если он не разместится весь на текущей странице. Заменив .KS на .KF, вы можете передвинуть текст за последующий текст в верхнюю часть следующей страницы (если его необходимо поместить на одной странице). Все таблицы в книге построены с помощью .KF.

