HsIndex

A propos de HsIndex

HsIndex est un générateur d’indexes utilisable avec LaTeX et ses variantes (XeLaTeX, …) en association avec le paquet imakeidx

HsIndex a été créé pour palier a l’absence de xindy dans la version 9 de Debian et mon besoin de générer des indexes avec des caractères cyrilliques.

Ce programme est écrit avec Haskell afin d’avoir un programme portable, fiable, rapide et facile à faire évoluer.

Portabilité

HsIndex peut être compilé a partie des sources sur la plupart des distributions Linux et versions de Windows ou Haskell est disponible.

Il devrait se compiler parfaitement avec des versions de Haskell plateform supérieures à 2014.2.

International

HsIndex support plusieurs langages avec des alphabets différents:

Personnalisation

HsIndex est personnalisable par l’utilisateur afin de modifier le style de l’index (Taille de fonte, Alignement, délimiteurs, …) sous LaTeX et le langage lui-même (Ordre de tri des caractères, substitutions de caractères , ….)

Introduction

Globalement les indexes générés avec HsIndex reprennent la structure

Un index est composé de 3 sections:

Dans chaque section, les lettres, chiffres et symboles sont triés dans un ordre précis.

Les langages de base de hsindex générent un index avec l’ordre habituel des lettres (Alphabétique), un style LaTeX standard et devrait convenir la plupart du temps.

Des substitutions de lettres sont effectuées sur les lettres accentuées pour simplifier l’index et donner un tri cohérent. Par exemple la lettre accentuée é est remplacée par e et la ligature œ est remplacée par les lettres oe

Si le style ou la définition du langage n’est pas satisfaisante, l’utilisateur a la possibilité de définir son propre style et son propre ordre de tri pour chaque section.

Modification du style

Il est possible de modifier le style de l’index en écrivant un fichier de style qui contient les commandes LaTeX a éxécuter a des endroits spécifiques de l’index.

Par example, pour modifier le préambule, il faut inclure cette ligne dans le fichier texte.

preamble "\begin{theindex}"

Il est possible de modifier différents paramètres de l’index telas que le préfixe et le suffixe des en-têtes ou l’intervalle entre les groupes :

heading_prefix "{\vspace{1.5cm}\huge{\textbf{"
heading_suffix "}}\hfill}\nopagebreak"
group_skip     "\\n\\n \indexspace\\n" 

Note : Il est possible de placer des fin de lignes \n mais ces fins de lignes doivent être précédées de deux backslashes \\n.

Langage personnalisé

Il est aussi possible de modifier l’ordre des lettres avec un fichier de définitino de langues.

Ce fichier se compose de différentes sections:

Usage

Execution

HsIndex s’utilise de la même façon que makeindex ou xindy :

  1. On place l’éxecutable de HsIndex dans le répertorie de travail de LaTeX.

  2. On compile une première fois le document LaTeX avec le paquet imakeidx.

  3. On execute hsindex avec les arguments appropriés:

    hsindex english --style="myindexstyle.sty" --input=input.idx --output=output.ind
  4. On compile le document LaTeX une deuxième fois afin d’y incorporer l’index.

Téléchargement

Le code source de la dernière version de HsIndex peut être téléchargé sur gitlab

hsindex on gitlab

Un binaire fonctionnant sous Windows peut être téléchargé ici:

hsindex v0.9.1

Evolution

HsIndex est en cours de développement et ses fonctionnalités sont limitées. Si vous avez des suggestions pour améliorer ce programme ou si vous souhaitez voir un langage être implémenté, contactez-moi par mail.