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 -o is not specified, tex2xindy handles the ^^-notation of TeX and outputs the octet that is represented: "^^ab" in the input gets output as the octet 0xab. and if "^^^^abcd" or "^^^^^^^^abcdefab" are detected, they are output as is β€” untouched, unbothered, exactly as they came. πŸ’€
  • if the option -o is specified, tex2xindy operates in Omega mode πŸ¦‹ and handles its ^^-notation. so then "^^ab", "^^^^abcd", and "^^^^^^^^abcdefab" represent Unicode characters with code points 0xab, 0xabcd, and 0xabcdefab respectively. and they get output in UTF-8 encoding. slay. πŸ‘‘
  • and if the optional argument attr_file is specified, tex2xindy writes 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 (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 πŸ’…πŸ’–βœ¨πŸ¦‹πŸŒΈ