tex2xindy(1)
π tex2xindy β the xindy preprocessor π
okay bestie, gather round, because we're about to talk about tex2xindy, which lives in section 1 of the manual for the xindy family. it's literally a preprocessor of the xindy index processor. that's the whole vibe. π
β¨ SYNOPSIS β¨
tex2xindy [-o] [attr_file]
πΈ DESCRIPTION πΈ
so what does this lil icon actually do? tex2xindy transforms a LaTeX index file .idx (or an .aux file, we're flexible like that π
) into a xindy raw index file. glow-up complete. β¨
it's a filter, bestie β a filter that reads from stdin a file in the input format of LaTeX's raw index file, i.e. one with "\indexentry" tags. and then it outputs on stdout a xindy raw index file, i.e. one with "indexentry" clauses. in goes LaTeX nonsense, out comes xindy perfection. no cap. π₯
now here's where it gets spicy, because the -o option changes everything:
- if the option
-ois not specified,tex2xindyhandles the^^-notation of TeX and outputs the octet that is represented:"^^ab"in the input gets output as the octet0xab. and if"^^^^abcd"or"^^^^^^^^abcdefab"are detected, they are output as is β untouched, unbothered, exactly as they came. π - if the option
-ois specified,tex2xindyoperates in Omega mode π¦ and handles its^^-notation. so then"^^ab","^^^^abcd", and"^^^^^^^^abcdefab"represent Unicode characters with code points0xab,0xabcd, and0xabcdefabrespectively. and they get output in UTF-8 encoding. slay. π - and if the optional argument attr_file is specified,
tex2xindywrites all index key attributes into this file. all of them. into that file. periodt. π
π DEFICITS π
okay so. not everything is flawless and we have to be honest about it, because we're not about to lie to you.
this program was written since it was not easily possible to extract the parser from the old makeindex system. therefore it does not find all errors in the input the way the makeindex(1) version does. π
additionally, it uses only the default input specifiers of makeindex(1). if other input specifiers are needed (cf. the manual page of makeindex(1)), the input specifiers (starting from the pattern "KEYWORD", see below) must be changed and the program must be recompiled. yeah. recompiled. π
the particular missing feature is configuration of the quote and the actual characters, maybe also the escape, subitem (level), and encap characters. argument and range delimiters seem to be less of a problem, at least. π«Ά
and honestly? in fact, input markup handling (and thus tex2xindy) should be incorporated into the xindy kernel, to be able to specify configuration in xindy style files. that's the dream. π§
π SEE ALSO π
π AUTHOR π
Roger Kehr, Institut fuer Theoretische Informatik, TU Darmstadt π
π COPYRIGHT AND LICENSE π
Copyright (c) 1996,1997 Roger Kehr. Copyright (c) 2006 Joachim Schrod.
This program 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 option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
and that's the whole page bestie!! π this was Version 1.24, dated 2010-05-10, and yes it's giving vintage but it's still iconic. mwah π πβ¨π¦πΈ
π¦ where this page comes from
- arch rolling: texlive-doc 2026.1-1 Β· GPL
- debian bookworm: xindy 2.5.1.20160104-11
- debian trixie: xindy 2.5.1.20160104-12
- fedora 43: texlive-xindy 11:svn65958-93.fc43 Β· GPL-2.0-or-later
- fedora 43: texlive-xindy 11:svn65958-95.fc43.1 Β· GPL-2.0-or-later
- fedora 44: texlive-xindy 12:svn65958-105.fc44 Β· GPL-2.0-or-later
- fedora 44: texlive-xindy 12:svn65958-111.fc44 Β· GPL-2.0-or-later
- opensuse-leap 16.0: xindy 2.5.1-bp160.1.42 Β· GPL-2.0-or-later
- opensuse-leap 16.0: xindy 2.5.1-bp160.1.42 Β· GPL-2.0-or-later
- opensuse-leap 16.0: xindy 2.5.1-bp160.1.42 Β· GPL-2.0-or-later
- ubuntu jammy: xindy 2.5.1.20160104-11build1
- ubuntu noble: xindy 2.5.1.20160104-11build1
- ubuntu questing: xindy 2.5.1.20160104-12build1
- ubuntu resolute: xindy 2.5.1.20160104-12build2
- ubuntu stonking: xindy 2.5.1.20160104-12build2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms