Как управлять содержимым заголовка в макросах groff man

Как управлять содержимым заголовка в макросах groff man

Я использую макросы groff man для создания документации общего назначения (не страниц man на самом деле), потому что их легко изучить и использовать. Хотя я хотел бы контролировать заголовок страницы postscript как свободный текст.

Theруководство по groffговорит:

Используйте файл man.local для локальных расширений макросов man или для изменения стиля.

Макрос:.PT

Управление содержимым заголовков. Обычно заголовок печатает имя команды и номер раздела по обеим сторонам, а также необязательный пятый аргумент TH в центре.

Как это сделать на практике?

решение1

Формулировка неясна, но совет заключается в том, чтобы изменить man.localсам файл, а не переопределять макросы, находящиеся в этом файле.

Лучше всего начать с документации:5.21 Написание макросов(Руководство GNU Troff). Это показывает, какопределятьмакросы.

Фактические макросы для изучения сильно зависят от версии. В Debian я нахожу макрос PTв groff-baseпакете, в

/usr/share/groff/1.21/tmac/an-old.tmac

как

.\" Redefine these to customize the header & footer
.
.de1 PT
.  tl '\\*[an-title](\\*[an-section])'\\*[an-extra3]'\\*[an-title](\\*[an-section])'
..

Он передает именованные переменные в качестве первого параметра в .tl. Чтобы увидеть, что .tlесть (grep — ваш друг) и что он делает, требуется некоторая работа (упомянутыйздесь):

Знаете ли вы, что .tl(название) состоит из трех частей: левой, центральной и правой?

С другой стороны, документация groff за эти годы улучшилась: вы можете найти «.tl» виндекс.

Как правило, вы обнаружите, что:

  • большинство макросов (с которыми вы столкнетесь при чтении этих файлов) недокументированы
  • Поиск по списку макросов с помощью grep (grep -wпомогает) — единственный способ найти определенный макрос
  • существуют версии некоторых макросов, специфичные для конкретных устройств, которые переопределяют общие версии

решение2

Если вы хотите получить представление о том, как использовать модифицированные макросы, предназначенные для печати страниц руководства в виде книги, вы можете ознакомиться с макросами, которые используются для печати книг руководства Solaris:

https://sourceforge.net/p/schillix-on/schillix-on/ci/default/tree/usr/src/cmd/troff/troff.d/tmac.d/

Сравните файл "an" с макрофайлом "ansun". Последний используется для печати книг.

Обратите внимание, что это наборы макросов для оригинального troff, а не для клона troff «groff», но если groff совместим, он должен работать.

Связанный контент