texi2html.texi 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. \input texinfo @c -*-texinfo-*-
  2. @c
  3. @c This is the ``Texinfo to HTML Converter'' manual which
  4. @c which is part of the ``texi2html'' distribution.
  5. @c
  6. @c License:
  7. @c Copyright (C) 1999, 2000 Free Software Foundation, Inc.
  8. @c
  9. @c This program is free software; you can redistribute it
  10. @c and/or modify it under the terms of the GNU General Public
  11. @c License as published by the Free Software Foundation;
  12. @c either version 2 of the License, or (at your option) any
  13. @c later version.
  14. @c
  15. @c This program is distributed in the hope that it will be
  16. @c useful, but WITHOUT ANY WARRANTY; without even the implied
  17. @c warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  18. @c PURPOSE. See the GNU General Public License for more
  19. @c details.
  20. @c
  21. @c You should have received a copy of the GNU General
  22. @c Public License along with this program; if not, write to
  23. @c the Free Software Foundation, Inc., 59 Temple Place, Suite
  24. @c 330, Boston, MA 02111-1307 USA
  25. @c
  26. @c
  27. @c Revisions:
  28. @c
  29. @c
  30. @c Author:
  31. @c Karl Heinz Marbaise <khmarbaise@gmx.de>
  32. @c
  33. @c --------------------------------------------------------
  34. @c
  35. @c Currently most of the material is copied out of
  36. @c texi2html.init file. It's just a start point.
  37. @c In other words this is a draft manual ;-)
  38. @c
  39. @setfilename texi2html.info
  40. @c --------------------------------------------------------
  41. @c Edition and last update date of the manual which might
  42. @c differ to the scripts last update date etc.
  43. @set MANUAL_UPD 14. August 2000
  44. @set MANUAL_ED 0.21
  45. @c
  46. @set MANUAL_AUTHOR Karl Heinz Marbaise
  47. @set MANUAL_AUTHOR_EMAIL khmarbaise@@gmx.de
  48. @c
  49. @c Get the version of the script itself through
  50. @c configure/autoconf etc.
  51. @c version.texi is automatically generated through
  52. @c configure/autoconf.
  53. @include version.texi
  54. @c --------------------------------------------------------
  55. @c Index for command line options
  56. @defcodeindex op
  57. @c --------------------------------------------------------
  58. @settitle Texinfo to HTML
  59. @c @setchapternewpage on
  60. @setchapternewpage odd
  61. @footnotestyle separate
  62. @ifset shorttitlepage-enabled
  63. @shorttitlepage Texinfo to HTML
  64. @end ifset
  65. @c --------------------------------------------------------
  66. @c support old style Info Dir entries.
  67. @ifset OLDSTYLE-INFO-DIR
  68. @ifinfo
  69. @format
  70. START-INFO-DIR-ENTRY
  71. * Texi2html: (texi2html). Texinfo 2 HTML Converter (texi2html).
  72. END-INFO-DIR-ENTRY
  73. @end format
  74. @end ifinfo
  75. @end ifset
  76. @c --------------------------------------------------------
  77. @c Informations for install-info.
  78. @c I think the conversion script should be found
  79. @c where the documentation system lives.
  80. @c What do you think?
  81. @dircategory Texinfo documentation system
  82. @direntry
  83. * Texi2html: (texi2html). Texinfo to HTML Converter.
  84. @end direntry
  85. @c --------------------------------------------------------
  86. @ifinfo
  87. This file documents the texi2html script which converts
  88. Texinfo into HTML.
  89. Copyright (C) 1999, 2000 Free Software Foundation, Inc.
  90. This edition is for texi2html version @value{VERSION},
  91. @value{UPDATED}.
  92. Permission is granted to make and distribute verbatim
  93. copies of this manual provided the copyright notice and
  94. this permission notice are preserved on all copies.
  95. @ignore
  96. Permission is granted to process this file through TeX and
  97. print the results, provided the printed document carries
  98. copying permission notice identical to this one except for
  99. the removal of this paragraph (this paragraph not being
  100. relevant to the printed manual).
  101. @end ignore
  102. Permission is granted to copy and distribute modified
  103. versions of this manual under the conditions for verbatim
  104. copying, provided that the entire resulting derived work is
  105. distributed under the terms of a permission notice
  106. identical to this one.
  107. Permission is granted to copy and distribute translations
  108. of this manual into another language, under the above
  109. conditions for modified versions, except that this
  110. permission notice may be stated in a translation approved
  111. by the Free Software Foundation.
  112. @end ifinfo
  113. @c --------------------------------------------------------
  114. @titlepage
  115. @title Texinfo to HTML Converter
  116. @subtitle Manual Edition @value{MANUAL_ED}
  117. @subtitle Last Update: @value{MANUAL_UPD}
  118. @subtitle for Version @value{VERSION} of @command{texi2html} script.
  119. @author Lionel Cons
  120. @author Karl Berry
  121. @author Olaf Bachmann
  122. @author and many others.
  123. @author Karl Heinz Marbaise (manual)
  124. @page
  125. @vskip 0pt plus 1filll
  126. Copyright @copyright{} Lionel Cons@*
  127. Copyright @copyright{} Karl Berry@*
  128. Copyright @copyright{} Olaf Bachmann@*
  129. Copyright @copyright{} and many others.@*
  130. Copyright @copyright{} Karl Heinz Marbaise (manual)@*
  131. Permission is granted to make and distribute verbatim
  132. copies of this manual provided the copyright notice and
  133. this permission notice are preserved on all copies.
  134. Permission is granted to copy and distribute modified
  135. versions of this manual under the conditions for verbatim
  136. copying, provided that the entire resulting derived work is
  137. distributed under the terms of a permission notice
  138. identical to this one.
  139. Permission is granted to copy and distribute translations
  140. of this manual into another language, under the above
  141. conditions for modified versions, except that this
  142. permission notice may be stated in a translation approved
  143. by the Free Software Foundation.
  144. @sp 2
  145. Cover art by Etienne Suvasa.
  146. @end titlepage
  147. @c ========================================================
  148. @summarycontents
  149. @contents
  150. @c
  151. @ifnottex
  152. @node Top, Overview, (dir), (dir)
  153. @top Texi2html
  154. @c @page
  155. @c ========================================================
  156. @c @node Top, Overview, (dir), (dir)
  157. @c @top
  158. @c @chapter About
  159. This Manual (Edition @value{MANUAL_ED}, last updated at
  160. @value{MANUAL_UPD}) describes the @command{texi2html} Perl
  161. script which converters
  162. @c The following construct allows me to get
  163. @c real URL link in HTML and working refs in
  164. @c info.
  165. @ifhtml
  166. @uref{http://www.texinfo.org,Texinfo}
  167. @end ifhtml
  168. @ifnothtml
  169. Texinfo (@pxref{Top,,Texinfo,Texinfo})
  170. @end ifnothtml
  171. into @acronym{HTML}.
  172. @c @inforef{Top, Top, Texinfo} does not work yet ;-)
  173. @c here we should paste a @inforef or @xref on the
  174. @c Texinfo manual.
  175. Please send bug reports about this manual to Karl Heinz
  176. Marbaise @email{khmarbaise@@gmx.de}. Please state exact
  177. version/edition of the manual (can be found at start of
  178. Texinfo source file; use the entry Id under Revisions).
  179. Please note:
  180. @example
  181. This manual is currently under
  182. construction and of course incomplete ;-)
  183. @end example
  184. @c The following line within a menu does not work!
  185. @c * Why texi2html and not Makeinfo?:whytexi2html. Why texi2html and not makeinfo?.
  186. @ifinfo
  187. @menu
  188. @c * MenuName:NodeName. Description.
  189. * Overview:: Overview about @command{texi2html}.
  190. * Installation:: Installation process.
  191. * Customizing:: Customizing.
  192. * CustomizingExpand:: Customizing what gets expanded.
  193. * CustomizingPage:: Customizing page layout.
  194. * CustHTML:: Customizing HTML.
  195. * InitFile:: Initialization files.
  196. @c * ExtFile:: Extension file.
  197. * IFOs:: Initialization file options
  198. * Options:: Command Line Options.
  199. * Reference:: Reference Manual of functions.
  200. @detailmenu
  201. /// The Detailed Node Listing ///
  202. --- Overview ---
  203. * whytexi2html:: Why @file{texi2html} and
  204. not @file{makeinfo}?.
  205. --- Installation process ---
  206. * Installation:: Installation process.
  207. --- Initialization file options ---
  208. * IFOnumber:: Number sectioning.
  209. * IFOmenu:: Avoid menu redundancy.
  210. * IFOCenterImage:: Center Image.
  211. * IFOExampleIndentCell:: Example Indent Cell.
  212. * IFOSampleIndentCell:: Sample Indent Cell.
  213. * IFOSmallFontSize:: Small Font Size.
  214. * IFOTopHeading:: Top Heading.
  215. * IFOIndexChapter:: Index Chapter.
  216. * IFOSplitIndex:: Split Index.
  217. * IFOhrefDirInsteadFile:: HREF Dir Instead file.
  218. --- Command Line Options ---
  219. * OptionDebug:: Debugging.
  220. * OptionDocType:: DocType (HTML)
  221. * OptionCheck:: Checking files.
  222. * OptionExpand:: Expanding info, tex areas etc.
  223. * OptionGlossary:: Glossary.
  224. * OptionInvisible:: Invisible.
  225. * OptionIso:: Iso.
  226. * OptionInclude:: Include directories.
  227. * OptionTopFile:: Top File.
  228. * OptionTocFile:: Table of content File.
  229. * OptionFrames:: Frames.
  230. * OptionMenu:: Menus.
  231. * OptionNumber:: Number sections.
  232. * OptionSplit:: Splitting.
  233. * OptionSectionNavigation:: Navigation.
  234. * OptionSubDir:: Subdirectory.
  235. * OptionShortExt:: Short extension.
  236. * OptionPrefix:: Prefix.
  237. * OptionOutput:: Output.
  238. * OptionShortRef:: Short Ref.
  239. * OptionIndexSummary:: Index Summary.
  240. * OptionVerbose:: Verbose.
  241. * OptionLanguage:: Language.
  242. * OptionL2H:: La@TeX{}2HTML.
  243. --- La@TeX{}2HTML for @code{@@math} and @code{@@tex} ---
  244. * OptionL2HL2H:: Where to find La@TeX{}2HTML.
  245. * OptionL2HSkip:: Skip calling La@TeX{}2HTML.
  246. * OptionL2Htmp:: Temporary files for La@TeX{}2HTML.
  247. --- Indices ---
  248. * Indexop:: Command Line Option Index.
  249. * Indexvr:: Variable Index.
  250. * Indexcp:: Concept Index.
  251. @end detailmenu
  252. @end menu
  253. @end ifinfo
  254. @end ifnottex
  255. @c ========================================================
  256. @node Overview, HowToGetHTML, Top, Top
  257. @chapter Overview about @command{texi2html}
  258. @uref{http://www.texinfo.org,Texinfo} is the official
  259. documentation format of the @uref{http://www.gnu.org,GNU}
  260. project. It uses a single source file to produce both
  261. online information and printed output.
  262. @c much thinking about ...
  263. It is often proposed to have a way to produce
  264. @acronym{HTML} from Texinfo sources, like the GNU-Info
  265. format. It is much simpler to create one converter instead
  266. of writing all documentation new in @acronym{HTML}, cause
  267. there is so much documentation in Texinfo all over
  268. the world.
  269. A few time ago @command{makeinfo} wasn't able to produce
  270. @acronym{HTML} output format, but there are needth to have
  271. @acronym{HTML}. This was the borning hour for
  272. @command{texi2html}. The basic purpose of @file{texi2html}
  273. is to convert Texinfo documents into HTML.
  274. @menu
  275. * HowToGetHTML:: Ways to get HTML files.
  276. * whytexi2html:: Why texi2html and not makeinfo?.
  277. @end menu
  278. @c --------------------------------------------------------
  279. @node HowToGetHTML, whytexi2html, Overview, Overview
  280. @section Ways to get HTML
  281. You would like to @acronym{HTML} files out of your Texinfo
  282. files? There exist two ways which you can go.
  283. This first is to use @command{makeinfo} itself to produce
  284. @acronym{HTML} output. The second is to use
  285. @command{texi2html}.
  286. @c --------------------------------------------------------
  287. @node whytexi2html, Installation, HowToGetHTML, Overview
  288. @section Why @file{texi2html} and not @file{makeinfo}?
  289. The basic idea of @command{makeinfo}'s @acronym{HTML}
  290. output was to get an readable @acronym{HTML} output.
  291. Nothing sophisticated nor good styling just readable.
  292. The current development of texi2html is going into
  293. different direction.
  294. The main purpose is to get better styling, better design
  295. etc. of the created @acronym{HTML} pages. This way is
  296. supported using differnt command line options and of course
  297. possible changings of the initialization file to fit your
  298. own needs.
  299. The main disadvantage of @acronym{makeinfo}'s
  300. @acronym{HTML} output is your getting only one big file.
  301. This is of course readable but not very usable. The problem
  302. of this is, while you like to have splitted chapters or
  303. nodes the Texinfo source has to be read at minimum twice
  304. times. This makes it impossible to implement this in
  305. @command{makeinfo}. This would result in complete new
  306. implementation of @command{makeinfo}'s source.
  307. @c think more about this????
  308. In contrast to the HTML produced by @command{makeinfo
  309. --html} (the @command{makeinfo} program is part of the
  310. Texinfo distribution), the HTML output of @file{texi2html}
  311. is highly configurable. Among other differences, with
  312. @command{texi2html} allows you to customize your entire
  313. page layout (like headers, footers, style sheets, etc),
  314. split documents at various levels, and use
  315. @command{latex2html} to convert @code{@@tex} sections.
  316. @command{texi2html} should reasonably convert all Texinfo
  317. 4.0 constructs. If not, please send a bug report to
  318. @email{texi2html@@mathematik.uni-kl.de}.
  319. @c ========================================================
  320. @node Installation, Customizing, whytexi2html, Top
  321. @chapter Installation of @command{texi2html}
  322. @cindex Installation
  323. description of the installation process.
  324. What do you need?
  325. How?
  326. @c ========================================================
  327. @node Customizing, CustomizingExpand, Installation, Top
  328. @chapter Customizing files
  329. @cindex Installation
  330. @opindex frames
  331. @c 4.) Customizing files to output
  332. @c ==> -out_file, -prefix, -subdir, -split, -frames etc
  333. Result based on using @option{-frames}
  334. @example
  335. texi2html -V -frames texi2html.texi
  336. @end example
  337. Explanation of the output differences against default,
  338. whatever this is ;-)
  339. @c ========================================================
  340. @node CustomizingExpand, CustomizingPage, Customizing, Top
  341. @chapter Customizing what gets expanded
  342. @c 5.) Customizing what gets expanded
  343. @c ==> -expand, and latex2html
  344. Test starting.
  345. @option{-expand info}
  346. @option{-expand tex}
  347. Take a look at optionexpand.
  348. @c ========================================================
  349. @node CustomizingPage, CustHTML, CustomizingExpand, Top
  350. @include custpage.texi
  351. @c ========================================================
  352. @node CustHTML, InitFile, CustomizingPage, Top
  353. @include custhtml.texi
  354. @c ========================================================
  355. @node InitFile, IFOs, CustHTML, Top
  356. @include initfile.texi
  357. @c --------------------------------------------------------
  358. @node IFOs, Options, InitFile, Top
  359. @include ifo.texi
  360. @c ========================================================
  361. @c @include extfile.texi obsolete now, is not documented!
  362. @c ========================================================
  363. @node Options, Reference, IFOs, Top
  364. @include options.texi
  365. @c ========================================================
  366. @node Reference, Indexop, Options, Top
  367. @include reference.texi
  368. @c ========================================================
  369. @c commandline option index.
  370. @node Indexop, Indexvr, Reference, Top
  371. @appendix Indices
  372. @appendixsec Command Line Option Index
  373. @printindex op
  374. @c --------------------------------------------------------
  375. @node Indexvr, Indexcp, Indexop, Top
  376. @appendixsec Variable Index
  377. @printindex vr
  378. @c --------------------------------------------------------
  379. @node Indexcp, , Indexvr, Top
  380. @appendixsec Concept Index
  381. @printindex cp
  382. @c printindex init file options dito.
  383. @c concept index.
  384. @bye