|
C. How little texi2html texinfo differs from GNU texinfo
For features documented in the texinfo manual, the texinfo interpretation
by texi2html shouldn't differ from the interpretation of
makeinfo or texi2dvi. However for constructs with
unspecified behaviour texi2html often doesn't lead to the
same result than makeinfo or texi2dvi. makeinfo
and texi2dvi are also inconsistent in most of these cases (or
broken). You are urged not to use these features unless absolutely necessary.
This information is only here to help understand why texi2html
differ from other texinfo interpreters, it may be inacurate and the
texi2html behaviour may change in the future and was different
in the past.
- @-commands with text on the line
In the texinfo manual it is specified that block @-commands should appear
on a line without text and the closing @end should also be on a
line by himself. With texi2html it is possible to add
text before and after the command, so the following is right:
| | something @example the example @end example after the example
|
makeinfo and texi2dvi may also accept text before
the command and text after the @end command, sometimes ignoring
it after the @end.
This is a feature you should especially not rely on.
- special @-commands handling
The special @-commands are commands like @pagesizes, @sp,
@evenheading, @raisesections, @defindex and a lot
more. In many cases makeinfo and texi2dvi
don't parse those commands the same way too. texi2html may also
show some differences in parsing of the arguments of these commands,
in case there are wrong arguments, and also ignore differently things
following those commands. How user defined macros, set and values
are expanded in those commands may also be different.
Part of the specification of how these commands are handled is
configureable (see section Customizing other commands, and unknown commands), but not what
happens during the beginning of the parsing for some of those commands.
- features different between
makeinfo and texi2dvi
When makeinfo or texi2dvi use a feature which
is reserved for one or the other translator, texi2html uses that
feature. So for example @definfoenclose which is ignored by
texi2dvi is taken into account and @kbdinputstyle which
is ignored by makeinfo is taken into account.
- user defined macros and values
In this area makeinfo and texi2dvi also differ a lot.
The reference implementation is the makeinfo implementation as
texi2dvi is easily broken when macros are not used simply.
-
@, in @node
Like texi2dvi but unlike makeinfo @, don't
break @node arguments like a regular ‘,’.
- Things before first node or preamble
Things before the first node or before the preamble may not be exactly
interpreted or discarded as makeinfo or texi2dvi do.
- encodings
texi2html knows more encodings, in fact all encodings perl
knows about.
- commands in
@ifset and @ifclear
texi2html doesn't need a proper nesting of internal @ifset
or @ifclear if they are in ignored or raw regions (like @html
or @verbatim). For example the following is accepted by
texi2html and not by makeinfo:
| | @ifset notset
@ignore
@ifset
@end ignore
@end ifset
|
In @ifset and @ifclear texi2html also accepts
a lot more of invalid constructs. For example the following is accepted
by texi2html but not by makeinfo:
| | @set flag
@ifset flag
@itemize
@item my item
@end ifset
text
@ifset flag
@end itemize
@end ifset
|
Doku-Base
This document was created by Netzdino using texi2html.
|