glfs/pst/typesetting/xindy.xml
2024-02-21 18:17:01 +00:00

247 lines
7.6 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY xindy-download-http "https://tug.ctan.org/support/xindy/base/xindy-&xindy-version;.tar.gz">
<!ENTITY xindy-download-ftp " ">
<!ENTITY xindy-md5sum "221acfeeb0f6f8388f89a59c56491041">
<!ENTITY xindy-size "506 KB">
<!ENTITY xindy-buildsize "15 MB">
<!ENTITY xindy-time "less than 0.1 SBU">
]>
<sect1 id="xindy" xreflabel="xindy-&xindy-version;">
<?dbhtml filename="xindy.html"?>
<title>xindy-&xindy-version;</title>
<indexterm zone="xindy">
<primary sortas="a-xindy">xindy</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to xindy</title>
<para>
<!-- LaTeX for the system, but just latex for the command -->
<application>Xindy</application> is an index processor that can be used
to generate book-like indexes for arbitrary document-preparation systems.
This includes systems such as TeX and LaTeX, the roff-family, and
SGML/XML-based systems (e.g., HTML) that process some kind of text and
generate indexing information.
</para>
&lfs121_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&xindy-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&xindy-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &xindy-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &xindy-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &xindy-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &xindy-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Required Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Required patch: <ulink
url="&patch-root;/xindy-&xindy-version;-upstream_fixes-2.patch"/>
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Xindy Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="clisp"/> and
<xref linkend="texlive"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of xindy</title>
<para>
Install <application>xindy</application> by running the following
commands:
</para>
<screen><userinput>export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &amp;&amp;
sed -i "s/ grep -v '^;'/ awk NF/" make-rules/inputenc/Makefile.in &amp;&amp;
sed -i 's%\(indexentry\)%\1\\%' make-rules/inputenc/make-inp-rules.pl &amp;&amp;
patch -Np1 -i ../xindy-&xindy-version;-upstream_fixes-2.patch &amp;&amp;
./configure --prefix=$TEXLIVE_PREFIX \
--bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \
--datarootdir=$TEXLIVE_PREFIX \
--includedir=/usr/include \
--libdir=$TEXLIVE_PREFIX/texmf-dist \
--mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man &amp;&amp;
make LC_ALL=POSIX</userinput></screen>
<para>
This package does not have a test suite.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>sed -i "s/ grep -v '^;'/ awk NF/" ...</command>: The build
sorts files in latin{1..3} encodings to create latin.xdy, and unicode
versions of these to create utf8.xdy after using
<command>grep -v '^;'</command> to remove blank lines. With
<application>grep-2.23</application> any data not in the expected
encoding is treated as binary, resulting in a useless file. This
command uses an alternative way of removing blank lines.
</para>
<para>
<command>sed -i 's%\(indexentry\)%\1\\%' ...</command>: A regexp
contains <literal>indexentry{</literal> - perl has warned about the
unescaped left brace for some time and now treats it as illegal.
Change it to <literal>indexentry\{</literal>, doubling the backslash
for <command>sed</command>.
</para>
<para>
<command>patch -Np1 -i ../xindy-&xindy-version;-upstream_fixes-2.patch</command>:
<application>Xindy</application> is now maintained at CTAN. This patch
updates the source with some of the changes made there (but ignoring
changes which were only made to allow for spaces in pathnames and some trivial
recent changes).
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/tex-prefix.xml"/>
<para>
<parameter>--includedir=/usr/include</parameter>:
This parameter ensures that the <filename>kpathsea</filename>
headers from <xref linkend="texlive"/> will be found.
</para>
<para>
<command>make LC_ALL=POSIX</command>: with the current version of
<application>coreutils</application> it is essential to build
<application>xindy</application> in the POSIX (or C) locale because in a
UTF-8 locale the file <filename>latin.xdy</filename> will contain only a
heading and then a line '<literal>Binary file (standard input)
matches</literal>' instead of the many lines of
<application>lisp</application> merge-rule commands it ought to contain.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>
tex2xindy, texindy, xindy
</seg>
<seg>
None
</seg>
<seg>
$TEXLIVE_PREFIX/texmf-dist/xindy
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="tex2xindy">
<term><command>tex2xindy</command></term>
<listitem>
<para>
transforms a LaTeX index file into a xindy raw index file
</para>
<indexterm zone="xindy tex2xindy">
<primary sortas="b-tex2xindy">tex2xindy</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="texindy">
<term><command>texindy</command></term>
<listitem>
<para>
is a wrapper for xindy that turns on many LaTeX conventions by default
</para>
<indexterm zone="xindy texindy">
<primary sortas="b-texindy">texindy</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="xindy-prog">
<term><command>xindy</command></term>
<listitem>
<para>
creates a sorted and tagged index from a raw LaTeX index
</para>
<indexterm zone="xindy xindy">
<primary sortas="b-xindy">xindy</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>