Forum Programmation.autre LaTeX et hyperref : hyperlink qui dépasse les marges

Posté par .
Tags : aucun
0
21
nov.
2005
Je souhaite créer des fichiers pdf interactifs grâce à latex en compilant via dvips - ps2pdf. J'utilise le package hyperref et “frenchb” simultanément :
\usepackage[frenchb]{babel}
\usepackage{hyperref}

J'ai deux problèmes (qui sont peut-être liés) quand j'utilise la liste de figures (\listoffigures) et de tableaux (\listoftables).

D'abord, dans la liste de figures et de tableaux du document pdf final, tous les captions assez longs (dont la longueur s'étale sur plusieurs lignes dans le document) apparaissent sur une seule ligne et dépassent donc les marges de ma page. Les hyperlinks renvoyant aux figures dans le texte sont cependant valides, à quelques exceptions près... ce qui m'amène à mon deuxième problème : les liens des figures dont les captions contiennent un lien (\cite or \ref) ne fonctionnent pas correctement. Il semble qu'il y ait conflit entre hyperlinks.

En tous cas, j'ai remarqué que quand je compile sans hyperref, les listes de figures et de tableaux s'affichent correctement (le retour à la ligne est effectué sans problème).

Merci pour votre aide.
  • # Exemple minimal ?

    Posté par . Évalué à 3.

    J'utilise assez régulièrement hyperref, et je n'ai jamais eu de problème... J'ai essayé de modifier un peu quelques doc à ma disposition (j'écris en général des doc en anglais, donc j'ai essayé de mettre des frenchb dans le babel histoire de voir) mais je n'ai pas pu reproduire ce que tu observes. Peut-être que tu a un conflit avec un autre package ?

    Essaie de donner en exemple un document minimal qui te donnes l'erreur (avec le moins de packages chargés possible, juste ce qui faut comme texte, pour avoir un caption trop long qui déborde), histoire de voir si c'est reproductible.


    Sinon, tu peux aussi essayer de regarder si tu a le même problème en compilant directement par pdflatex (il faudra pour ça que tes figures soit elles aussi en pdf, et non plus en eps, si c'est ton cas...)
    • [^] # Re: Exemple minimal ?

      Posté par . Évalué à 1.

      En fait après quelques tests simplifiés, j'observe la même chose dans la table des matières. J'ai maintenant l'impression que le problème provient d'une incompatibilité entre la déclaration de classe du document (mais si j'enlève l'option ps2pdf, ça ne compile pas) et hyperref.
      En tous cas voici l'exemple minimal pour lequel j'observe un dépassement de marge (compilation : latex - dvips - ps2pdf car je souhaite utiliser le package "psfrag") :

      %%%%%debut%%%%%%%
      \documentclass [12pt,a4paper,ps2pdf]{report}
      %\documentclass [12pt,a4paper]{report}

      \usepackage{hyperref}

      \begin{document}

      \tableofcontents

      \chapter{Introduction}
      \section{Titre 1 relativement long de maniere a mettre en evidence le depassement de marge}
      texte texte texte.
      \section{Titre 2 encore plus long, long, long, long, long, long, long, long, long, long, long, long, long}
      texte texte texte.

      \chapter{Suite}
      Suite suite suite suite.

      \chapter{Fin}
      Fin fin fin fin.

      \end{document}
      %%%%%fin%%%%%%%
      • [^] # Tadaaam !

        Posté par . Évalué à 2.

        Effectivement, je peux reproduire ton "bug". Après avoir jeté un oeil, j'ai vu qu'il y a plein d'options pour hyperref. Et en mettant ça dans l'en-tête, ça marche:

        \documentclass [12pt,a4paper]{report}
        \usepackage[dvips,ps2pdf,hypertex]{hyperref}


        En fait, seule l'option "hypertex" permet de résoudre ton problème, mais tant qu'à faire, spécifier les options dvips et ps2pdf ne peuvent pas faire de mal puisque c'est ce que tu utilise (et peut éventuellement éliminer d'autres futurs problèmes). Si j'ai bien compris, le package hyperref est en fait optimisé pour produire des pdf via pdflatex, alors qu'il existe un package hypertex qui lui ne supporte pas pdflatex. L'interet de hyperref est qu'il peut utiliser le backend de hypertex en cas de problème (ce qui est le cas ici). Jete un oeil ici http://arxiv.org/hypertex/ , ils en causent.

        Voila.
        • [^] # Re: Tadaaam !

          Posté par . Évalué à 1.

          Merci pour tout. En fait, j'ai aussi trouvé un post qui parle de ce problème :
          http://lists.debian.org/debian-tetex-maint/2004/01/msg00075.(...)

          et qui donne la même solution que toi (hypertex). J'ai essayé et effectivement ça marche, même si les hyperliens s'affichent sous forme de boîtes pas très esthétiques. Mais l'essentiel est que les liens sont OK. merci encore !

Suivre le flux des commentaires

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