Experimenting with makeindex and Unicode, and deriving kameindex
(Antoine Bossard, Keiichi Kaneko)
Sommario
Quando scriviamo o editiamo un documento lungo come un libro o una tesi, è quasi inevitabile includere un indice. Lo scopo di questa parte di documento è elencare una serie di parole chiave che appaiono nel testo corredandole con i corrispondenti numeri di pagina, così da facilitare la ricerca dell’informazione nel documento. La composizione di documenti avviene spesso in LaTeX , specialmente per pubblicazioni professionali e accademiche. Il sistema di composizione LaTeX incorpora uno strumento di indicizzazione grazie a makeindex, che genera semiautomaticamente l’inidce del documento. Purtroppo makeindex non è stato sviluppato per supportare Unicode e quindi nella maggior parte dei casi sbaglia a generare gli indici che includono voci multilingue, e specialmente voci in diversi alfabeti. In questo articolo, inizialmente recensiamo le pur scarse capacità multilingua di makeindex, prima di derivare kameindex, una soluzione a questi problemi di internazionalizzazione. Cosa importante, kameindex sostituisce un componente di makeindex, mantenendo quindi la compatibilità generale con makeindex. Dopo aver illustrato i risultati permessi da kameindex, faremo una comparazione con altri lavori correlati.
Abstract
When writing and editing a long document such as a book or thesis, it is almost inevitable to include an index. The purpose of this part of a document is to collect several keywords that appear in the main text, listing them together with the corresponding pages numbers, in order to facilitate information search inside the document. Document typesetting is often realised with the LaTeX system, especially for professional and academic editing. The LaTeX typesetting system embeds via the makeindex subsystem an indexing feature, which semi-automatically generates a document’s index. However, makeindex has not been developed to support Unicode and thus fails in most cases at generating indices that include multilingual entries, and especially entries of different writing systems. In this paper, we first review the, even scarce, multilingual capabilities of makeindex, before deriving kameindex, a solution to these internationalization issues. Importantly, kameindex replaces one component of the makeindex subsystem, thus retaining overall compatibility with makeindex. After illustrating the results achieved by kameindex, comparison with related works is conducted.