Texinfo ("The first syllable of «Texinfo» is pronounced like «speck», not «hex»" — из руководства по Texinfo) — свободная система документирования и язык разметки, позволяющие создавать документы в разных форматах из одного исходного текста. Texinfo — часть проекта GNU.
Описание системы
Исходные файлы Texinfo-документов представляют собой простой текст, размеченный при помощи специальных команд, начинающихся со знака @ (например, @contents или @titlepage). Файлы Texinfo обычно имеют расширение .texi, реже .txi.
При помощи утилит makeinfo, texi2dvi и texi2pdf, входящих в Texinfo, из исходных файлов генерируется документация в форматах:
info, гипертекстовый формат структурированных документов HTML PDF DVI DocBook XML; XML-вывод makeinfo практически никак не изменяет представление документа, лишь перенося разметку Texinfo в термины XML простой текст
Texinfo использует TeX для генерации печатных форматов файлов, преобразовывая @-команды Texinfo в управляющие структуры TeX.
Язык Texinfo
В состав языка разметки Texinfo входят команды логического структурирования и выделения текста, создания оглавлений, ссылок, предметного указателя, вставки таблиц. Поскольку Texinfo позволяет получать документацию в разных форматах, есть команды условного включения текста для каждого из выходных форматов.
Пример документа
Вот небольшой документ, размеченный при помощи Texinfo.
\input texinfo @setfilename test.info @documentencoding UTF-8
@settitle Foo Compiler
@copying Copyright © 2007 Hacker Publishing @end copying
@titlepage @title Foo Compiler @subtitle «A new word in compiler development» @author J. Random Hacker
@vskip 0pt plus 1filll @insertcopying @end titlepage
@headings off
@contents
@ifnottex @node Top @top Foo Compiler @insertcopying @end ifnottex
@menu * Introduction:: * Second Chapter:: @end menu
@node Introduction @chapter How it all began
@cindex intro This is an introductionary chapter.
@node Second Chapter @chapter Second Chapter
This is Texinfo sample document.
@node Concept Index @unnumbered Concept Index @printindex cp
@bye
Страницы man и Texinfo
Texinfo провозглашается как система для создания больших, развёрнутых руководств (например, документирования библиотек), в то время как традиционная область использования man-страниц — компактные справочные документы. В руководстве по Texinfo утверждается, что формат man несопоставим с крупными Texinfo-источниками «…generating a good man page requires a completely different source than the typical Texinfo applications…» — из руководства по Texinfo в плане удобства восприятия информации. В дистрибутив Texinfo поэтому не входит утилит для создания man-страниц из файлов Texinfo. Предлагается использовать утилиту help2man для автогенерации страниц man.
Проекты, использующие Texinfo
Texinfo широко применяется для документирования программ GNU. В их числе GCC и GDB, GNU libc, GNU Emacs (включая Gnus), Bash, GNU Octave, Autotools, Guile, GRUB.
См. также Docbook
Ссылки Домашняя страница Texinfo
Примечания
Категория:Программное обеспечение проекта GNU Категория:TeX Категория:Техническая документация