Forum Programmation.autre Reference en Latex

Posté par .
Tags : aucun
1
8
déc.
2010
Bonjour,
je suis actuellement dans la rédaction d'un devoir en latex et je cherche un moyen de faire une référence non pas à une section mais à un mot : je voudrais poser un label qui m'ajouterai un numéro en indice sur le mots et avec la commande \ref trouver le numérotion de section et le numéro du mot (comme pour une note de bas de page)
Exemple :
Comme vu dans 1.13 ....

Section 1
SousSection1
blablabla
bla ³.

Est-ce possible ? Je pense que oui mais cela me semble complexe. Si quelqu'un à déjà réfléchi à la question je suis preneur !
Merci d'avance
  • # C'est possible

    Posté par . Évalué à 8.

    C'est bien sûr possible ;) Par contre, c'est plus ou moins simple suivant ce que tu veux exactement. Il faut aussi être sûr que tu dois vraiment le faire, si personne ne le fait, il y a aussi sûrement des raisons ...

    Dans le cas le plus simple, il faut que tu crées un nouveau compteur qui va tenir à jour tes références :

    \newcounter{word}

    Ensuite tu peux créer une commande \mot{mot}{label}, qui va afficher le mot, le compteur en exposant, incrémenter le compteur et dire de l'utiliser pour les références (ça c'est la commande \refstepcounter), et créer un label.

    \newcommand{\mot}[2]{\refstepcounter{word}#1 \textsuperscript{\theword}\label{#2}}

    Une fois que c'est fait, il suffit de faire \ref{label} pour que cela soit remplacé par la valeur de word.

    Ensuite on peut raffiner.

    Si tu veux remettre à zéro à chaque sous-section, il faut créer ton compteur avec \newcounter{word}[subsection]

    Dans ce cas là, tu veux probablement afficher la sous-section avec la valeur du compteur word, donc tu peux écrire
    \renewcommand{\thewordref}{\thesubsection.\arabic{wordref}}

    Si en plus tu écris parfois directement dans des sections sans commencer de sous-section, il faut ajouter
    \makeatletter
    \@addtoreset{word}{section}
    \makeatother

    (mais dans ce cas, le compteur indexé sur subsection sera assez moche, et là le code risque de se compliquer un peu si on veut arranger ça ...)

    Dans ton exemple, tu as l'air de vouloir mettre un 3 à côté du mot, puis 1.1.3 dans la référence. Le plus simple pour ça est de créer deux compteurs, disons word et wordref. Tu peux afficher \theword dans la commande \mot, mais le \refstepcounter utilisera wordref. Un truc comme ça :

    \newcounter{word}[subsection]
    \newcounter{wordref}[subsection]

    \newcommand{\mot}[2]{\stepcounter{word} \refstepcounter{wordref}#1 (\theword)\label{#2}}
    \renewcommand{\thewordref}{\thesubsection.\arabic{wordref}}
    • [^] # Re: C'est possible

      Posté par . Évalué à 1.

      Merci beaucoup !
      Je suis encore en train de régler tout ça : je perdais la première lettre du mot suivant et je suis en train de mieux appréhender les compteurs. Je crois que j'aurais besoin d'un bon cour sur les créations de commande en Latex (voir même sur la création de classe ça pourrait s'avérer utile dans l'avenir).
      Si vous avez une idée d'un bon tuto pour mieux appréhender cela ou même un bouquin à conseiller pour passer de l'étape je sais créer un document Latex à l'étape je sais créer une classe latex qui réponde parfaitement à mes besoins.

      Merci encore pour le coup de pouce et pour m'avoir motiver à aller plus loin en latex.
      • [^] # Re: C'est possible

        Posté par . Évalué à 3.

        Soit dit en passant, il est plutôt d'usage de tout bêtement utiliser un index pour référencer les mots importants de ton rapport.
        • [^] # Re: C'est possible

          Posté par . Évalué à 1.

          Ce n'est pas l'effet escompté : je fais un commentaire de texte et je veux référer à des extraits du texte et plus particulièrement à des phrases que je veux indicer (extrait qui sont dans d'autres sous-section).
          Merci quand même.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.