Hyperref e link troppo lunghi

  • Creatore
    Topic
  • #115967
    Filippo
    Partecipante
      Up
      0
      Down
      ::


      Ciao a tutti, ho un problema che son riuscito a risolvere solo parzialmente.
      Mi trovo con un link molto lungo, che non viene spezzato a dovere pur usando l’opzione breaklinks di hyperref, né usando in soccorso il pacchetto breakurl con l’opzione anythingbreaks.
      O meglio, non funziona compilando con pdflatex, se compilo con latex, facendo i 3 passaggi: latex>dvips>ps2pdf ottengo il risultato voluto (ma perdendo i vantaggi di microtype). In effetti il log mi dà che il pacchetto breakurl non funziona con pdflatex. Per cui vi chiedo, c’è una soluzione alternativa che funzioni con pdflatex?

      ecco l’EMC
      `\documentclass[a4paper]{article}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[english,italian]{babel}
      \usepackage[autostyle,italian=guillemets]{csquotes}
      \usepackage{xpatch}
      \usepackage{indentfirst}
      \usepackage{microtype}
      \usepackage{quoting}
      \quotingsetup{font=small}
      \usepackage{hologo}
      \usepackage{guit}
      \usepackage{sectsty}
      \allsectionsfont{\sffamily}
      \usepackage{graphicx}
      \usepackage{xcolor}
      \usepackage{hyperref}
      \hypersetup{colorlinks=true,urlcolor=red,citecolor=cyan,breaklinks=true}
      \usepackage[anythingbreaks]{breakurl}
      \begin{document}
      \noindent
      \url{http://bibliotecadigitale.cab.unipd.it/bd/gestione-bibliografie-documenti-e-immagini/2019-latex-e-gestione-della-biblioteca}
      \end{document}`

      Perdonate il preambolo lungo, nel file in cui compare il link serve tutto. Il comportamento del link si vede anche senza altro testo.

    Visualizzazione 2 filoni di risposte
    • Autore
      Risposte
      • #115968
        mcl1962
        Partecipante
          Up
          0
          Down
          ::


          Prova a sostituire `\usepackage[anythingbreaks]{breakurl}` con

          `
          \expandafter\def\expandafter\UrlBreaks\expandafter{\UrlBreaks% save the current one
          \do\a\do\b\do\c\do\d\do\e\do\f\do\g\do\h\do\i\do\j%
          \do\k\do\l\do\m\do\n\do\o\do\p\do\q\do\r\do\s\do\t%
          \do\u\do\v\do\w\do\x\do\y\do\z\do\A\do\B\do\C\do\D%
          \do\E\do\F\do\G\do\H\do\I\do\J\do\K\do\L\do\M\do\N%
          \do\O\do\P\do\Q\do\R\do\S\do\T\do\U\do\V\do\W\do\X%
          \do\Y\do\Z\do\*\do\-\do\~\do\'\do\”\do\-\do\0\do\1\do\2\do\3\do\4\do\5\do\6\do\7\do\8\do\9}%
          \PassOptionsToPackage{hyphens}{url}
          `

          Ciao.

          Claudio

        • #115969
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Una cosa semplice che poi fare è la seguente; si tratta del tuo stuo stesso EMC a cui ho aggiunto lo stesso link scritto in modo diverso; con il comando \discretionary, messo solo nel testo che appare nel documento, eseguo la cesura; ovviamente se inserisci diversamante il tuo url all’interno di un capoverso sposti il comndo \discretionary altrove. I tre argomenti indicano 1: cosa mettere prima della cesura; 2: cosa mettere dopo la cesura; 3: cosa mettere se la cesura non viene eseguita; ho scelto la cesura da mettere al posto di un trattino, quindi ho messo il comando \discretionary con il suoi tre argomenti al posto di un trattino inserendo il trattino nel primo e nel terzo argomento. Sotto ci ho messo anche un \hrule per evidenziare la larghezza del testo; come ho fatto io nell’esempio che ti mando, l’urlo sporge fuori nel margine solo con il trattino; volendo quindi puoi spostare in \discretionary il trattino dal primo argomento al secondo argomento (e fores è meglio in ogni caso perché un trattino a inizio riga non viene mai confuso con un trattino di cesura.`\documentclass[a4paper]{article}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[english,italian]{babel}
            \usepackage[autostyle,italian=guillemets]{csquotes}
            \usepackage{xpatch}
            \usepackage{indentfirst}
            \usepackage{microtype}
            \usepackage{quoting}
            \quotingsetup{font=small}
            \usepackage{hologo}
            \usepackage{guit}
            \usepackage{sectsty}
            \allsectionsfont{\sffamily}
            \usepackage{graphicx}
            \usepackage{xcolor}
            \usepackage{hyperref}
            \hypersetup{colorlinks=true,urlcolor=red,citecolor=cyan,breaklinks=true}
            \usepackage[anythingbreaks]{breakurl}
            \begin{document}
            \noindent
            \url{http://bibliotecadigitale.cab.unipd.it/bd/gestione-bibliografie-documenti-e-immagini/2019-latex-e-gestione-della-biblioteca}

            \href{http://bibliotecadigitale.cab.unipd.it/bd/gestione-bibliografie-documenti-e-immagini/2019-latex-e-gestione-della-biblioteca}{\texttt{http://bibliotecadigitale.cab.unipd.it/bd/gestione-bibliografie\discretionary{-}{}{-}documenti-e-immagini/2019-latex-e-gestione-della-biblioteca}}

            \medskip

            \hrule
            \end{document}`

          • #115970
            Filippo
            Partecipante
              Up
              0
              Down
              ::


              Grazie mille, ottime soluzioni entrambe

          Visualizzazione 2 filoni di risposte
          • Devi essere connesso per rispondere a questo topic.

          Go to top