Texinfo (рус. Текинфо[2]) — свободная система документирования и язык разметки, позволяющие создавать документы в разных форматах из одного исходного текста. Texinfo — часть проекта GNU.
Texinfo | |||
---|---|---|---|
Тип | Система документирования | ||
Разработчик | Ричард Столлман | ||
Написана на | Си | ||
Операционная система | GNU | ||
Первый выпуск | февраль 1986 | ||
Последняя версия |
|
||
Репозиторий | git.savannah.gnu.org/cgi… | ||
| |||
Лицензия | GPLv3 | ||
Сайт | gnu.org/software/texinfo | ||
Медиафайлы на Викискладе |
Описание системы
правитьИсходные файлы Texinfo-документов представляют собой простой текст, размеченный при помощи специальных команд, начинающихся со знака @
(например, @contents
или @titlepage
). Файлы Texinfo обычно имеют расширение .texi
, реже .txi
.
При помощи утилит makeinfo
, texi2dvi
и texi2pdf
, входящих в Texinfo, из исходных файлов генерируется документация в форматах:
- info, гипертекстовый формат структурированных документов
- HTML
- 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-источниками [3] в плане удобства восприятия информации. В дистрибутив Texinfo поэтому не входит утилит для создания man-страниц из файлов Texinfo. Предлагается использовать утилиту help2man[4] для автогенерации страниц man.
Проекты, использующие Texinfo
правитьTexinfo широко применяется для документирования программ GNU. В их числе GCC и GDB, GNU libc, GNU Emacs (включая Gnus), Bash, GNU Octave, Autotools, Guile, GRUB.
См. также
правитьСсылки
правитьПримечания
править- ↑ Smith G. Texinfo 7.1.1 released — 2024.
- ↑ "The first syllable of «Texinfo» is pronounced like «speck», not «hex»" — из руководства по Texinfo
- ↑ «…generating a good man page requires a completely different source than the typical Texinfo applications…» — из руководства по Texinfo
- ↑ Домашняя страница help2man . Дата обращения: 19 августа 2007. Архивировано 21 августа 2007 года.