Références croisées automatiques — Les-mathematiques.net The most powerful custom community solution in the world

Références croisées automatiques

Bonjour
Je travaille sur un polycopié où je possède deux environnements (hyp et deb) qui sont numérotés. J'aimerais créer un lien interne dans le polycopié qui permet d'aller d'un environnement hyp à l'environnement deb qui a la même numérotation (par exemple, cliquer sur hyp 2.13 m'emmène à deb 2.13). Comme j'ai beaucoup de ces environnements, je souhaiterais automatiser cette création de lien.

J'ai essayé, sans grand espoir, avec hyperref et en créant un compteur A qui associerait les nombres A et A+1000 (n'ayant pas plus de 1000 environnements deb et hyp), mais cela envoie tous les environnements hyp sur le dernier environnement deb et inversement. J'ai essayé avec deux compteurs A et B où B partirait à 1000 mais j'arrive au même problème.
Quelqu'un aurait-il une suggestion ? Ci-dessous, mon code avec en gras le passage qu'il faudrait modifier.
Merci d'avance !
\newcounter{A}

\newcounter{deb}[chapter]
\newenvironment{deb}{[b]\addtocounter{A}{1}[/b]\refstepcounter{deb}\rule[1.2mm]{1.5cm}{0.4pt}\fbox[b]{\hyperlink{A}{\hypertarget{A+1000}{\textbf{Deb \thedeb}}}}[/b]\hrulefill[1.2mm]{0.4pt}\medskip \medskip \\ \begin{minipage}{0.095\textwidth}
\ \end{minipage}
\begin{minipage}{0.9\textwidth}}{\end{minipage}\medskip \medskip \\}
\renewcommand\thedeb{\thechapter.\arabic{deb}}

\newcounter{hyp}[chapter]
\newenvironment{hyp}{\refstepcounter{hyp}\rule[1.2mm]{1.5cm}{0.4pt}\fbox[b]{\hypertarget{A}{\hyperlink{A+1000}{\textbf{Hyper \thehyp}}}}[/b]\hrulefill[1.2mm]{0.4pt}\medskip \medskip \\ \begin{minipage}{0.095\textwidth}
\ \end{minipage}
\begin{minipage}{0.9\textwidth}}{\end{minipage}\medskip \medskip \\}
\renewcommand\thehyp{\thechapter.\arabic{hyp}}


Réponses

  • Bonjour,

    Je n'aurais peut-être pas mis \hypertarget dans un argument de \hyperlink. D'autre part, il est certain que le A+1000 reste tel quel, d'où le fait que tout le monde pointe au même endroit. Est-il garanti que les environnements apparaissent dans l'ordre dhdhdhdhdhdhdh... où d = deb et h = hyp ? Sinon, il faudra utiliser un identifiant unique pour apparier les environnements qui vont ensemble. Enfin, il faudrait fournir un exemple complet minimal en omettant pour le moment tout le formatage qui n'a rien à voir avec le problème et rend le code peu lisible.
  • Bon, ben en attendant de savoir quelque chose sur le cahier des charges, voilà de quoi jouer un peu.
    \documentclass{article}
    \usepackage{hyperref}
    
    \begin{document}
    
    \newcounter{A}
    \setcounter{A}{12}
    
    \number\value{A} \the\value{A}\par\bigskip
    
    \leavevmode\refstepcounter{A}%
    \hyperref[ohlala-\the\value{A}]{Ici}%
    \label{pouet-\the\value{A}}%
    \par\medskip
    
    \hyperref[pouet-\the\value{A}]{Là}%
    \phantomsection\label{ohlala-\the\value{A}}
    
    \end{document}
    
    120152
Connectez-vous ou Inscrivez-vous pour répondre.
Success message!