Some Texinfo features are supported, others are not. Here is the list.
@whitespace
 
@!
&esexcl; (end sentence exclamation mark)
@"
@'
@*
<br>
@,{c}
@,{C}
@-
<dh>
@.
&esperiod; (end sentence period)
@:
&nes; (not ending sentence)
@=
@?
&esquest; (end of sentence question mark)
@@
@.
@^
@`
@{
@}
{ and }.
@~
@AA{}
@aa{}
@acronym{abbrev}
<acronym>abbrev</acronym>
@AE{}
@ae{}
@afivepaper
@afourpaper
@afourlatex
@afourwide
--paper=a5,
--paper=a4, --paper=a4latex,
--paper=a4wide.
@alias new=existing
texinfo
element.
@anchor{name}
<anchor id="name">
@appendix title
@appendixsec title
@appendixsection title
@appendixsubsec title
@appendixsubsection title
@appendixsubsubsec title
@appendixsubsubsection title
appendix
element.
@asis
asis is used as an argument for the
emphasis attribute for table,
vtable and ftable elements.
@author author
<author>author</author>
@b{text}
<bold>text</bold>
@bullet{}
•
@bye
</sgmltexi>
@c comment
@comment comment
texinfo element.
@cartouche
<cartouche>text-block</cartouche>
@center line-of-text
<center>line-of-text</center>
Unsupported on title page.
@centerchap title
@chapheading title
<h1 type="heading">title</h1>
@chapter title
<h1>title</h1>
@cindex entry
<cindex entry="entry">
@cite{reference}
<cite>reference</cite>
@clear flag
texinfo
element.
@code{sample}
<code>sample</code>
@command{command-name}
<command>command-name</command>
@contents
<contents>
@copyright{}
@defcodeindex index-name
<defcodeindex>index-name</defcodeindex>
@defcv category class name
@defcvx category class name
<defcv cat="category" class="class" name="name">
[<defcvx cat="category" class="class" name="name">]...
...
...
</defcv>
@deffn category name argument...
@deffnx category name argument...
<deffn cat="category" name="name">
<args>argument...</args>
[<deffnx cat="category" name="name">
<args>argument...</args>]...
...
...
</deffn>
@defindex index-name
<defindex>index-name</defcodeindex>
@definfoenclose newcmd, before, after,
texinfo
element.
@defivar class instance-variable-name
@defivarx class instance-variable-name
<defivar class="class" name="instance-variable">
[<defivarx class="class" name="instance-variable">]...
...
...
</defivar>
@defmac macro-name argument...
@defmacx macro-name argument...
<defmac name="macro-name">
<args>argument...</args>
[<defmacx name="macro-name">
<args>argument...</args>]...
...
...
</defmac>
@defmethod class method-name argument...
@defmethodx class method-name argument...
<defmethod class="class" name="method-name">
<args>argument...</args>
[<defmethodx class="class" name="method-name">
<args>argument...</args>]...
...
...
</defmethod>
@defop category class name argument...
@defopx category class name argument...
<defop cat="category" class="class" name="name">
<args>argument...</args>
[<defopx cat="category" class="class" name="name">
<args>argument...</args>]...
...
...
</defop>
@defopt option-name
@defoptx option-name
<defopt name="option-name">
[<<defoptx name="option-name">]...
...
...
</defopt>
@defspec special-form-name argument...
@defspecx special-form-name argument...
<defspec name="special-form-name">
<args>argument...</args>
[<defspecx name="special-form-name">
<args>argument...</args>]...
...
...
</defspec>
@deftp category name-of-type attribute...
@deftpx category name-of-type attribute...
<deftp cat="category" name="name-of-type">
<args>attribute...</args>
[<deftpx cat="category" name="name-of-type">
<args>attribute...</args>]...
...
...
</deftp>
@deftypefn classification data-type name argument...
@deftypefnx classification data-type name argument...
<deftypefn cat="classification" type="data-type" name="name">
<args>argument...</args>
[<deftypefnx cat="classification" type="data-type" name="name">
<args>argument...</args>]...
...
...
</deftypefn>
@deftypefun data-type function-name argument...
@deftypefunx data-type function-name argument...
<deftypefun type="data-type" name="function-name">
<args>argument...</args>
[<deftypefunx type="data-type" name="function-name">
<args>argument...</args>]...
...
...
</deftypefun>
@deftypeivar class data-type variable-name
@deftypeivarx class data-type variable-name
<deftypeivar class="class" type="data-type" name="variable-name">
[<deftypeivarx class="class" type="data-type" name="variable-name">]...
...
...
</deftypeivar>
@deftypemethod class data-type method-name argument...
@deftypemethodx class data-type method-name argument...
<deftypemethod class="class" type="data-type" name="method-name">
<args>argument...</args>
[<deftypemethodx class="class" type="data-type" name="method-name">
<args>argument...</args>]...
...
...
</deftypemethod>
@deftypeop category class data-type name argument...
@deftypeopx category class data-type name argument...
<deftypeop cat="category" class="class" type="data-type" name="name">
<args>argument...</args>
[<deftypeopx cat="category" class="class" type="data-type" name="name">
<args>argument...</args>]...
...
...
</deftypeop>
@deftypevar data-type variable-name
@deftypevarx data-type variable-name
<deftypevar type="data-type" name="variable-name">
[<deftypevarx type="data-type" name="variable-name">]...
...
...
</deftypevar>
@deftypevr classification data-type name
@deftypevrx classification data-type name
<deftypevr cat="classification" type="data-type" name="name">
[<deftypevrx cat="classification" type="data-type" name="name">]...
...
...
</deftypevr>
@defun function-name argument...
@defunx function-name argument...
<defun name="function-name">
<args>argument...</args>
[<defunx name="function-name">
<args>argument...</args>]...
...
...
</defun>
@defvar variable-name
@defvar variable-name
<defvar name="variable-name">
[<defvarx name="variable-name">]...
...
...
</defvar>
@defvr category name
@defvrx category name
<defvr cat="category" name="name">
[<defvrx cat="category" name="name">]...
...
...
</defvr>
@detailmenu
<menu>
...
...
<detailmenu>
...
...
</detailmenu>
</menu>
@dfn{term}
<dfn>term</dfn>
@dircategory dirpart
@direntry
<infodir cat="dirpart">
...
...
</infodir>
@display
<display>text-block</display>
@dmn{dimension}
<dmn>dimension</dmn>
@documentdescription description @end documentdescription
<documentdescription content="description">
@documentencoding enc
<sgmltexi charset="enc">
This is the input character set, like it can be done with the
Texinfo @documentencoding command. It is obscured
by the --input-encoding option, that take
precedence and generate a pure ISO 646 Texinfo output.
@documentlanguage cc
<sgmltexi lang="cc">
@dotaccent{c}
@dots{}
&dots;
@email{address, displayed-text}
<email email="address" name="displayed-text">
@emph{text}
<emph>text</emph>
@env{environment-variable}
<env>environment-variable</env>
@enddots{}
&enddots;
@enumerate [number-or-letter]
<enumerate [start="number-or-letter"]>
<item>
...
...
<item>
...
...
</enumerate>
@equiv{}
≡
@error{}
&error;
@evenfooting
@evenheading
@everyfooting
@everyheading
texinfo
element.
@example
<example>
...
block
...
</example>
preformatted:
<example>
<pre>
...
in-line
...
</pre>
</example>
literal:
<example>
<pre>
<![CDATA[
...
in-line
...
]]>
</pre>
</example>
@exampleindent
texinfo
element.
@exlamdown
@exdent
<pre>
...
<exdent>some exdented text</exdent>
...
</pre>
@expansion{}
&expansion;
@file{filename}
<file>filename</file>
@finalout
@findex entry
<findex entry="entry">
@flushleft
<flushleft>text</flushleft>
@flushright
<flushright>text</flushright>
@footnote{text-of-footnote}
<footnote>text-of-footnote</footnote>
@footnotestyle style
<footnotestyle content="style">, or
use command line option:
--footnotestyle=style.
@format
<format>
<pre>
...
...
</pre>
</format>
literal:
<format>
<pre>
<![CDATA[
...
...
]]>
</pre>
</format>
@frenchspacing
<sgmltexi spacing="french">
@ftable formatting-command
<ftable emphasis="command">
<item>descriptive-item</item>
[<itemx>descriptive-item</itemx>]...
text-block...
...
...
<item>descriptive-item</item>
[<itemx>descriptive-item</itemx>]...
text-block...
...
...
</ftable>
@group
<group>text-block</group>
@H{c}
@heading title
<h2 type="heading">title</h2>
@headings on-off-single-double
<headings
content="on-off-single-double-singleafter-doubleafter">,
or use command line option:
--headings=on-off-single-double-singleafter-doubleafter.
@html
<html>html_back_end_code</html>
@hyphenation{hy-phen-a-ted words}
<hyphenation words="hy-phen-a-ted words">
@i{text}
<italic>text</italic>
@ifclear flag
texinfo
element.
@ifhtml
<ifhtml>in-line</ifhtml>
<ifhtmlblock>
block
...
</ifhtmlblock>
SGML gives the possibility to use marked sections. These can be
controlled with Sgmltexi with the option
--sgml-include at the command line. For example,
the SGML source may be like this:
<!DOCTYPE Sgmltexi PUBLIC "-//GNU//DTD Sgmltexi//EN"
[
<!ENTITY % HTML "IGNORE">
<!ENTITY % INFO "IGNORE">
<!ENTITY % TEX "IGNORE">
...
...
]>
<sgmltexi>
...
...
<![%HTML;[
<p>Here it is some text that is meant to appear only inside
the HTML typesetting.</p>
]]>
<![%INFO;[
<p>Here it is some other text that is meant to appear only
inside the Info typesetting.</p>
]]>
<![%TEX;[
<p>This text is meant to appear only inside the TeX
typesetting.</p>
]]>
...
...
</sgmltexi>
Then, when typesetting for HTML, the option
--sgml-include=HTML must be used:
sgmltexi --sgml-include=HTML --html my_file.sgml
When typesetting for Info, the option
--sgml-include=INFO must be used:
sgmltexi --sgml-include=INFO --info my_file.sgml
The same way, when typesetting for TeX, the option
--sgml-include=TEX must be used:
sgmltexi --sgml-include=TEX --info my_file.sgml
@ifinfo
<ifinfo>in-line</ifinfo>
<ifinfoblock>
block
...
</ifinfoblock>
SGML gives also the possibility to use marked sections.
See @ifhtml for the explanation.
@ifnothtml
<ifnothtml>in-line</ifnothtml>
<ifnothtmlblock>
block
...
</ifnothtmlblock>
SGML gives the possibility to use marked sections. These can be
controlled with Sgmltexi with the option
--sgml-include at the command line. For example,
the SGML source may be like this:
<!DOCTYPE Sgmltexi PUBLIC "-//GNU//DTD Sgmltexi//EN"
[
<!ENTITY % NOTHTML "IGNORE">
<!ENTITY % NOTINFO "IGNORE">
<!ENTITY % NOTTEX "IGNORE">
...
...
]>
<sgmltexi>
...
...
<![%NOTHTML;[
<p>Here it is some text that is meant to appear only outside
the HTML typesetting.</p>
]]>
<![%NOTINFO;[
<p>Here it is some other text that is meant to appear only
outside the Info typesetting.</p>
]]>
<![%NOTTEX;[
<p>This text is meant to appear only outside the TeX
typesetting.</p>
]]>
...
...
</sgmltexi>
Then, when typesetting for HTML, the options
--sgml-include=NOTINFO and
--sgml-include=NOTTEX must be used:
sgmltexi --sgml-include=NOTINFO --sgml-include=NOTTEX --html my_file.sgml
When typesetting for Info, the options
--sgml-include=NOTHTML and
--sgml-include=NOTTEX must be used:
sgmltexi --sgml-include=NOTHTML --sgml-include=NOTTEX --info my_file.sgml
The same way, when typesetting for TeX, the options
--sgml-include=NOTINFO and
--sgml-include=NOTHTML must be used:
sgmltexi --sgml-include=NOTINFO --sgml-include=NOTHTML --tex my_file.sgml
@ifnotinfo
<ifnotinfo>in-line</ifnotinfo>
<ifnotinfoblock>
block
...
</ifnotinfoblock>
SGML gives also the possibility to use marked sections.
See @ifnothtml for the explanation.
@ifnotplaintext
<ifnotplaintext>in-line</ifnotplaintext>
<ifnotplaintextblock>
block
...
</ifnotplaintextblock>
SGML gives also the possibility to use marked sections.
See @ifnothtml for the explanation.
@ifnottex
<ifnottex>in-line</ifnottex>
<ifnottexblock>
block
...
</ifnottexblock>
SGML gives also the possibility to use marked sections.
See @ifnothtml for the explanation.
@ifnotxml
<ifnotxml>in-line</ifnotxml>
<ifnotxmlblock>
block
...
</ifnotxmlblock>
SGML gives also the possibility to use marked sections.
See @ifnothtml for the explanation.
@ifplaintext
<ifplaintext>in-line</ifplaintext>
<ifplaintextblock>
block
...
</ifplaintextblock>
SGML gives also the possibility to use marked sections.
See @ifhtml for the explanation.
@ifset flag
texinfo
element.
@iftex
<iftex>in-line</iftex>
<iftexblock>
block
...
</iftexblock>
SGML gives also the possibility to use marked sections.
See @ifhtml for the explanation.
@ifxml
<ifxml>in-line</ifxml>
<ifxmlblock>
block
...
</ifxmlblock>
SGML gives also the possibility to use marked sections.
See @ifhtml for the explanation.
@ignore
texinfo
element. If it is not necessary to have the text included
inside the generated Texinfo source, standard SGML comments
may be used:
<!--
This text is a comment, that is not reported
inside the Texinfo generated source.
...
...
-->
@image{filename, [width], [height]}
<image name="filename" width="width" height="height">
@include
<!DOCTYPE Sgmltexi PUBLIC "-//GNU//DTD Sgmltexi//EN"
[
<!ENTITY GPL SYSTEM "licenses/gpl.sgml">
<!ENTITY BSD SYSTEM "licenses/bsd.sgml">
...
...
]>
<sgmltexi>
...
...
<appendix>
&GPL;
&BSD;
...
...
</appendix>
...
</sgmltexi>
As it can be seen, the insertion of
licenses/gpl.sgml and licenses/bsd.sgml
happens when the SGML macro &GPL; and
&BSD; appear inside the source.
If it is necessary to include a Texinfo file, the element
texinfo may be used like this:
<p><texinfo>
@include example.texi
</texinfo></p>
Please remember that texinfo is an in-line
element.
@inforef{node-name, [entry-name], info-file-name}
<inforef id="node-name" name="entry-name" info="info-file-name">
\input macro-definition-file
@item
@table, @ftable,
@vtable, @itemize, @enumerate
and @multitable.
@itemize [mark]
<itemize [mark="mark"]>
<item>
...
...
<item>
...
...
</itemize>
@itemx
@table, @ftable and
@vtable.
@kbd{keyboard-characters}
<kbd>keyboard-characters</kbd>
@kbdinputstyle style
<kbdstyle style="style">
@key{key-name}
<key>key-name</key>
@kindex entry
<kindex entry="entry">
@L{}
@l{}
@lisp
<lisp>
...
block
...
</lisp>
preformatted:
<lisp>
<pre>
...
in-line
...
</pre>
</lisp>
literal:
<lisp>
<pre>
<![CDATA[
...
in-line
...
]]>
</pre>
</lisp>
@lowersections
@macro macro-name {params}
texinfo
element.
@majorheading title
@part.
@math{mathematical-expression}
<math>mathematical-expression</math>
@menu
<menu>[info-menu</menu>]
@minus{}
−
@multitable column-width-spec
<multitable>
<columnfraction>columnfraction</columnfraction>...
<raw>element[<tab>element]...</raw>...
...
</multitable>
<multitable>
<columnexample>text-example</columnexample>...
<raw>element[<tab>element]...</raw>...
...
</multitable>
@need n
<need mils="n">
@node name, next, previous, up
<hn node="name">title</hn>
If it is required a complete control over nodes, also next, previous and up nodes may be specified, like this:
<hn node="name" next="next" prev="previous" up="up" >title</hn>
Sgmltexi doesn't make any validity check over manual node
insertions.
@noindent
<p indent="off">
@novalidate
texinfo
element.
O{}
o{}
@oddfooting
@oddheading
texinfo
element.
@option{option-name}
<option>option-name</option>
@page
<page>
@pagesizes [width][, height]
@paragraphindent indent
@pindex entry
<pindex entry="entry">
@point{}
&point;
@pounds{}
@print{}
&print;
@printindex index-name
<printindex name="index-entry">
@pxref{node-name, [entry], [topic-or-title], [info-file], [manual]}
<pxref id="node-name" name="entry"
title="topic-or-title" info="info-file"
ptitle="manual">
@questiondown{}
@quotation
<quotation>
...
in-line
...
</quotation>
@r{text}
<roman>text</roman>
@raisesections
@ref{node-name, [entry], [topic-or-title], [info-file], [manual]}
<ref id="node-name" name="entry"
title="topic-or-title" info="info-file"
ptitle="manual">
@refill
@result{}
&result;
@ringaccent{c}
@samp{text}
<samp>text</samp>
@sc{text}
<sc>text</sc>
@section title
<h2>title</h2>
@set flag string
texinfo
element.
@setchapternewpage on-off-odd
<setchapternewpage
content="on-off-odd">, or use command line
option:
--setchapternewpage=on-off-odd.
@setcontentsaftertitlepage
@setfilename info-file-name
<setfilename
content="info-file-name">
@setshortcontentsaftertitlepage
@settitle title
<settitle content="title">
@shortcontents
<shortcontents>
@shorttitlepage title
@smallbook
--paper=small.
@smalldisplay
<smalldisplay>text-block</smalldisplay>
@smallexample
<smallexample>
...
block
...
</smallexample>
preformatted:
<smallexample>
<pre>
...
in-line
...
</pre>
</smallexample>
literal:
<smallexample>
<pre>
<![CDATA[
...
in-line
...
]]>
</pre>
</smallexample>
@smallformat
<smallformat>
<pre>
...
...
</pre>
</smallformat>
literal:
<smallformat>
<pre>
<![CDATA[
...
...
]]>
</pre>
</smallformat>
@smalllisp
<smalllisp>
...
block
...
</smalllisp>
preformatted:
<smalllisp>
<pre>
...
in-line
...
</pre>
</smalllisp>
literal:
<smalllisp>
<pre>
<![CDATA[
...
in-line
...
]]>
</pre>
</smalllisp>
@sp lines
<sp lines="lines">
@ss{}
@strong{text}
<strong>text</strong>
@subheading title
<h3 type="heading">title</h3>
@subsection title
<h3>title</h3>
@subsubheading title
<h4 type="heading">title</h4>
@subsubsection title
<h4>title</h4>
@subtitle subtitle
<subtitle>subtitle</subtitle>
@summarycontents
<summarycontents>
@syncodeindex from-index into-index
<syncodeindex from="from-index"
to="into-index">
@synindex from-index into-index
<synindex from="from-index"
to="into-index">
@t{text}
<typewriter>text</typewriter>
@tab
@multitable.
@table formatting-command
<table emphasis="command">
<item>descriptive-item</item>
[<itemx>descriptive-item</itemx>]...
text-block...
...
...
<item>descriptive-item</item>
[<itemx>descriptive-item</itemx>]...
text-block...
...
...
</table>
@TeX{}
&TeX;
@tex
<tex>tex_back_end_code</tex>
@thischapter
@thischaptername
@thisfile
@thispage
@thistitle
texinfo
element.
@tie{}
@tieaccent{cc}
@tindex entry
<tindex entry="entry">
@title title
<title>title</title>
@titlefont{text}
@titlepage
@today
&today;
@top
@u{c}
@ubaraccent{c}
@udotaccent{c}
@unnumbered title
<h1 type="unnumbered">title</h1>
@unnumberedsec title
<h2 type="unnumbered">title</h2>
@unnumberedsubsec title
<h3 type="unnumbered">title</h3>
@unnumberedsubsubsec title
<h4 type="unnumbered">title</h4>
@uref{url, [displayed-text], [replacement]}
<uref uri="url" name="displayed-text"
replace="replacement">
@url{url}
<url>url</url>
@v{c}
@value{flag}
texinfo
element.
@var{metasyntactic-variable}
<var>metasyntactic-variable</var>
@verb{xliteral_textx}
<verb char="x"><![CDATA[literal_text]]></verb>
@verbatim literal_text @end verbatim
<verbatim>
<[CDATA[
literal_text
]]>
</verbatim>
@verbatiminclude file
<verbatiminclude file="file">
@vindex entry
<vindex entry="entry">
@vskip amount
texinfo
element.
@vtable formatting-command
<vtable emphasis="command">
<item>descriptive-item</item>
[<itemx>descriptive-item</itemx>]...
text-block...
...
...
<item>descriptive-item</item>
[<itemx>descriptive-item</itemx>]...
text-block...
...
...
</vtable>
@w{text}
<whole>text</whole>
@xref{node-name, [entry], [topic-or-title], [info-file], [manual]}
<xref id="node-name" name="entry"
title="topic-or-title" info="info-file"
ptitle="manual">