Введение

Программное обеспечение для типографского набора в Unix, используемое для страниц руководства (man pages).

groff (произносится /ˈdʒiːrɒf/ JEEroff, также называемый GNU troff) — это система типографского набора, которая генерирует форматированный вывод на основе обычного текста с командами форматирования. Это замена GNU для форматировщиков текста troff и nroff, которые, в свою очередь, были разработаны на основе оригинального roff. Groff включает в себя большое количество вспомогательных программ, препроцессоров и постпроцессоров, таких как eqn, tbl, pic и soelim. Также в состав входят несколько макропакетов, которые дублируют, расширяют или полностью заменяют стандартные макропакеты troff. Разработка новых функций для groff активно ведется, и он является важной частью свободных операционных систем с открытым исходным кодом и систем, основанных на UNIX, таких как Linux и производные 4.4BSD, особенно потому, что макросы troff используются для создания страниц руководства — стандартной формы документации в Unix и Unix-подобных системах. OpenBSD заменила groff на mandoc в базовой установке, начиная с версии 4.9, как и macOS Ventura.

История

groff — оригинальная реализация, написанная преимущественно на C++ Джеймсом Кларком и созданная по образу ditroff, включая множество расширений. Первая версия, 0.3.1, была выпущена в июне 1990 года. Первая стабильная версия, 1.04, была объявлена в ноябре 1991 года. groff разрабатывался как свободное программное обеспечение, чтобы предоставить легкодоступную замену стандартному пакету AT&T troff/nroff, который в то время был проприетарным и не всегда был доступен даже на коммерческих UNIX-системах. В 1999 году Вернер Лемберг и Тед Хардинг взяли на себя поддержку и развитие groff.