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{
x
literal_text
x}
<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">