texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

texinfo/doc texinfo.txi,1.34,1.35


From: karl
Subject: texinfo/doc texinfo.txi,1.34,1.35
Date: Sat, 13 Mar 2004 19:39:27 +0100

Update of /cvsroot/texinfo/texinfo/doc
In directory sheep:/tmp/cvs-serv12523

Modified Files:
        texinfo.txi 
Log Message:
(Generating HTML): make its own chapter, since we
have lots to say about xrefs now.
(Command Syntax): subnode of @@-Command List.


Index: texinfo.txi
===================================================================
RCS file: /cvsroot/texinfo/texinfo/doc/texinfo.txi,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** texinfo.txi 13 Mar 2004 16:06:16 -0000      1.34
--- texinfo.txi 13 Mar 2004 18:39:24 -0000      1.35
***************
*** 131,171 ****
  
  @menu
! * Copying Conditions::          Your rights.
! * Overview::                    Texinfo in brief.
! * Texinfo Mode::                How to use Texinfo mode.
! * Beginning a File::            What is at the beginning of a Texinfo file?
! * Ending a File::               What is at the end of a Texinfo file?
! * Structuring::                 How to create chapters, sections, subsections,
!                                   appendices, and other parts.
! * Nodes::                       How to write nodes.
! * Menus::                       How to write menus.
! * Cross References::            How to write cross references.
! * Marking Text::                How to mark words and phrases as code,
!                                   keyboard input, meta-syntactic
!                                   variables, and the like.
! * Quotations and Examples::     How to write quotations, examples, etc.
! * Lists and Tables::            How to write lists and tables.
! * Special Displays::            How to write floating figures and footnotes.
! * Indices::                     How to create indices.
! * Insertions::                  How to insert @@-signs, braces, etc.
! * Breaks::                      How to force and prevent line and page breaks.
! * Definition Commands::         How to describe functions and the like
!                                   in a uniform manner.
! * Conditionals::                How to specify text for either @TeX{} or Info.
! * Internationalization::
! * Defining New Texinfo Commands::
! * Hardcopy::                    How to convert a Texinfo file to a file
!                                   for printing and how to print that file.
! * Creating and Installing Info Files::
! * Command List::                All the Texinfo @@-commands.
! * Tips::                        Hints on how to write a Texinfo document.
! * Sample Texinfo Files::        Complete examples, including full texts.
! * Include Files::               How to incorporate other Texinfo files.
! * Headings::                    How to write page headings and footings.
! * Catching Mistakes::           How to find formatting mistakes.
! * Command Syntax::              A description of @@-Command syntax.
! * Copying This Manual::         The GNU Free Documentation License.
! * Command and Variable Index::  A menu containing commands and variables.
! * Concept Index::               A menu covering many topics.
  
  @detailmenu
--- 131,169 ----
  
  @menu
! * Copying Conditions::            Your rights.
! * Overview::                      Texinfo in brief.
! * Texinfo Mode::                  Using the GNU Emacs Texinfo mode.
! * Beginning a File::              What is at the beginning of a Texinfo file?
! * Ending a File::                 What is at the end of a Texinfo file?
! * Structuring::                   Creating chapters, sections, appendices, 
etc.
! * Nodes::                         Writing nodes, the basic unit of Texinfo.
! * Menus::                         Writing menus.
! * Cross References::              Writing cross references.
! * Marking Text::                  Marking words and phrases as code,
!                                     keyboard input, meta-syntactic
!                                     variables, and the like.
! * Quotations and Examples::       Block quotations, examples, etc.
! * Lists and Tables::              Itemized or numbered lists, and tables.
! * Special Displays::              Floating figures and footnotes.
! * Indices::                       Creating indices.
! * Insertions::                    Inserting @@-signs, braces, etc.
! * Breaks::                        Forcing or preventing line and page breaks.
! * Definition Commands::           Describing functions and the like uniformly.
! * Conditionals::                  Specifying text for only some output cases.
! * Internationalization::          Supporting languages other than English.
! * Defining New Texinfo Commands:: User-defined macros and aliases.
! * Hardcopy::                            Output for paper, with @TeX{}.
! * Creating and Installing Info Files::  Details on Info output.
! * Generating HTML::               Details on HTML output.
! 
! * Command List::                  All the Texinfo @@-commands.
! * Tips::                          Hints on how to write a Texinfo document.
! * Sample Texinfo Files::          Complete examples, including full texts.
! * Include Files::                 How to incorporate other Texinfo files.
! * Headings::                      How to write page headings and footings.
! * Catching Mistakes::             How to find formatting mistakes.
! * Copying This Manual::           The GNU Free Documentation License.
! * Command and Variable Index::    A menu containing commands and variables.
! * Concept Index::                 A menu covering many topics.
  
  @detailmenu
***************
*** 402,407 ****
  Floats
  
! * float::                       Defining a float.
! * caption shortcaption::        Giving floats descriptions.
  * listoffloats::                A table of contents for floats.
  
--- 400,405 ----
  Floats
  
! * float::                       Producing floating material.
! * caption shortcaption::        Specifying descriptions for floats.
  * listoffloats::                A table of contents for floats.
  
***************
*** 523,528 ****
  Object-Oriented Programming
  
! * Object-Oriented Variables::
! * Object-Oriented Methods::
  
  Conditionally Visible Text
--- 521,526 ----
  Object-Oriented Programming
  
! * Variables: Object-Oriented Variables:
! * Methods: Object-Oriented Methods:
  
  Conditionally Visible Text
***************
*** 568,572 ****
  * A4 Paper::                    How to print on A4 or A5 paper.
  * pagesizes::                   How to print with customized page sizes.
! * Cropmarks and Magnification::  How to print marks to indicate the size
                                   of pages and how to print scaled up output.
  * PDF Output::                  Portable Document Format output.
--- 566,570 ----
  * A4 Paper::                    How to print on A4 or A5 paper.
  * pagesizes::                   How to print with customized page sizes.
! * Cropmarks and Magnification:: How to print marks to indicate the size
                                   of pages and how to print scaled up output.
  * PDF Output::                  Portable Document Format output.
***************
*** 591,601 ****
  * Tag and Split Files::         How tagged and split files help Info
                                   to run better.
- * Generating HTML::             Generating HTML output with makeinfo.
- 
- Generating HTML
- 
- * HTML Translation::            Details of the HTML output.
- * HTML Splitting::              How HTML output is split.
- * HTML CSS::                    HTML output and Cascading Style Sheets.
  
  Installing an Info File
--- 589,592 ----
***************
*** 609,612 ****
--- 600,614 ----
  * Invoking install-info::       @code{install-info} options.
  
+ Generating HTML
+ 
+ * HTML Translation::       Details of the HTML output.
+ * HTML Splitting::         How HTML output is split.
+ * HTML CSS::               Influencing HTML output with Cascading Style 
Sheets.
+ * HTML Cross-references::  Cross-references in HTML output.
+ 
+ @@-Command List
+ 
+ * Command Syntax::    General syntax for varieties of @@-commands.
+ 
  Sample Texinfo Files
  
***************
*** 6838,6844 ****
  following:
  
! @vindex address@hidden, arg to @@kbdinputstyle}
! @vindex address@hidden, arg to @@kbdinputstyle}
! @vindex address@hidden, arg to @@kbdinputstyle}
  @table @samp
  @item code
--- 6840,6846 ----
  following:
  
! @vindex address@hidden, value for @code{@@kbdinputstyle}}
! @vindex address@hidden, value for @code{@@kbdinputstyle}}
! @vindex address@hidden, value for @code{@@kbdinputstyle}}
  @table @samp
  @item code
***************
*** 7554,7558 ****
  @end table
  
! @cindex lineannotation, Docbook tag
  Only the @code{@@r} command has much use: in example-like
  environments, you can use the @code{@@r} command to write comments in
--- 7556,7560 ----
  @end table
  
! @cindex <lineannotation> Docbook tag
  Only the @code{@@r} command has much use: in example-like
  environments, you can use the @code{@@r} command to write comments in
***************
*** 9929,9933 ****
  period, question mark, or exclamation mark that ends a sentence.
  
! @findex <colon> @r{(suppress widening)}
  Use the @code{@@:}@: command after a period, question mark,
  exclamation mark, or colon that should not be followed by extra space.
--- 9931,9935 ----
  period, question mark, or exclamation mark that ends a sentence.
  
! @findex <colon> @r{(suppress end-of-sentence space)}
  Use the @code{@@:}@: command after a period, question mark,
  exclamation mark, or colon that should not be followed by extra space.
***************
*** 14197,14201 ****
  @file{texinfo.cnf}, you do not need to create it.
  
! @cindex environment variable @code{TEXINPUTS}
  @vindex TEXINPUTS
  If neither of the above locations for these system files suffice for
--- 14199,14203 ----
  @file{texinfo.cnf}, you do not need to create it.
  
! @cindex Environment variable @code{TEXINPUTS}
  @vindex TEXINPUTS
  If neither of the above locations for these system files suffice for
***************
*** 14620,14624 ****
  * Tag and Split Files::         How tagged and split files help Info
                                   to run better.
- * Generating HTML::             Generating HTML output with makeinfo.
  @end menu
  
--- 14622,14625 ----
***************
*** 14636,14645 ****
  Emacs, or by typing the @kbd{C-c C-m C-r} or the @kbd{C-c C-m C-b}
  command in Texinfo mode in Emacs.
- @refill
  
  The @code{texinfo-format-region} and the @code{texinfo-format-buffer}
  commands are useful if you cannot run @code{makeinfo}.  Also, in some
  circumstances, they format short regions or buffers more quickly than
! @address@hidden
  
  
--- 14637,14645 ----
  Emacs, or by typing the @kbd{C-c C-m C-r} or the @kbd{C-c C-m C-b}
  command in Texinfo mode in Emacs.
  
  The @code{texinfo-format-region} and the @code{texinfo-format-buffer}
  commands are useful if you cannot run @code{makeinfo}.  Also, in some
  circumstances, they format short regions or buffers more quickly than
! @code{makeinfo}.
  
  
***************
*** 14966,14970 ****
  
  @vindex TEXINFO_OUTPUT_FORMAT
! @cindex environment variable @code{TEXINFO_OUTPUT_FORMAT}
  @command{makeinfo} also reads the environment variable
  @env{TEXINFO_OUTPUT_FORMAT} to determine the output format, if not
--- 14966,14970 ----
  
  @vindex TEXINFO_OUTPUT_FORMAT
! @cindex Environment variable @code{TEXINFO_OUTPUT_FORMAT}
  @command{makeinfo} also reads the environment variable
  @env{TEXINFO_OUTPUT_FORMAT} to determine the output format, if not
***************
*** 15317,15499 ****
  Info-validate} node-checking command on indirect files.  For
  information on how to prevent files from being split and how to
! validate the structure of the nodes, see @ref{Using
! address@hidden
! 
! 
! @node Generating HTML
! @subsection Generating HTML
! @cindex HTML, generating
! 
! Besides generating output in the Info format, you can use the
! @samp{--html} option to @command{makeinfo} to generate output in HTML
! format, for use by web browsers (for example).
! 
! @menu
! * HTML Translation::            Details of the HTML output.
! * HTML Splitting::              How HTML output is split.
! * HTML CSS::                    HTML output and Cascading Style Sheets.
! @end menu
! 
! @node HTML Translation
! @subsubsection HTML Translation
! 
! @command{makeinfo} will include segments of Texinfo source between
! @code{@@ifhtml} and @code{@@end ifhtml} in the HTML output (but not
! any of the other conditionals, by default).  Source between
! @code{@@html} and @code{@@end html} is passed without change to the
! output (i.e., suppressing the normal escaping of input @samp{<},
! @samp{>} and @samp{&} characters which have special significance in
! HTML).  @xref{Conditional Commands}.
! 
! @opindex address@hidden, ignored in HTML output}
! The @option{--footnote-style} option is currently ignored for HTML output;
! footnotes are always linked to the end of the output file.
! 
! @cindex Navigation bar, in HTML output
! By default, a navigation bar is inserted at the start of each node,
! analogous to Info output.  The @samp{--no-headers} option suppresses
! this if used with @samp{--no-split}.  Header @code{<link>} elements in
! split output can support info-like navigation with browsers like Lynx
! and @w{Emacs W3} which implement this address@hidden feature.
! 
! @cindex HTML output, browser compatibility of
! The HTML generated is mostly standard (i.e., address@hidden, RFC-1866).
! The exception is that HTML 3.2 tables are generated from the
! @code{@@multitable} command, but tagged to degrade as well as possible
! in browsers without table support.  The address@hidden @samp{lang}
! attribute on the @samp{<html>} attribute is also used.  (Please report
! output from an error-free run of @code{makeinfo} which has browser
! portability problems as a bug.)
! 
! 
! @node HTML Splitting
! @subsubsection HTML Splitting
! 
! @cindex Split HTML output
! @cindex HTML output, split
! 
! By default, @command{makeinfo} splits HTML output into (generally) one
! output file per Texinfo source @code{@@node}.
! 
! The output file name is the node name, with special characters
! replaced by @samp{-}'s, so it can work as a filename.  In the unusual
! case of two different nodes having the same name after this treatment,
! they are written consecutively to the same file, with HTML anchors so
! each can be referred to separately.  If @command{makeinfo} is run on a
! system which does not distinguish case in filenames, nodes which are
! the same except for case will also be folded into the same output file.
! 
! When splitting, the HTML output files are written into a subdirectory.
! The subdirectory is named according to the name from
! @code{@@setfilename} with any extension removed; for example, HTML
! output for @code{@@setfilename emacs.info} would be written into a
! subdirectory named @samp{emacs}.  If that directory cannot be created
! for any reason, then @samp{.html} is appended to the directory name, as
! in @samp{emacs.html} (this is necessary because sometimes the Info file
! is named without an extension, e.g., @samp{texinfo}).  If the
! @address@hidden directory can't be created either,
! @code{makeinfo} gives up.  In any case, the top-level output file within
! the directory is always named @samp{index.html}.
! 
! 
! Monolithic output (@code{--no-split}) is named according to
! @code{@@setfilename} or @code{--outfile}.
! 
! @samp{@@xref} commands to other documents are generated assuming the
! other document is available in split HTML form, and installed in the
! same HTML documentation tree, at @file{../<info-document>/}.
! Cross-document node references are not supported in monolithic HTML.
! 
! 
! @node HTML CSS
! @subsubsection HTML CSS
! @cindex HTML, and CSS
! @cindex CSS, and HTML output
! @cindex Cascading Style Sheets, and HTML output
! 
! Cascading Style Sheets (CSS for short) is a network standard for
! influencing the display of HTML documents: see
! @uref{http://www.w3.org/Style/CSS/}.
! 
! By default, @command{makeinfo} includes a few simple CSS commands to
! better implement the appearance of some of the environments.  Here are
! a couple of them:
! 
! @example
! pre.display @{ font-family:inherit @}
! pre.smalldisplay @{ font-family:inherit; font-size:smaller @}
! @end example
! 
! A full explanation of CSS is (far) beyond this manual; please see the
! reference above.  In brief, however, this specification tells the web
! browser to use a `smaller' font size for @code{@@smalldisplay} text,
! and to use the `inherited' font (generally a regular roman typeface)
! for both @code{@@smalldisplay} and @code{@@display}.  By default, the
! HTML @samp{<pre>} command uses a monospaced font.
! 
! You can influence the CSS in the HTML output with the
! @address@hidden option to @command{makeinfo}.  This
! includes the contents @var{file} in the HTML output, as you might
! expect.  However, the details are somewhat tricky, to provide maximum
! flexibility.
! 
! @cindex @@import specifications, in CSS files
! The CSS file may begin with so-called @samp{@@import} directives,
! which link to external CSS specifications for browsers to use when
! interpreting the document.  Again, a full description is beyond our
! scope here, but we'll describe how they work syntactically, so we can
! explain how @command{makeinfo} handles them.
! 
! @cindex Comments, in CSS files
! There can be more than one @samp{@@import}, but they have to come
! first in the file, with only whitespace and comments interspersed, no
! normal definitions.  (Technical exception: an @samp{@@charset}
! directive may precede the @samp{@@import}'s.  This does not alter
! @command{makeinfo}'s behavior, it just copies the @samp{@@charset} as
! it finds it.)  Comments in CSS files are delimited by @samp{/*
! ... */}, as in C.  An @samp{@@import} directive must be in one of
! these two forms:
! 
! @example
! @@import url(http://example.org/foo.css);
! @@import "http://example.net/bar.css";;
! @end example
! 
! As far as @command{makeinfo} is concerned, the crucial characters are
! the @samp{@@} at the beginning and the semicolon terminating the
! directive.  When reading the CSS file, it simply copies any such
! @samp{@@}-directive into the output, as follows:
! 
! @itemize
! @item If @var{file} contains only normal CSS declarations, it is
! included after @command{makeinfo}'s default CSS, thus overriding it.
! 
! @item If @var{file} begins with @samp{@@import} specifications (see
! below), then the @samp{import}'s are included first (they have to come
! first, according to the standard), and then @command{makeinfo}'s
! default CSS is included.  If you need to override @command{makeinfo}'s
! defaults from an @samp{@@import}, you can do so with the @samp{!@:
! important} CSS construct, as in:
! @example
! pre.smallexample @{ font-size: inherit ! important @}
! @end example
! 
! @item If @var{file} contains both @samp{@@import} and inline CSS
! specifications, the @samp{@@import}'s are included first, then
! @command{makeinfo}'s defaults, and lastly the inline CSS from
! @var{file}.
! 
! @item Any @@-directive other than @samp{@@import} and @samp{@@charset}
! is treated as a CSS declaration, meaning @command{makeinfo} includes
! its default CSS and then the rest of the file.
! 
! @end itemize
! 
! If the CSS file is malformed or erroneous, @command{makeinfo}'s output
! is unspecified.  @command{makeinfo} does not try to interpret the
! meaning of the CSS file in any way; it just looks for the special
! @samp{@@} and @samp{;} characters and blindly copies the text into the
! output.  Comments in the CSS file may or may not be included in the
! output.
  
  
--- 15317,15321 ----
  Info-validate} node-checking command on indirect files.  For
  information on how to prevent files from being split and how to
! validate the structure of the nodes, see @ref{Using Info-validate}.
  
  
***************
*** 15668,15672 ****
  
  @vindex INFOPATH
! @cindex environment variable @code{INFOPATH}
  Finally, you can tell Info where to look by setting the @code{INFOPATH}
  environment variable in your shell startup file, such as @file{.cshrc},
--- 15490,15494 ----
  
  @vindex INFOPATH
! @cindex Environment variable @code{INFOPATH}
  Finally, you can tell Info where to look by setting the @code{INFOPATH}
  environment variable in your shell startup file, such as @file{.cshrc},
***************
*** 15934,15937 ****
--- 15756,15958 ----
  
  
+ @node Generating HTML
+ @chapter Generating HTML
+ @cindex HTML output
+ 
+ @command{makeinfo} generates Info output by default, but given the
+ @option{--html} option, it will generate HTML, for web browsers and
+ other programs.  This chapter gives some details on such HTML output.
+ 
+ 
+ @command{makeinfo} can also write in XML and Docbook format, but we do
+ not as yet describe these further.  @xref{Output Formats}, for a brief
+ overview of all the output formats.
+ 
+ @menu
+ * HTML Translation::       Details of the HTML output.
+ * HTML Splitting::         How HTML output is split.
+ * HTML CSS::               Influencing HTML output with Cascading Style 
Sheets.
+ * HTML Cross-references::  Cross-references in HTML output.
+ @end menu
+ 
+ 
+ @node HTML Translation
+ @section HTML Translation
+ 
+ @command{makeinfo} will include segments of Texinfo source between
+ @code{@@ifhtml} and @code{@@end ifhtml} in the HTML output (but not
+ any of the other conditionals, by default).  Source between
+ @code{@@html} and @code{@@end html} is passed without change to the
+ output (i.e., suppressing the normal escaping of input @samp{<},
+ @samp{>} and @samp{&} characters which have special significance in
+ HTML).  @xref{Conditional Commands}.
+ 
+ @opindex address@hidden, ignored in HTML output}
+ The @option{--footnote-style} option is currently ignored for HTML output;
+ footnotes are always linked to the end of the output file.
+ 
+ @cindex Navigation bar, in HTML output
+ By default, a navigation bar is inserted at the start of each node,
+ analogous to Info output.  The @samp{--no-headers} option suppresses
+ this if used with @samp{--no-split}.  Header @code{<link>} elements in
+ split output can support info-like navigation with browsers like Lynx
+ and @w{Emacs W3} which implement this address@hidden feature.
+ 
+ @cindex HTML output, browser compatibility of
+ The HTML generated is mostly standard (i.e., address@hidden, RFC-1866).
+ One exception is that address@hidden tables are generated from the
+ @code{@@multitable} command, but tagged to degrade as well as possible
+ in browsers without table support.  The address@hidden @samp{lang}
+ attribute on the @samp{<html>} attribute is also used.  (Please report
+ output from an error-free run of @code{makeinfo} which has browser
+ portability problems as a bug.)
+ 
+ 
+ @node HTML Splitting
+ @section HTML Splitting
+ @cindex Split HTML output
+ @cindex HTML output, split
+ 
+ When splitting output (which is the default), @command{makeinfo}
+ writes HTML output into (generally) one output file per Texinfo source
+ @code{@@node}.
+ 
+ The output file name is the node name with special characters replaced
+ by @samp{-}'s, so it can work as a filename.  In the unusual case of
+ two different nodes having the same name after this treatment, they
+ are written consecutively to the same file, with HTML anchors so each
+ can be referred to separately.  If @command{makeinfo} is run on a
+ system which does not distinguish case in filenames, nodes which are
+ the same except for case will also be folded into the same output
+ file.
+ 
+ When splitting, the HTML output files are written into a subdirectory,
+ with the name chosen as follows:
+ @enumerate
+ @item 
+ @command{makeinfo} first tries the subdirectory with the base name
+ from @code{@@setfilename} (that is, any extension is removed).  For
+ example, HTML output for @code{@@setfilename gcc.info} would be
+ written into a subdirectory named @samp{gcc}.
+ 
+ @item
+ If that directory cannot be created for any reason, then
+ @command{makeinfo} tries appending @samp{.html} to the directory name.
+ For example, output for @code{@@setfilename texinfo} would be written
+ to @samp{texinfo.html}.
+ 
+ @item
+ If the @address@hidden directory can't be
+ created either, @code{makeinfo} gives up.
+ 
+ @end enumerate
+ 
+ @noindent In any case, the top-level output file within the directory
+ is always named @samp{index.html}.
+ 
+ Monolithic output (@code{--no-split}) is named according to
+ @code{@@setfilename} (with any @samp{.info} extension is replaced with
+ @samp{.html}) or @code{--output} (the argument is used literally).
+ 
+ 
+ @node HTML CSS
+ @section HTML CSS
+ @cindex HTML, and CSS
+ @cindex CSS, and HTML output
+ @cindex Cascading Style Sheets, and HTML output
+ 
+ Cascading Style Sheets (CSS for short) is an Internet standard for
+ influencing the display of HTML documents: see
+ @uref{http://www.w3.org/Style/CSS/}.
+ 
+ By default, @command{makeinfo} includes a few simple CSS commands to
+ better implement the appearance of some of the environments.  Here 
+ are two of them, as an example:
+ 
+ @example
+ pre.display @{ font-family:inherit @}
+ pre.smalldisplay @{ font-family:inherit; font-size:smaller @}
+ @end example
+ 
+ A full explanation of CSS is (far) beyond this manual; please see the
+ reference above.  In brief, however, this specification tells the web
+ browser to use a `smaller' font size for @code{@@smalldisplay} text,
+ and to use the `inherited' font (generally a regular roman typeface)
+ for both @code{@@smalldisplay} and @code{@@display}.  By default, the
+ HTML @samp{<pre>} command uses a monospaced font.
+ 
+ You can influence the CSS in the HTML output with the
+ @address@hidden option to @command{makeinfo}.  This
+ includes the contents @var{file} in the HTML output, as you might
+ expect.  However, the details are somewhat tricky, as described in the
+ following, to provide maximum flexibility.
+ 
+ @cindex @@import specifications, in CSS files
+ The CSS file may begin with so-called @samp{@@import} directives,
+ which link to external CSS specifications for browsers to use when
+ interpreting the document.  Again, a full description is beyond our
+ scope here, but we'll describe how they work syntactically, so we can
+ explain how @command{makeinfo} handles them.
+ 
+ @cindex Comments, in CSS files
+ There can be more than one @samp{@@import}, but they have to come
+ first in the file, with only whitespace and comments interspersed, no
+ normal definitions.  (Technical exception: an @samp{@@charset}
+ directive may precede the @samp{@@import}'s.  This does not alter
+ @command{makeinfo}'s behavior, it just copies the @samp{@@charset} if
+ present.)  Comments in CSS files are delimited by @samp{/* ... */}, as
+ in C.  An @samp{@@import} directive must be in one of these two forms:
+ 
+ @example
+ @@import url(http://example.org/foo.css);
+ @@import "http://example.net/bar.css";;
+ @end example
+ 
+ As far as @command{makeinfo} is concerned, the crucial characters are
+ the @samp{@@} at the beginning and the semicolon terminating the
+ directive.  When reading the CSS file, it simply copies any such
+ @samp{@@}-directive into the output, as follows:
+ 
+ @itemize
+ @item If @var{file} contains only normal CSS declarations, it is
+ included after @command{makeinfo}'s default CSS, thus overriding it.
+ 
+ @item If @var{file} begins with @samp{@@import} specifications (see
+ below), then the @samp{import}'s are included first (they have to come
+ first, according to the standard), and then @command{makeinfo}'s
+ default CSS is included.  If you need to override @command{makeinfo}'s
+ defaults from an @samp{@@import}, you can do so with the @samp{!@:
+ important} CSS construct, as in:
+ @example
+ pre.smallexample @{ font-size: inherit ! important @}
+ @end example
+ 
+ @item If @var{file} contains both @samp{@@import} and inline CSS
+ specifications, the @samp{@@import}'s are included first, then
+ @command{makeinfo}'s defaults, and lastly the inline CSS from
+ @var{file}.
+ 
+ @item Any @@-directive other than @samp{@@import} and @samp{@@charset}
+ is treated as a CSS declaration, meaning @command{makeinfo} includes
+ its default CSS and then the rest of the file.
+ 
+ @end itemize
+ 
+ If the CSS file is malformed or erroneous, @command{makeinfo}'s output
+ is unspecified.  @command{makeinfo} does not try to interpret the
+ meaning of the CSS file in any way; it just looks for the special
+ @samp{@@} and @samp{;} characters and blindly copies the text into the
+ output.  Comments in the CSS file may or may not be included in the
+ output.
+ 
+ 
+ @node HTML Cross-references
+ @section HTML Cross-references
+ @cindex HTML cross-references
+ @cindex Cross-references, in HTML output
+ 
+ (xxto be written)
+ 
+ 
  @node Command List
  @appendix @@-Command List
***************
*** 15945,15948 ****
--- 15966,15976 ----
  @address@hidden, indicates repeated text.
  
+ More specifics on the general syntax of different @@-commands are
+ given in the section below.
+ 
+ @menu
+ * Command Syntax::    General syntax for varieties of @@-commands.
+ @end menu
+ 
  @sp 1
  @table @code
***************
*** 17110,17113 ****
--- 17138,17207 ----
  
  
+ @node Command Syntax
+ @section @@-Command Syntax
+ @cindex @@-command syntax
+ @cindex Syntax, of @@-commands
+ @cindex Command syntax
+ 
+ The character @samp{@@} is used to start special Texinfo commands.
+ (It has the same meaning that @samp{\} has in plain @TeX{}.)  Texinfo
+ has four types of @@-command:@refill
+ 
+ @table @asis
+ @item 1. Non-alphabetic commands.
+ These commands consist of an @@ followed by a punctuation mark or other
+ character that is not part of the alphabet.  Non-alphabetic commands are
+ almost always part of the text within a paragraph, and never take any
+ argument.  The two characters (@@ and the other one) are complete in
+ themselves; none is followed by braces.  The non-alphabetic commands
+ are: @code{@@.}, @code{@@:}, @code{@@*}, @code{@@@kbd{SPACE}},
+ @code{@@@kbd{TAB}}, @code{@@@kbd{NL}}, @code{@@@@}, @code{@@@{}, and
+ @code{@@@address@hidden
+ 
+ @item 2. Alphabetic commands that do not require arguments.
+ These commands start with @@ followed by a word followed by left- and
+ right-hand braces.  These commands insert special symbols in the
+ document; they do not require arguments.  For example,
+ @code{@@address@hidden@}} @result{} @address@hidden, @code{@@address@hidden@}}
+ @result{} @address@hidden, @code{@@address@hidden@}} @result{} 
address@hidden',
+ and @code{@@address@hidden@}} @result{} @address@hidden@refill
+ 
+ @item 3. Alphabetic commands that require arguments within braces.
+ These commands start with @@ followed by a letter or a word, followed by an
+ argument within braces.  For example, the command @code{@@dfn} indicates
+ the introductory or defining use of a term; it is used as follows: @samp{In
+ Texinfo, @@@@-commands are @@address@hidden@} address@hidden
+ 
+ @item 4. Alphabetic commands that occupy an entire line.
+ These commands occupy an entire line.  The line starts with @@,
+ followed by the name of the command (a word); for example, @code{@@center}
+ or @code{@@cindex}.  If no argument is needed, the word is followed by
+ the end of the line.  If there is an argument, it is separated from
+ the command name by a space.  Braces are not address@hidden
+ @end table
+ 
+ @cindex Braces and argument syntax
+ Thus, the alphabetic commands fall into classes that have
+ different argument syntaxes.  You cannot tell to which class a command
+ belongs by the appearance of its name, but you can tell by the
+ command's meaning: if the command stands for a glyph, it is in
+ class 2 and does not require an argument; if it makes sense to use the
+ command together with other text as part of a paragraph, the command
+ is in class 3 and must be followed by an argument in braces;
+ otherwise, it is in class 4 and uses the rest of the line as its
+ address@hidden
+ 
+ The purpose of having a different syntax for commands of classes 3 and
+ 4 is to make Texinfo files easier to read, and also to help the GNU
+ Emacs paragraph and filling commands work properly.  There is only one
+ exception to this rule: the command @code{@@refill}, which is always
+ used at the end of a paragraph immediately following the final period
+ or other punctuation character.  @code{@@refill} takes no argument and
+ does @emph{not} require braces.  @code{@@refill} never confuses the
+ Emacs paragraph commands because it cannot appear at the beginning of
+ a line.  It is also no longer needed, since all formatters now refill
+ paragraphs automatically.
+ 
+ 
  @node Tips
  @appendix Tips and Hints
***************
*** 19194,19263 ****
  
  @end ignore
- 
- 
- @node Command Syntax
- @appendix @@-Command Syntax
- @cindex @@-command syntax
- @cindex Syntax, of @@-commands
- @cindex Command syntax
- 
- The character @samp{@@} is used to start special Texinfo commands.
- (It has the same meaning that @samp{\} has in plain @TeX{}.)  Texinfo
- has four types of @@-command:@refill
- 
- @table @asis
- @item 1. Non-alphabetic commands.
- These commands consist of an @@ followed by a punctuation mark or other
- character that is not part of the alphabet.  Non-alphabetic commands are
- almost always part of the text within a paragraph, and never take any
- argument.  The two characters (@@ and the other one) are complete in
- themselves; none is followed by braces.  The non-alphabetic commands
- are: @code{@@.}, @code{@@:}, @code{@@*}, @code{@@@kbd{SPACE}},
- @code{@@@kbd{TAB}}, @code{@@@kbd{NL}}, @code{@@@@}, @code{@@@{}, and
- @code{@@@address@hidden
- 
- @item 2. Alphabetic commands that do not require arguments.
- These commands start with @@ followed by a word followed by left- and
- right-hand braces.  These commands insert special symbols in the
- document; they do not require arguments.  For example,
- @code{@@address@hidden@}} @result{} @address@hidden, @code{@@address@hidden@}}
- @result{} @address@hidden, @code{@@address@hidden@}} @result{} 
address@hidden',
- and @code{@@address@hidden@}} @result{} @address@hidden@refill
- 
- @item 3. Alphabetic commands that require arguments within braces.
- These commands start with @@ followed by a letter or a word, followed by an
- argument within braces.  For example, the command @code{@@dfn} indicates
- the introductory or defining use of a term; it is used as follows: @samp{In
- Texinfo, @@@@-commands are @@address@hidden@} address@hidden
- 
- @item 4. Alphabetic commands that occupy an entire line.
- These commands occupy an entire line.  The line starts with @@,
- followed by the name of the command (a word); for example, @code{@@center}
- or @code{@@cindex}.  If no argument is needed, the word is followed by
- the end of the line.  If there is an argument, it is separated from
- the command name by a space.  Braces are not address@hidden
- @end table
- 
- @cindex Braces and argument syntax
- Thus, the alphabetic commands fall into classes that have
- different argument syntaxes.  You cannot tell to which class a command
- belongs by the appearance of its name, but you can tell by the
- command's meaning: if the command stands for a glyph, it is in
- class 2 and does not require an argument; if it makes sense to use the
- command together with other text as part of a paragraph, the command
- is in class 3 and must be followed by an argument in braces;
- otherwise, it is in class 4 and uses the rest of the line as its
- address@hidden
- 
- The purpose of having a different syntax for commands of classes 3 and
- 4 is to make Texinfo files easier to read, and also to help the GNU
- Emacs paragraph and filling commands work properly.  There is only one
- exception to this rule: the command @code{@@refill}, which is always
- used at the end of a paragraph immediately following the final period
- or other punctuation character.  @code{@@refill} takes no argument and
- does @emph{not} require braces.  @code{@@refill} never confuses the
- Emacs paragraph commands because it cannot appear at the beginning of
- a line.  It is also no longer needed, since all formatters now refill
- paragraphs automatically.
  
  
--- 19288,19291 ----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]