Texinfo

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Texinfo
Тип Система документирования
Операционная система GNU
Лицензия GPLv3
Сайт gnu.org/software/texinfo

Texinfo (рус. Текинфо[1]) — свободная система документирования и язык разметки, позволяющие создавать документы в разных форматах из одного исходного текста. Texinfo — часть проекта GNU.

Описание системы

Пример документа, подготовленного при помощи Texinfo.

Исходные файлы 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-источниками [2] в плане удобства восприятия информации. В дистрибутив Texinfo поэтому не входит утилит для создания man-страниц из файлов Texinfo. Предлагается использовать утилиту help2man[3] для автогенерации страниц man.

Проекты, использующие Texinfo

Texinfo широко применяется для документирования программ GNU. В их числе GCC и GDB, GNU libc, GNU Emacs (включая Gnus), Bash, GNU Octave, Autotools, Guile, GRUB.

См. также

Ссылки

Примечания

  1. "The first syllable of «Texinfo» is pronounced like «speck», not «hex»" — из руководства по Texinfo
  2. «…generating a good man page requires a completely different source than the typical Texinfo applications…» — из руководства по Texinfo
  3. Домашняя страница help2man. Дата обращения: 19 августа 2007. Архивировано 21 августа 2007 года.