Entrée index

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Entrée index

Messagepar Eugene » Mercredi 18 Mars 2009, 08:07

Bonjour

Je cherche à faire un index. Pour le style j'utilise \index{Entree@\textsc{Entrée}}

Je me demandais si il y avait un moyen de définir une fois pour toute le style (@\textsc{Entrée}) et ne pas avoir à écrire à chaque entrée \index{Entree@\textsc{Entrée}} mais tout simplement \index{Entree}.

Merci d'avance

Eugene
Eugene
Déca-utilisateur
 
Messages: 28
Inscription: Mercredi 18 Mars 2009, 08:01
Statut actuel: Post-bac | Ecole d'ingénieur

Publicité

Re: Entrée index

Messagepar MB » Mercredi 18 Mars 2009, 20:33

Peut être en définissant une nouvelle commande :

Code: Tout sélectionner
\newcommand{\indexsc}[2][]{\ifthenelse{\equal{#1}{}}{\index{#2@\textsc{#2}}}{\index{#1@\textsc{#2}}}}


Le code n'a pas été testé et je ne sais pas si il répond exactement à ta demande.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6872
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Entrée index

Messagepar Eugene » Mercredi 18 Mars 2009, 22:57

Merci pour la réponse mais ce n'est pas tout à fait ce que je cherche. En effet, je voudrai définir une fois pour toute la correspondance entre une entrée et sa mise en forme pour l'index. De cette manière, si je décide de modifier la mise en forme, je n'ai pas tout le document à parcourir, mais seulement la partie ou est définie la correspondance.
Eugene
Déca-utilisateur
 
Messages: 28
Inscription: Mercredi 18 Mars 2009, 08:01
Statut actuel: Post-bac | Ecole d'ingénieur

Re: Entrée index

Messagepar MB » Mercredi 18 Mars 2009, 23:05

Eugene a écrit:si je décide de modifier la mise en forme, je n'ai pas tout le document à parcourir, mais seulement la partie ou est définie la correspondance.


Ca serait le cas, puisqu'il te suffirait de modifier le code de la commande uniquement. Il faudrait juste utiliser \indexsc à la place du \index classique.
La commande s'utilise comme suit :

Code: Tout sélectionner
\indexsc[Entree]{Entrée}


Le premier argument est optionnel et si il n'est pas présent, il est égal à l'argument principal.

Par exemple :

Code: Tout sélectionner
\indexsc{Entrée}


correspond à :

Code: Tout sélectionner
\indexsc[Entrée]{Entrée}
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6872
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Entrée index

Messagepar Eugene » Mercredi 18 Mars 2009, 23:21

Oui, c'est vrai que dans ce cas, ça marche, j'ai trop simplifié l'exemple, mais si j'ai oublié de rajouter un accent, je suis obligé de parcourir tout le document.

Dans mon cas, ce serait plutôt un index des noms cités dans un article, et je voudrais mettre les noms de famille en petite majuscule et les prénoms des personnes en caractère normaux du genre :

Code: Tout sélectionner
\index{Nom (Prenom)@\textsc{Nom} (Prénom)}


ou plus simplement

Code: Tout sélectionner
\index{Nom@\textsc{Nom} (Prénom)}


La commande ici ne pourrait pas marcher.
Eugene
Déca-utilisateur
 
Messages: 28
Inscription: Mercredi 18 Mars 2009, 08:01
Statut actuel: Post-bac | Ecole d'ingénieur

Re: Entrée index

Messagepar MB » Mercredi 18 Mars 2009, 23:46

Si j'ai bien compris, tu veux automatiser la suppression des accents.
Dans ce cas, je t'invite à regarder le code suivant (de Josselin Noirel) :

Code: Tout sélectionner
\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage{makeidx}
\makeindex
\makeatletter
\newcommand{\idx}{%
  \@bsphack\begingroup
  \@sanitize\@idx}
\newcommand{\@idx}[1]{%
  \bgroup
    \defé{e}\defè{e}\defê{e}\defô{o}\defí{i}\defî{i}\def\oe{oe}\defà{a}%
    \defÉ{E}\defÈ{E}\defÊ{E}\defÔ{O}\defÍ{I}\defÎ{I}\def\OE{OE}\defÀ{A}%
    \xdef\idx@tmp{#1}%
  \egroup
  \expandafter\@wrindex \expandafter{\idx@tmp @#1}}
\makeatother
\begin{document}
\null
\idx{blabla}
\idx{bléblé}
\end{document}
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6872
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: Entrée index

Messagepar MB » Lundi 23 Mars 2009, 18:55

Il est aussi possible de regarder du côté de Xindy (qui permet la gestion des caractères accentués).
Par contre, je n'ai jamais testé ...
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6872
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Grapeshot [Crawler], Proximic [Spider] et 30 invités