Texinfo

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


1. Опис системи

Приклад документа, підготовленого за допомогою 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.


2. Мова Texinfo

До складу мови розмітки Texinfo входять команди логічного структурування і виділення тексту, створення змістів, посилань, предметного покажчика, вставки таблиць. Оскільки Texinfo дозволяє отримувати документацію в різних форматах, є команди умовного включення тексту для кожного з вихідних форматів.

2.1. Приклад документа

Ось невеликий документ, розмічений за допомогою 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 

3. Сторінки man і Texinfo

Texinfo проголошується як система для створення великих, розгорнутих керівництв (наприклад, документування бібліотек), в той час як традиційна область використання man -сторінок - компактні довідкові документи. У керівництві по Texinfo стверджується, що формат man непорівнянний з великими Texinfo-джерелами [2] в плані зручності сприйняття інформації. В дистрибутив Texinfo тому не входить утиліт для створення man-сторінок з файлів Texinfo. Пропонується використовувати утиліту help2man [3] для автогенерації сторінок man.


4. Проекти, що використовують Texinfo

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