texinfo-commits
[Top][All Lists]
Advanced

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

texinfo ChangeLog doc/texinfo.txi doc/draft_api...


From: Patrice Dumas
Subject: texinfo ChangeLog doc/texinfo.txi doc/draft_api...
Date: Sat, 15 Sep 2012 18:06:53 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        12/09/15 18:06:53

Modified files:
        .              : ChangeLog 
        doc            : texinfo.txi 
Added files:
        doc            : draft_api.texi 

Log message:
                * doc/texinfo.txi (texi2any Output Customization): remove 
                anything related to API description, put it in 
                draft_api.texi, it is not stable enough for now.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/ChangeLog?cvsroot=texinfo&r1=1.1423&r2=1.1424
http://cvs.savannah.gnu.org/viewcvs/texinfo/doc/texinfo.txi?cvsroot=texinfo&r1=1.484&r2=1.485
http://cvs.savannah.gnu.org/viewcvs/texinfo/doc/draft_api.texi?cvsroot=texinfo&rev=1.1

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/texinfo/texinfo/ChangeLog,v
retrieving revision 1.1423
retrieving revision 1.1424
diff -u -b -r1.1423 -r1.1424
--- ChangeLog   15 Sep 2012 15:53:07 -0000      1.1423
+++ ChangeLog   15 Sep 2012 18:06:52 -0000      1.1424
@@ -1,3 +1,9 @@
+2012-09-15  Patrice Dumas  <address@hidden>
+
+       * doc/texinfo.txi (texi2any Output Customization): remove 
+       anything related to API description, put it in 
+       draft_api.texi, it is not stable enough for now.
+
 2012-09-15  Karl Berry  <address@hidden>
 
        * doc/texinfo.txi (Print with @code{lpr}),

Index: doc/texinfo.txi
===================================================================
RCS file: /sources/texinfo/texinfo/doc/texinfo.txi,v
retrieving revision 1.484
retrieving revision 1.485
diff -u -b -r1.484 -r1.485
--- doc/texinfo.txi     15 Sep 2012 16:00:56 -0000      1.484
+++ doc/texinfo.txi     15 Sep 2012 18:06:52 -0000      1.485
@@ -1,5 +1,5 @@
 \input texinfo.tex    @c -*-texinfo-*-
address@hidden $Id: texinfo.txi,v 1.484 2012/09/15 16:00:56 karl Exp $
address@hidden $Id: texinfo.txi,v 1.485 2012/09/15 18:06:52 pertusus Exp $
 @c Ordinarily, Texinfo files have the extension .texi.  But texinfo.texi
 @c clashes with texinfo.tex on 8.3 filesystems, so we use texinfo.txi.
 
@@ -164,7 +164,7 @@
 * Generic Translator texi2any::   @command{texi2any}, an all-purpose converter.
 * Creating and Installing Info Files::  Details on Info output.
 * Generating HTML::               Details on HTML output.
-* texi2any Output Customization:: Fine tuning with initialization files.
address@hidden * texi2any Output Customization:: Fine tuning with 
initialization files.
 
 * Command List::                  All the Texinfo @@-commands.
 * Tips::                          Hints on how to write a Texinfo document.
@@ -16588,8 +16588,8 @@
 customization files that may be loaded with @option{--init-file} (see
 below).  The @var{path} value can be a single directory, or a list of
 several directories separated by the usual path separator character
-(@samp{:} on Unix-like systems, @samp{;} on Windows).  @xref{Loading
-Init Files}.
+(@samp{:} on Unix-like systems, @samp{;} on Windows). @c @xref{Loading
address@hidden Init Files}.
 
 @item address@hidden
 @opindex --css-include
@@ -16746,7 +16746,7 @@
 enforced; the @var{file} name can be anything.  The
 @option{--conf-dir} option (see above) can be used to add to the list
 of directories in which these customization files are searched for.
address@hidden Init Files}.
address@hidden @xref{Loading Init Files}.
 
 @item address@hidden
 @opindex address@hidden
@@ -17894,9 +17894,9 @@
 @cindex Options of @command{texi2html}
 @cindex Command-line options of @command{texi2html}
 Here is the table showing @command{texi2html} options and
-corresponding @command{texi2any} customization variables
-(@pxref{texi2any Output Customization,, @command{texi2any} Output
-Customization}).
+corresponding @command{texi2any} customization variables.
address@hidden (@pxref{texi2any Output Customization,, @command{texi2any} Output
address@hidden Customization}).
 
 @multitable address@hidden address@hidden
 @item @option{--toc-links}            @tab @code{TOC_LINKS}
@@ -19581,380 +19581,6 @@
 difference between the two approaches.
 
 
address@hidden texi2any Output Customization
address@hidden @command{texi2any} Output Customization
-
address@hidden
address@hidden Warning
-The information displayed here is likely to change in the future.
-In particular, the functions and their behavior may change in any
-Texinfo release. 
address@hidden quotation
address@hidden cartouche
-
-This chapter describes how to customize aspects of the
address@hidden HTML output.  Although some of the features here
-can technically be used with other output formats, it's not especially
-useful to do so, so we'll write the documentation as if HTML were the
-target format.  Most of the customizations are only available for
-HTML.
-
-This part of the manual and the corresponding interfaces are being
-stabilized, and the only parts described are those that should not
-change in the future.  Many other aspects of the formatted HTML may
-already be customized, but the interfaces will change and will be
-documented as soon as they are stable.
-
-The HTML converter takes a Texinfo Perl tree as input and transforms
-it to address@hidden  The Texinfo Perl tree describes a Texinfo document in a
-structured way which makes it easy to go through the tree and format
-@@-commands and other containers.  The code that is used to go through
-the tree cannot be customized, but the conversion of tree elements can
-be fully customized.  The tree structure and the customization of
-Texinfo Perl tree elements will be described in future versions of the
-manual.
-
address@hidden
-* Loading Init Files::               Finding and writing initialization files.
-* Init File Basics::                 What init files can contain and do.
address@hidden menu
-
-
address@hidden Loading Init Files
address@hidden Loading Initialization Files and Search Paths
-
address@hidden Loading init files
address@hidden Initialization files, loading
address@hidden Search paths, for initialization files
-
address@hidden Config @r{init files loaded}
-
-You can write so-called @dfn{initialization files}, or @dfn{init
-files} for short, to modify almost every aspect of output formatting.
-The program loads init files named @file{Config} each time it is run.
-Those files are looked for in the following directories:
-
address@hidden @file
address@hidden @var{datadir}/texi2any/
-(where @var{datadir} is the system data directory specified at
-compile-time, e.g., @file{/usr/local/share})
-
address@hidden @var{sysconfdir}/texi2any/
-(likewise specified at compile time, e.g., @file{/usr/local/etc})
-
address@hidden ~/.texi2any/
-(where @code{~} is the current user's home directory)
-
address@hidden ./.texi2any/
-(under the current directory)
-
address@hidden ./
-(the current directory)
address@hidden table
-
-All @file{Config} files found are loaded, in the above order.  Thus,
address@hidden/Config} can override entries in, say,
address@hidden/usr/local/share/makeinfo/Config}.
-
address@hidden --init-file
-However, the most common way to load an initialization file is with
-the @option{--init-file} option, explicitly specifying the file to be
-loaded.  By default the following directories are searched, in the
-following order.
address@hidden  where @var{prog} is the name of the program invoked
address@hidden on the command line (@command{makeinfo}, @command{texi2any}, 
etc.).
-Only the first file found is used:
-
address@hidden
address@hidden The current directory @file{./};
-
address@hidden @file{./.texi2any/} under the current directory;
-
address@hidden @file{~/.texi2any/}
-where @code{~} is the current user's home directory;
-
address@hidden @address@hidden/texi2any/}
-where @var{sysconfdir} is the system configuration directory
-specified at compile-time, e.g., @file{/usr/local/etc};
-
address@hidden @address@hidden/texi2any/}
-Where @var{datadir} is the system data directory likewise specified at
-compile time, e.g., @file{/usr/local/share};
-
address@hidden @file{./.texinfo/init/} under the current directory;
-
address@hidden @file{~/.texinfo/init/} under the current home directory;
-
address@hidden @address@hidden/texinfo/init/} with @var{sysconfdir} as above;
-
address@hidden @address@hidden/texinfo/init/} with @var{datadir} as above.
address@hidden enumerate
-
-Additional directories may be prepended to the list with the
address@hidden option (@pxref{Invoking texi2any}).
-
-
address@hidden Init File Basics
address@hidden Init File Basics
-
address@hidden Init file basics
address@hidden Perl, language for init files
-
-Init files are written in Perl, and by convention have extension
address@hidden or @file{.pm}.  
address@hidden Several init files are included in the Texinfo
address@hidden distribution (some are crucial components of the program), and 
can
address@hidden serve as a good model for writing your own. 
address@hidden  Smaller examples include @file{utf8.pm},
address@hidden @file{html32.pm}, and plenty more.
-
address@hidden
-* Init File Namespaces:: @code{Texinfo::Config}.
-* Setting and Getting Customization Variables::
-* Internationalization of Strings::
address@hidden menu
address@hidden * Init File Expansion Contexts::     Normal, preformatted, 
string, math.
-
-
address@hidden Init File Namespaces
address@hidden Init File Namespaces
-
address@hidden Init file namespaces
address@hidden Namespaces, for init files
address@hidden Perl namespaces, for init files
-
address@hidden when colons are supported ... vindex Texinfo::Config 
@r{namespace}
-Initialization file are loaded from the main program via an
address@hidden call in the @code{Texinfo::Config} namespace.  This
-means that the namespace of the main program and the namespace of
-initialization files are distinct, which minimizes the chance of a
-name clash.  
-
address@hidden Setting and Getting Customization Variables
address@hidden Setting and Getting Customization Variables
-
address@hidden Customization variables, setting and getting
-
-The basic operations on customization variables are to set and
-retrieve their values.
-
-To set the value of a customization variable from an initialization
-file, you should use @code{set_from_init_file}:
-
address@hidden set_from_init_file ($variable_name, $variable_value)
address@hidden is a string containing the name of the variable
-you want to set, and @var{$variable_value} is the value to which you
-want to set it.  @var{$variable_value} may be @samp{undef}.
address@hidden defun
-
-For example,
-
address@hidden
-set_from_init_file('documentlanguage', 'fr');
address@hidden example
-
address@hidden overrides the @code{@@documentlanguage} from the
-document.  It would be overridden by @option{--document-language} on
-the command line.
-
-Another example:
-
address@hidden
-set_from_init_file('SPLIT', 'chapter');
address@hidden example
-
address@hidden overrides the default splitting of the document.  It would be
-overridden by @option{--split} on the command line.
-
-A final example:
-
address@hidden
-set_from_init_file('NO_CSS', 1);
address@hidden example
-
address@hidden overrides the default value for @code{NO_CSS}.  It would be
-overridden by @code{--set-customization-variable NO_CSS=1} on the command line.
-
-To get the value of a variable, the function is @code{get_conf}:
-
address@hidden get_conf ($variable_name)
address@hidden is the name of the variable; its value (possibly
address@hidden) is returned.
address@hidden defun
-
-For example:
-
address@hidden
-if (get_conf('footnotestyle') eq 'separate') @{ ... @}
address@hidden example
-
-For the customization variables associated with @@-commands, see
address@hidden Variables for @@-Commands}.  For the customization
-variables associated with command line options, see @ref{Customization
-Variables and Options}.
-
-
- @ignore
address@hidden The following is still true, but right now nothing uses these 
contexts
address@hidden in init files.
address@hidden 
address@hidden @node Init File Expansion Contexts
address@hidden @subsection Init File Expansion Contexts: Normal, Preformatted, 
String, Math
address@hidden 
address@hidden @cindex Init file expansion contexts
address@hidden @cindex Expansion contexts, for init files
address@hidden @cindex Contexts for expansion in init files
address@hidden 
address@hidden There are four expansion contexts of interest:
address@hidden 
address@hidden @table @emph 
address@hidden @item normal context
address@hidden @cindex Normal expansion context
address@hidden Paragraphs, index entries, tables, @enddots{}
address@hidden 
address@hidden @item preformatted context
address@hidden @cindex Preformatted expansion context
address@hidden When spaces between words are kept.  For example, within the
address@hidden @code{@@display} (@pxref{display,, @code{@@display}}) and
address@hidden @code{@@example} environments (@pxref{example,, 
@code{@@example}}), and
address@hidden in menu comments.  The preformatted regions
address@hidden are usually rendered using @code{<pre>} elements in HTML.
address@hidden 
address@hidden @c oldapi (@pxref{Menu formatting})
address@hidden 
address@hidden @item string context
address@hidden @cindex String expansion context
address@hidden When rendering strings without formatting elements, for example 
in
address@hidden comments (@pxref{Comments}) and titles.  In the string context, 
there
address@hidden is limited formatting, typically without any element when 
producing HTML,
address@hidden so the value can be used in an attribute.
address@hidden 
address@hidden @item math context
address@hidden @cindex Math expansion context
address@hidden Math (@pxref{math,, @code{@@math}}).
address@hidden 
address@hidden @end table
address@hidden ignore
-
-
address@hidden Internationalization of Strings
address@hidden Internationalization of Strings in the Output Document
-
address@hidden I18n
address@hidden Internationalization of strings in the output document
address@hidden Output documentation, internationalization of
-
address@hidden documentlanguage @r{customization variable}
address@hidden writes some fixed strings in the generated document
-at various places: for cross references, in page footers, on the help
-page, alternate text for images, and so on.  The string chosen depends
-on the value of the customization variable @code{documentlanguage} at
-the time of the string being output (@pxref{documentlanguage}, for the
-Texinfo command interface).
-
address@hidden libintl-perl @r{Gettext implementation}
-The Gettext framework is used for those strings (@pxref{Top,,,
-gettext, Gettext}).  The @code{libintl-perl} package is used as
-the @code{gettext} implementation; more specifically, the pure Perl
-implementation is used, so Texinfo can support consistent behavior
-across all platforms and installations, which would not otherwise be
-possible.  @code{libintl-perl} is included in the Texinfo distribution
-and always installed, to be sure that it is available if needed.  It
-is also possible to use the system @code{gettext} (currently decided
-at build-time).  
-
address@hidden texinfo_document @r{Gettext domain}
-The Gettext domain @samp{texinfo_document} is used for the strings,
-and the subroutine @code{gdt} is used for translated
-strings:
-
address@hidden gdt (\%converter, $string, \%variables_hash)
address@hidden is the string to be translated, @var{\%variables_hash}
-is a hash reference holding the variable parts of the translated
-string, and @var{\%converter} is an object which holds the informations
-about the context.  The result returned is a perl Texinfo tree.
address@hidden defun
-
address@hidden Perl format strings for translation
-Translated strings are written as Texinfo, and may include
-@@-commands.  In translated strings, the varying parts of the string
-are not usually denoted by @code{%s} and the like, but by
address@hidden@address@hidden  (This convention is common for @code{gettext} in
-Perl and is fully supported in GNU Gettext; @pxref{perl-format,, Perl
-Format Strings, gettext, GNU Gettext}.)  For example, in the
-following, @address@hidden@}} will be replaced by the section name:
-
address@hidden
-see @address@hidden
address@hidden example
-
-These Perl-style brace format strings are used for two reasons: first,
-changing the order of @code{printf} arguments is only available since
address@hidden; second, and more importantly, the order of the
-argument is unpredictable, since @@-command expansion may lead to
-different orders depending on the output format.  The expansion of
-a translation string is done like this:
-
address@hidden
address@hidden First, the string is translated.  The locale 
-is @var{@@address@hidden@var{@@documentencoding}.
-
address@hidden @code{us-ascii} encoding, and translations
-If the @var{@@documentlanguage} has the form @var{ll_CC}, @var{ll_CC}
-is tried first, and then @var{ll}.  If that does not exist, and the
-encoding is not @code{us-ascii}, then @code{us-ascii} is tried.  The
-idea is that if there is a @code{us-ascii} encoding, it means that all
-the characters in the charset may be expressed as @@-commands.  For
-example, there is a @code{fr.us-ascii} locale that can accommodate any
-encoding, since all the address@hidden characters have associated
-@@-commands.  On the other hand, Japanese has only a translation
address@hidden, since there are no @@-commands for Japanese
-characters.
-
address@hidden Next, the string is expanded as Texinfo, and converted to a
-Texinfo tree in perl.
-The arguments are substituted; for example, @address@hidden@}} is 
-replaced by the corresponding actual argument, which should be 
-Texinfo perl trees or Texinfo perl tree contents arrays.
-
address@hidden enumerate
-
-In the following example, @address@hidden@}}, @address@hidden@}}
-and @address@hidden@}} are the arguments of the string.  Since they
-are used in @code{@@uref}, their order is not predictable.
address@hidden@address@hidden, @address@hidden@}} and @address@hidden@}} are 
-substituted after the expansion, which means that they should already be
-Texinfo perl trees or Texinfo perl tree contents:
-
address@hidden
-gdt('Generated on @@address@hidden@address@hidden@} using
-     @@address@hidden@address@hidden, 
@@address@hidden@address@hidden@address@hidden',
-    @{
-     'date' => expand_today(\%converter),
-     'program_homepage' 
-         => @{'text' => 
$Texi2HTML::address@hidden'program_homepage'@address@hidden,
-     'program' 
-         => @{'text' => 
$Texi2HTML::address@hidden'program_and_version'@address@hidden @},
-   );
address@hidden example
-
-This approach is admittedly a bit complicated.  Its usefulness is that
-it supports having translations available in different encodings for
-encodings which can be covered by @@-commands, and also specifying how
-the formatting for some commands is done, independently of the output
-format---yet still be language dependent.  For example, an
address@hidden@@pxref} translation string may be:
-
address@hidden
-see @address@hidden section address@hidden@}\' in 
@@address@hidden@address@hidden@}
address@hidden example
-
address@hidden
-which allows specifying a string independently of the output format,
-but with rich formatting that may be translated appropriately in many
-languages.
-
-
 @node Command List
 @appendix @@-Command List
 @cindex Alphabetical @@-command list
@@ -21947,7 +21573,7 @@
 or other version control systems, which expand it into a string such
 as:
 @example
-$Id: texinfo.txi,v 1.484 2012/09/15 16:00:56 karl Exp $
+$Id: texinfo.txi,v 1.485 2012/09/15 18:06:52 pertusus Exp $
 @end example
 (This is useful in all sources that use version control, not just manuals.)
 You may wish to include the @samp{$Id:} comment in the @code{@@copying}

Index: doc/draft_api.texi
===================================================================
RCS file: doc/draft_api.texi
diff -N doc/draft_api.texi
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ doc/draft_api.texi  15 Sep 2012 18:06:53 -0000      1.1
@@ -0,0 +1,376 @@
+
address@hidden texi2any Output Customization
address@hidden @command{texi2any} Output Customization
+
address@hidden
address@hidden Warning
+The information displayed here is likely to change in the future.
+In particular, the functions and their behavior may change in any
+Texinfo release. 
address@hidden quotation
address@hidden cartouche
+
+This chapter describes how to customize aspects of the
address@hidden HTML output.  Although some of the features here
+can technically be used with other output formats, it's not especially
+useful to do so, so we'll write the documentation as if HTML were the
+target format.  Most of the customizations are only available for
+HTML.
+
+This part of the manual and the corresponding interfaces are being
+stabilized, and the only parts described are those that should not
+change in the future.  Many other aspects of the formatted HTML may
+already be customized, but the interfaces will change and will be
+documented as soon as they are stable.
+
+The HTML converter takes a Texinfo Perl tree as input and transforms
+it to address@hidden  The Texinfo Perl tree describes a Texinfo document in a
+structured way which makes it easy to go through the tree and format
+@@-commands and other containers.  The code that is used to go through
+the tree cannot be customized, but the conversion of tree elements can
+be fully customized.  The tree structure and the customization of
+Texinfo Perl tree elements will be described in future versions of the
+manual.
+
address@hidden
+* Loading Init Files::               Finding and writing initialization files.
+* Init File Basics::                 What init files can contain and do.
address@hidden menu
+
+
address@hidden Loading Init Files
address@hidden Loading Initialization Files and Search Paths
+
address@hidden Loading init files
address@hidden Initialization files, loading
address@hidden Search paths, for initialization files
+
address@hidden Config @r{init files loaded}
+
+You can write so-called @dfn{initialization files}, or @dfn{init
+files} for short, to modify almost every aspect of output formatting.
+The program loads init files named @file{Config} each time it is run.
+Those files are looked for in the following directories:
+
address@hidden @file
address@hidden @var{datadir}/texi2any/
+(where @var{datadir} is the system data directory specified at
+compile-time, e.g., @file{/usr/local/share})
+
address@hidden @var{sysconfdir}/texi2any/
+(likewise specified at compile time, e.g., @file{/usr/local/etc})
+
address@hidden ~/.texi2any/
+(where @code{~} is the current user's home directory)
+
address@hidden ./.texi2any/
+(under the current directory)
+
address@hidden ./
+(the current directory)
address@hidden table
+
+All @file{Config} files found are loaded, in the above order.  Thus,
address@hidden/Config} can override entries in, say,
address@hidden/usr/local/share/makeinfo/Config}.
+
address@hidden --init-file
+However, the most common way to load an initialization file is with
+the @option{--init-file} option, explicitly specifying the file to be
+loaded.  By default the following directories are searched, in the
+following order.
address@hidden  where @var{prog} is the name of the program invoked
address@hidden on the command line (@command{makeinfo}, @command{texi2any}, 
etc.).
+Only the first file found is used:
+
address@hidden
address@hidden The current directory @file{./};
+
address@hidden @file{./.texi2any/} under the current directory;
+
address@hidden @file{~/.texi2any/}
+where @code{~} is the current user's home directory;
+
address@hidden @address@hidden/texi2any/}
+where @var{sysconfdir} is the system configuration directory
+specified at compile-time, e.g., @file{/usr/local/etc};
+
address@hidden @address@hidden/texi2any/}
+Where @var{datadir} is the system data directory likewise specified at
+compile time, e.g., @file{/usr/local/share};
+
address@hidden @file{./.texinfo/init/} under the current directory;
+
address@hidden @file{~/.texinfo/init/} under the current home directory;
+
address@hidden @address@hidden/texinfo/init/} with @var{sysconfdir} as above;
+
address@hidden @address@hidden/texinfo/init/} with @var{datadir} as above.
address@hidden enumerate
+
+Additional directories may be prepended to the list with the
address@hidden option (@pxref{Invoking texi2any}).
+
+
address@hidden Init File Basics
address@hidden Init File Basics
+
address@hidden Init file basics
address@hidden Perl, language for init files
+
+Init files are written in Perl, and by convention have extension
address@hidden or @file{.pm}.  
address@hidden Several init files are included in the Texinfo
address@hidden distribution (some are crucial components of the program), and 
can
address@hidden serve as a good model for writing your own. 
address@hidden  Smaller examples include @file{utf8.pm},
address@hidden @file{html32.pm}, and plenty more.
+
address@hidden
+* Init File Namespaces:: @code{Texinfo::Config}.
+* Setting and Getting Customization Variables::
+* Internationalization of Strings::
address@hidden menu
address@hidden * Init File Expansion Contexts::     Normal, preformatted, 
string, math.
+
+
address@hidden Init File Namespaces
address@hidden Init File Namespaces
+
address@hidden Init file namespaces
address@hidden Namespaces, for init files
address@hidden Perl namespaces, for init files
+
address@hidden when colons are supported ... vindex Texinfo::Config 
@r{namespace}
+Initialization file are loaded from the main program via an
address@hidden call in the @code{Texinfo::Config} namespace.  This
+means that the namespace of the main program and the namespace of
+initialization files are distinct, which minimizes the chance of a
+name clash.  
+
address@hidden Setting and Getting Customization Variables
address@hidden Setting and Getting Customization Variables
+
address@hidden Customization variables, setting and getting
+
+The basic operations on customization variables are to set and
+retrieve their values.
+
+To set the value of a customization variable from an initialization
+file, you should use @code{set_from_init_file}:
+
address@hidden set_from_init_file ($variable_name, $variable_value)
address@hidden is a string containing the name of the variable
+you want to set, and @var{$variable_value} is the value to which you
+want to set it.  @var{$variable_value} may be @samp{undef}.
address@hidden defun
+
+For example,
+
address@hidden
+set_from_init_file('documentlanguage', 'fr');
address@hidden example
+
address@hidden overrides the @code{@@documentlanguage} from the
+document.  It would be overridden by @option{--document-language} on
+the command line.
+
+Another example:
+
address@hidden
+set_from_init_file('SPLIT', 'chapter');
address@hidden example
+
address@hidden overrides the default splitting of the document.  It would be
+overridden by @option{--split} on the command line.
+
+A final example:
+
address@hidden
+set_from_init_file('NO_CSS', 1);
address@hidden example
+
address@hidden overrides the default value for @code{NO_CSS}.  It would be
+overridden by @code{--set-customization-variable NO_CSS=1} on the command line.
+
+To get the value of a variable, the function is @code{get_conf}:
+
address@hidden get_conf ($variable_name)
address@hidden is the name of the variable; its value (possibly
address@hidden) is returned.
address@hidden defun
+
+For example:
+
address@hidden
+if (get_conf('footnotestyle') eq 'separate') @{ ... @}
address@hidden example
+
+For the customization variables associated with @@-commands, see
address@hidden Variables for @@-Commands}.  For the customization
+variables associated with command line options, see @ref{Customization
+Variables and Options}.
+
+
+ @ignore
address@hidden The following is still true, but right now nothing uses these 
contexts
address@hidden in init files.
address@hidden 
address@hidden @node Init File Expansion Contexts
address@hidden @subsection Init File Expansion Contexts: Normal, Preformatted, 
String, Math
address@hidden 
address@hidden @cindex Init file expansion contexts
address@hidden @cindex Expansion contexts, for init files
address@hidden @cindex Contexts for expansion in init files
address@hidden 
address@hidden There are four expansion contexts of interest:
address@hidden 
address@hidden @table @emph 
address@hidden @item normal context
address@hidden @cindex Normal expansion context
address@hidden Paragraphs, index entries, tables, @enddots{}
address@hidden 
address@hidden @item preformatted context
address@hidden @cindex Preformatted expansion context
address@hidden When spaces between words are kept.  For example, within the
address@hidden @code{@@display} (@pxref{display,, @code{@@display}}) and
address@hidden @code{@@example} environments (@pxref{example,, 
@code{@@example}}), and
address@hidden in menu comments.  The preformatted regions
address@hidden are usually rendered using @code{<pre>} elements in HTML.
address@hidden 
address@hidden @c oldapi (@pxref{Menu formatting})
address@hidden 
address@hidden @item string context
address@hidden @cindex String expansion context
address@hidden When rendering strings without formatting elements, for example 
in
address@hidden comments (@pxref{Comments}) and titles.  In the string context, 
there
address@hidden is limited formatting, typically without any element when 
producing HTML,
address@hidden so the value can be used in an attribute.
address@hidden 
address@hidden @item math context
address@hidden @cindex Math expansion context
address@hidden Math (@pxref{math,, @code{@@math}}).
address@hidden 
address@hidden @end table
address@hidden ignore
+
+
address@hidden Internationalization of Strings
address@hidden Internationalization of Strings in the Output Document
+
address@hidden I18n
address@hidden Internationalization of strings in the output document
address@hidden Output documentation, internationalization of
+
address@hidden documentlanguage @r{customization variable}
address@hidden writes some fixed strings in the generated document
+at various places: for cross references, in page footers, on the help
+page, alternate text for images, and so on.  The string chosen depends
+on the value of the customization variable @code{documentlanguage} at
+the time of the string being output (@pxref{documentlanguage}, for the
+Texinfo command interface).
+
address@hidden libintl-perl @r{Gettext implementation}
+The Gettext framework is used for those strings (@pxref{Top,,,
+gettext, Gettext}).  The @code{libintl-perl} package is used as
+the @code{gettext} implementation; more specifically, the pure Perl
+implementation is used, so Texinfo can support consistent behavior
+across all platforms and installations, which would not otherwise be
+possible.  @code{libintl-perl} is included in the Texinfo distribution
+and always installed, to be sure that it is available if needed.  It
+is also possible to use the system @code{gettext} (currently decided
+at build-time).  
+
address@hidden texinfo_document @r{Gettext domain}
+The Gettext domain @samp{texinfo_document} is used for the strings,
+and the subroutine @code{gdt} is used for translated
+strings:
+
address@hidden gdt (\%converter, $string, \%variables_hash)
address@hidden is the string to be translated, @var{\%variables_hash}
+is a hash reference holding the variable parts of the translated
+string, and @var{\%converter} is an object which holds the informations
+about the context.  The result returned is a perl Texinfo tree.
address@hidden defun
+
address@hidden Perl format strings for translation
+Translated strings are written as Texinfo, and may include
+@@-commands.  In translated strings, the varying parts of the string
+are not usually denoted by @code{%s} and the like, but by
address@hidden@address@hidden  (This convention is common for @code{gettext} in
+Perl and is fully supported in GNU Gettext; @pxref{perl-format,, Perl
+Format Strings, gettext, GNU Gettext}.)  For example, in the
+following, @address@hidden@}} will be replaced by the section name:
+
address@hidden
+see @address@hidden
address@hidden example
+
+These Perl-style brace format strings are used for two reasons: first,
+changing the order of @code{printf} arguments is only available since
address@hidden; second, and more importantly, the order of the
+argument is unpredictable, since @@-command expansion may lead to
+different orders depending on the output format.  The expansion of
+a translation string is done like this:
+
address@hidden
address@hidden First, the string is translated.  The locale 
+is @var{@@address@hidden@var{@@documentencoding}.
+
address@hidden @code{us-ascii} encoding, and translations
+If the @var{@@documentlanguage} has the form @var{ll_CC}, @var{ll_CC}
+is tried first, and then @var{ll}.  If that does not exist, and the
+encoding is not @code{us-ascii}, then @code{us-ascii} is tried.  The
+idea is that if there is a @code{us-ascii} encoding, it means that all
+the characters in the charset may be expressed as @@-commands.  For
+example, there is a @code{fr.us-ascii} locale that can accommodate any
+encoding, since all the address@hidden characters have associated
+@@-commands.  On the other hand, Japanese has only a translation
address@hidden, since there are no @@-commands for Japanese
+characters.
+
address@hidden Next, the string is expanded as Texinfo, and converted to a
+Texinfo tree in perl.
+The arguments are substituted; for example, @address@hidden@}} is 
+replaced by the corresponding actual argument, which should be 
+Texinfo perl trees or Texinfo perl tree contents arrays.
+
address@hidden enumerate
+
+In the following example, @address@hidden@}}, @address@hidden@}}
+and @address@hidden@}} are the arguments of the string.  Since they
+are used in @code{@@uref}, their order is not predictable.
address@hidden@address@hidden, @address@hidden@}} and @address@hidden@}} are 
+substituted after the expansion, which means that they should already be
+Texinfo perl trees or Texinfo perl tree contents:
+
address@hidden
+gdt('Generated on @@address@hidden@address@hidden@} using
+     @@address@hidden@address@hidden, 
@@address@hidden@address@hidden@address@hidden',
+    @{
+     'date' => expand_today(\%converter),
+     'program_homepage' 
+         => @{'text' => 
$Texi2HTML::address@hidden'program_homepage'@address@hidden,
+     'program' 
+         => @{'text' => 
$Texi2HTML::address@hidden'program_and_version'@address@hidden @},
+   );
address@hidden example
+
+This approach is admittedly a bit complicated.  Its usefulness is that
+it supports having translations available in different encodings for
+encodings which can be covered by @@-commands, and also specifying how
+the formatting for some commands is done, independently of the output
+format---yet still be language dependent.  For example, an
address@hidden@@pxref} translation string may be:
+
address@hidden
+see @address@hidden section address@hidden@}\' in 
@@address@hidden@address@hidden@}
address@hidden example
+
address@hidden
+which allows specifying a string independently of the output format,
+but with rich formatting that may be translated appropriately in many
+languages.
+
+
address@hidden Command List



reply via email to

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