Використання самої програми troff

У реальному житті іноді трапляється так, що треба вийти за межі можливостей ms, mm або якогось іншого пакета для того, щоб звернутися до засобів, пропонованим «голої» програмою troff Однак, враховуючи те, що це подібно програмуванню мовою Асемблера, варто звертатися до troff тільки в разі крайньої необхідності і діяти обережно

Можливі три ситуації: доступ до спеціальних символів, зміна шрифту та розміру усередині рядка і кілька базових функцій форматування

Назви символів

Отримати доступ до незвичайних символам: грецьким буквах, таким як π, графічним символам (, † і т д) і безлічі ліній і фігур

нескладно, хоча здійснюється це не надто систематично У кожного такого символу є імя, яке виглядає як \c, Де c– це одиночний символ, або як \ (cd, Де cd – Це пара символів

Програма troff виводить знак мінус з набору ASCII як дефіс -, а не як мінус – Щоб отримати справжній мінус, введіть \ -, а щоб отримати тире, введіть \ (em, що означає «em dash» (довге тире), символ –

У табл 93 перераховані основні спеціальні символи в керівництві по troff їх набагато більше (список спеціальних символів конкретної системи може відрізнятися від представленого)

Таблиця 93 Деякі спеціальні послідовності символів в troff

Послідовність Значення

дефіс

\(hy

дефіс, такий же, як і вище

\–

знак мінус в поточному шрифті

Таблиця 93 (продовження)

Послідовність

Значення

\(mi                –

\(em               —

\&amp

\blank

\|

\e

\(bu

\(dg

\(*a

\fX

\f(XX

\sn

\s±n

знак мінус в математичному шрифті довге тире

ніщо захищає початкову точку пробіл фіксованої ширини фіксований пробіл половинній ширини літеральний символ escape, зазвичай це \ маркер абзацу

хрестик †

α \ (* B = β, \ (* c = ξ, \ (* p = π і т д

зміна шрифту на X X= P – зміна на попередній шрифт

зміна шрифту на XX

зміна на розмір n пунктів n = 0 – попередній відносна зміна розміру в пунктах

Бувають випадки, коли необхідно повідомити troff, що вона НЕ повинна інтерпретувати символ, головним чином це стосується зворотного косою риси і початкової точки Для цього використовуються команди \ e і

\ & Послідовність \ e гарантовано виводить зворотну косу риску, що не інтерпретовану програмою troff, вона використовується, коли треба, щоб вихідні дані містили цей символ А ось \ & –

це абсолютне ніщо, пробіл нульової ширини Основне призначення

цієї послідовності в тому, щоб запобігати інтерпретацію програмою troff точок на початку рядків При наборі даної глави дві зазначені команди використовувалися дуже часто Наприклад, ms-макет сторінки, представлений на початку глави, був введений такий спосіб:

\&amp.TL

.I &quotTitle of  document&quot

\&amp.AU

.I &quotAuthor  name&quot

\&amp.AB

\&amp…

Природно, уривок, наведений вище, був введений як

\e&amp.TL

\&amp.I  &quotTitle of  document&quot

\e&amp.AU

і ви вже можете собі уявити, що, в свою чергу, було введено тут

Ще один час від часу зустрічається спеціальний символ – це фіксований пробіл, символ зворотної косої межі \, за яким слід пробіл Звичайні прогалини troff розтягує, для того щоб вирівняти краю, а фіксований пробіл ніколи не коригується, він сприймається як будь-який інший символ, і його ширину вимірюв няти не можна З його допомогою також можна передати кілька слів як єдиний аргумент:

.I Title\  of\  document

Зміна шрифту і розміру

Більшість змін шрифту і формату реалізуються макросами, діючими з початку рядка, наприклад I, але буває і так, що зміна має бути здійснено всередині рядка Зокрема, символ нової рядка є роздільником слів, тому, якщо треба змінити шрифт в середині слова, то макроси використовувати не можна У цьому підрозділі буде розказано про те, як troff вирішує цю проблему (зверніть увагу, що рішення забезпечує саме troff, а не макропакет ms)

Для представлення команд, що діють усередині рядка (а не з її початку), troff використовує символ зворотної косої межі Дві найпоширеніші команди – це \ f для зміни шрифту і \ s для вимі нения розміру в пунктах

Шрифт вказується в команді \ f символом, безпосередньо наступним за f:

a \fBfriv\fIolous\fR  \fIvar\fBiety\fR of  \fIfonts\fP

виводиться як

a frivolous variety of fonts

Зміна шрифту виду \ fP повертає до попереднього шрифту, яким би він не був (є тільки один попередній шрифт, стековой структури не існує)

Назви деяких шрифтів складаються з двох букв Вони вказуються у форматі \ f (XX, де XX – це назва шрифту Наприклад, шрифт на складальної машині авторів, яким надруковані листинги в цій книзі, називався CW (Courier Constant Width), тому слово keyword вводилося як

\f(CWkeyword\fP

Вводити це досить важко, тому автори додали в ms свій власний макрос CW, і більше їм вже не доводилося вводити і

читати символи зворотної косої межі Цей макрос застосовувався для набору слів, розташованих в середині рядка, наприклад

The

.CW  troff formatter  ..

Форматування, задане макросом, надалі легко можна змінити

Зміна розміру вводиться послідовністю \ sn, Де n – Це одна або дві цифри, що вказують новий розмір: \ s8 перемикає на розмір в 8 пунктів Можна задати і відносна зміна розміру, для цього перед цифрою ставиться знак плюс або мінус Наприклад, щоб вивести слова «капітеллю» (SMALL CAPS)

\s–2SMALL  CAPS\s0

\ S0 викликає повернення розміру до його попереднього значення Ця команда є аналогом \ fP, але, дотримуючись традицій troff, не називається \ sP Розширення ms, реалізоване авторами книги, містить макрос UC (upper case – верхній регістр) для виконання цієї роботи

Основні команди troff

Життєвий досвід показує, що навіть за наявності хорошого макропакет необхідно знати декілька команд troff для контролю над заповненням і інтервалами, розстановкою знаків табуляції та т д Команда Br викликає розрив, тобто фрагмент вхідних даних, сліду ющий за br, зявиться у виведенні на новому рядку Таку можливість використовують, наприклад, щоб розділити довгу назву на частини в потрібному місці:

.TL

Hoc – An  Interactive Language

.br

For  Floating Point  Arithmetic

Команда Nf вимикає режим звичайного заповнення рядків виводу кожна рядок введення переходить безпосередньо в один рядок виводу Команда Fi включає режим заповнення назад Команда Ce центрує наступний рядок

Команда Bp починає нову сторінку Команда Sp викликає появу у виведенні порожнього рядка Для команди Sp може бути вказаний аргумент, що задає кількість порожніх рядків або розмір пустого простий ранства

.sp  3                              Залишити 3 рядки прогалин

.sp  5                         Залишити піврядка прогалин

.sp  15i                     Залишити 1,5 дюйма

.sp  3p                            Залишити 3 пункту

.sp  31c                         Залишити 3,1 сантиметра

Додатковий простір внизу сторінки ігнорується, так що

. Sp з великим аргументом еквівалентна Bp

Команда Ta розставляє крапки табуляції (спочатку встановлені через півдюйма)

.ta  n n n  ..

Вищенаведена команда встановлює точки табуляції на ука занном відстані від лівого краю як і в команді sp, кожне число n вказується в дюймах, якщо за ним стоїть буква «i» Точка табуляції з суфіксом R вирівняє текст по правому краю (у наступній точці), а суфікс C викличе центрування

Команда Psn встановлює розмір кегля рівним n команда ft X задає шрифт X Правила, що стосуються збільшення розміру і повернення до попереднього значення, аналогічні описаним для команд

\ S і \ f

Визначення макросів

Спроби охопити всі аспекти визначення макросів можуть завести в такі лабіринти troff, що звідти нам буде вже не вибратися, тому зупинимося тільки на основних ідеях Наприклад, ось визначення макросу CW:

.de CW                                                 Початок визначення

\&amp\f(CW\\\fP\\

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*