summaryrefslogtreecommitdiff
path: root/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in')
-rw-r--r--Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in87
1 files changed, 55 insertions, 32 deletions
diff --git a/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in b/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in
index 4783b706fb3..f876aba940f 100644
--- a/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in
+++ b/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in
@@ -28,7 +28,7 @@ texindy - create sorted and tagged index from raw LaTeX index
-L / --language
-C / --codepage
-M / --module (multiple times)
- -I / --input-markup (supported: latex, omega)
+ -I / --input-markup (supported: latex, xelatex, omega)
=head1 DESCRIPTION
@@ -41,9 +41,6 @@ by xindy modules, with a convenient set already preloaded.
Files with the raw index are passed as arguments. If no arguments are
passed, the raw index will be read from standard input.
-B<Do not use texindy with XeLaTeX or LuaLaTeX!> When you use these
-LaTeX engines, you must use B<xindy -C utf8 -M texindy -M page-ranges> instead.
-
A good introductionary description of B<texindy> appears in the
indexing chapter of the LaTeX Companion (2nd ed.)
@@ -105,28 +102,46 @@ C<--debug> or C<--verbose>.
The index is sorted according to the rules of language I<lang>. These
rules are encoded in a xindy module created by I<make-rules>.
-If no input encoding is specified via C<--codepage>, a xindy module
-for that language is searched with a latin, a cp, an iso, or ascii
-encoding, in that order.
+If no input encoding is specified via C<--codepage> or enforced by
+input markup, a xindy module for that language is searched with a
+latin, a cp, an iso, ascii, or utf8 encoding, in that order.
+
+=item C<--codepage> I<enc> / B<-C> I<enc>
+
+There are two different situations and use cases for this option.
-=item C<--codepage> I<enc> / B <-C> I<enc>
+=over
+
+=item 1.
-B<texindy>'s raw input is always assumed to be encoded in LaTeX
-Internal Character Representation (LICR). I.e., non-ASCII characters
-are encoded as command sequences. This option tells xindy the encoding
-it shall use internally for sorting.
+Input markup is C<latex> (the default).
-Effectively, you need this option to specify the encoding of letter
-group headings.
+Then B<texindy>'s raw input is assumed to be encoded in LaTeX Internal
+Character Representation (LICR). I.e., non-ASCII characters are
+encoded as command sequences. This option tells xindy the encoding it
+shall use for letter group headings. (Additionally it specifies the
+encoding used internally for sorting -- but that doesn't matter for
+the result.)
-Encoding C<utf8> is only supported for Latin alphabets. But if you use
-non-Latin alphabets, you probably use XeLaTeX or LuaLaTeX and then you
-must not use B<texindy> anyhow. Then direct usage of B<xindy> is
-appropriate.
+Only LICR encodings for Latin script alphabets are supported; more
+precisely characters that are in LaTeX latin1, latin2, and latin3 LICR
+encodings.
+
+Even when you specify C<utf8> as codepage, only these characters will
+be known. But if you use non-Latin alphabets, you probably use (or
+should use) XeLaTeX or LuaLaTeX and then you have a different input
+markup.
-When C<omega> input markup is used, C<utf8> is always used as the sort
-codepage and no inputenc module is loaded. Then this option is
-ignored.
+=item 2.
+
+Input markup is C<xelatex> or C<omega>.
+
+Then this option is ignored; codepage C<utf8> is enforced.
+
+B<texindy>'s raw input is assumed to be UTF-8 encoded, LICR is not
+used.
+
+=back
=item C<--module> I<module> / B<-M> I<module>
@@ -137,17 +152,22 @@ can be changed with the environment variable C<XINDY_SEARCHPATH>.
=item C<--input-markup> I<input> / B<-I> I<input>
Specifies the input markup of the raw index. Supported values for
-I<input> are C<latex> and C<omega>.
+I<input> are C<latex>, C<xelatex>, and C<omega>.
C<latex> input markup is the one that is emitted by default from the
-LaTeX kernel, or by the C<index> macro package of David Jones.
-^^-notation of single byte characters is supported. Usage of LaTeX's
-I<inputenc> package is assumed as well.
+LaTeX kernel, or by the C<index> macro package of David Jones, when
+used with standard LaTeX or pdfLaTeX. ^^-notation of single byte
+characters is supported. Usage of LaTeX's I<inputenc> package is
+assumed as well, i.e., raw input is encoded in LICR.
+
+C<xelatex> input markup is like C<latex>, but without I<inputenc>
+usage. Raw input is encoded in UTF-8. LuaLaTeX has the same input
+markup, there's no special option value for it.
C<omega> input markup is like C<latex> input markup, but with Omega's
-^^-notation as encoding for non-ASCII characters. LaTeX I<inputenc>
-encoding is not used then, and C<utf8> is enforced to be the codepage
-for sorting.
+^^-notation as encoding for non-ASCII characters. LICR encoding is not
+used then, and C<utf8> is enforced to be the codepage for sorting and
+for output of letter group headings.
=back
@@ -346,6 +366,8 @@ Joachim Schrod
=head1 LEGALESE
+Copyright (c) 2004-2014 by Joachim Schrod.
+
B<texindy> is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
@@ -553,15 +575,16 @@ sub parse_options() {
unshift (@modules, ($letter_ordering ? 'letter-order' : 'word-order'));
unshift (@modules, 'page-ranges') unless $no_ranges;
- # Check that the input markup is known. omega markup implies
+ # Check that the input markup is known. xelatex and omega markup implies
# codepage utf8 for sorting, but no inputenc. We set the codepage
# to undef to prevent loading of the inputenc module. Setting it
- # to utf8 for the sort encoding is done by the xindy script.
- if ( $input_markup ne 'latex' && $input_markup ne 'omega' ) {
+ # to utf8 for sort encoding is done by the xindy script.
+ if ( $input_markup ne 'latex' && $input_markup ne 'xelatex' &&
+ $input_markup ne 'omega' ) {
print STDERR "Unsupported input markup $input_markup.\n";
usage(1);
}
- if ( $input_markup eq 'omega' ) {
+ if ( $input_markup eq 'xelatex' || $input_markup eq 'omega' ) {
$codepage = undef;
}