Percorso con spazi non funziona con hyperref

  • Creatore
    Topic
  • #112890
    Up
    0
    Down
    ::


    Buongiorno a tutti,
    uso TexLive 2017 su Windows 7 Professional 64 bit, scrivendo con editor TeXMaker.
    Questo è il mio primo messaggio, spero che la risposta non sia già stata data, nel caso mi scuso in anticipo.
    Ho cercato nel forum e in rete, ma non ho trovato la soluzione a quanto segue.
    Sto cercando di mettere un collegamento ipertestuale ad un percorso Windows all’interno del computer (in realtà nel server aziendale).
    Il percorso purtroppo possiede degli spazi.
    Il .tex viene compilato senza errori, ma il link nel pdf non si apre, non accade nulla!
    Se si toglie lo spazio (ad esempio se lo si sostituisce con un trattino), il link funziona e se ci si clicca sopra si apre giustamente la cartella.

    Allego esempio minimo compilabile, grazie mille a chi vorrà aiutarmi!

    `
    \documentclass[a4paper,10pt,twoside]{article}

    \usepackage[italian]{babel}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}

    \usepackage[final]{hyperref} % adds hyper links inside the generated pdf file
    \hypersetup{
    colorlinks=true, % false: boxed links; true: colored links
    linkcolor=blue, % color of internal links
    citecolor=blue, % color of links to bibliography
    filecolor=magenta, % color of file links
    urlcolor=red, % color of url links
    pdfauthor=Claudio Ferroni,%
    pdfcreator=\LaTeX
    }

    \begin{document}

    \href{Z:/SIT/TP Link}{qui}

    \end{document}
    `

Visualizzazione 15 filoni di risposte
  • Autore
    Risposte
    • #112891
      Massimiliano
      Partecipante
        Up
        0
        Down
        ::


        Ciao claudio.ferroni,

        benvenuto nel forum 😀
        Temo che il problema non sia risolvibile perché, in generale, LaTeX non ama gli spazi.
        Dal momento che fai riferimento ad un server interno ti sarebbe possibile rinominare la cartella con TP_Link o TPLink?
        Se non è così spero che qualcuno più esperto di me possa aiutarti 🙂

      • #112892
        Up
        0
        Down
        ::


        Ciao Marluxia, grazie per la risposta, ma purtroppo non posso rinominare nulla…
        Spero proprio che qualche guru arrivi in mio soccorso.
        Sto facendo una bella guida di installazione e uso di vari programmi azienadali per i miei colleghi.
        Il resto che volevo, grazie anche a questo forum, sono riuscito ad ottenerlo, mi manca solo questo aspetto!

      • #112893
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Premesso che gli spazi negli indirizzi come nei nomi dei file producono risultati indesiderati in moltissimi casi, quandi gli spazi in questi casi sono da evitare come la peste, il tuo problema può essere insolubile. Per i nomi die file con spazi si puù racchiudere il nome fra doppie virgolette diritte: [tt]”Il Mio file.pdf”[/tt].
          Ma non credo che questa operazione valga per gli url. leggi la documentazione del pacchetto url e del pacchetto hyperref; se carichi urt dopo hyperref probabilmente succede qualcosa nella gestione del comando ]url; io tuttavia se dovessi scrivere un ULR con spazi, proverei a sostituire gli spazi con [tt]\space[/tt]. Può darsi che funzioni. In ogni caso il pacchetto url ammette nella chiamata di esprimere delle opzioni, un paio delle quali riguardano gli spazi (forse solo per mandare a capo nella stampa? forse, ma non saprei, è un genere di prove che non vorrei fare).

        • #112894
          Up
          0
          Down
          ::


          Grazie OldClaudio, le virgolette e \space purtroppo non funzionano.
          Proverò a rimettere la testa nelle documentazioni dei pacchetti, sperando di capirci qualcosa.
          Ma nessuno ha davvero mai avuto la necessità di fare all’interno di un documento un collegamento ad un percorso che contiene spazi?
          LaTeX mi ha da sempre stupito per le sue potenzialità, sin dai tempi della tesi, mi sembra incredibile che mi stia arenando in questa faccenda!

        • #112895
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            Per il sistema TeX, non solo per i programmi basati su LaTeX, come pdfLaTeX, XeLaTeX e LuaLaTeX, ma per tutti i programmi, lo spazio è un carattere speciale, tanto da avere un codice di categoria suo proprio; sembra facile gestirlo, ma non è così semplice.
            Onestamente ti confesso che io non uso mai spazi né nei nomi delle mie cartelle, né nei nomi dei miei file; inoltre evito accuratamente i siti esterni perché non sono compatibili per l’archiviabilità; se proprio non ne posso fare a meno perché devo proprio citare qualcosa trovato in internet (e il server locale farebbe parte di Internet, anche se la rete è locale) ci penso due volte prima di farlo non solo per gli eventuali spazi nell’URL, ma anche eprché oggi quegli URL sono attivi ma domani? È esperienza quotidiana se si naviga a sufficienza, che cliccando link vari, la risposta sia un messaggio d’errore che non dice se il sito ha cambiato nome e come o se è definitivamente defunto. I siti esterni non sono affidabili, quindi citarli o riferirvisi non è una buona strategia.

            Capisco benissimo che per il manuale che stai scrivendo il problema esiste ed è grave. L’alternativa è rendere quegli URL non cliccabili, ma stamparli semplicemente come stringhe in carattere monospaziato; chi vuole seleziona il testo dal file PDF del manuale, lo copia e lo incolla nel campo URl del proprio browser. Non è comodo, ma funziona per qualsiasi link con o senza spazi; certo non funziona per i siti defunti.:shock:

            Una ulteriore soluzione sarebbe quella di convincere i webmaster dei server locali a creare degli alias senza spazi ai link con spazi del server locali. Operazione che potrebbe incontrare la non disponibilità dei webmaster, ma che funzionerebbe alla grande; non li obbligherebbe a cambiare niente, ma solo di aggiungere qualcosa, solo loro sanno quanti alias, ma insegnerebbe loro anche la professionalità di non gestire i server locali a loro immagine e somiglianza, ma pensando all’utenza. Questo è un problema generale; non riguarda solo i webmaster dei server del tuo posto di lavoro, ma riguarda anche le pubbliche amministrazioni che dovrebbero produrre servisi internet per tutti gli utenti, virtualmente tutti i cittadini, ma non pensano che questi cittadini non dispongano degli stessi mezzi e della stessa familiarità con internet di cui dispongono loro.

          • #112896
            Up
            0
            Down
            ::


            Molto interessante quello che scrivi, OldClaudio.

            Per quel che riguarda la questione URL che possono non essere più attivi in futuro, nel mio documento
            ho messo i collegamenti ipertestuali nel testo (quelli che funzionano) e in corrispondenza di questi una nota a piè di pagina con il percorso esplicitato.
            Così se il link dà errore, almeno sappiamo a cosa puntavamo.

            Sinceramente è un peccato non avere quegli URL cliccabili, ma temo dovrò fare come dici, stampare semplicemente stringhe in carattere monospaziato (quello che ora già faccio con le note a fondo pagina).

            Attendo ancora un po’ se qualcun altro si è cimentato in queste cose, nel frattempo provo a convincere i sistemisti a darmi una mano 🙂

          • #112897
            Up
            0
            Down
            ::


            In parte è anche un problema del visualizzatore PDF. Il codice seguente
            `
            % My standard header for TeX.SX answers:
            \documentclass[a4paper]{article} % To avoid confusion, let us explicitly
            % declare the paper format.

            \usepackage[T1]{fontenc} % Not always necessary, but recommended.
            \usepackage[utf8]{inputenc} % Not always necessary, but recommended.
            % End of standard header. What follows pertains to the problem at hand.

            \usepackage[obeyspaces]{url}
            \usepackage{hyperref}

            \begin{document}

            A link to \url{http://www.w3.org/A file.html}.

            \end{document}
            `
            produce un collegamento che viene correttamente codificato da hyperref come [tt]http://www.w3.org/A\040file.html[/tt] (ciò può essere accertato con [tt]\showlists[/tt]), ma né TeXShop né Skim, a quanto pare, sono capaci di interpretare questa codifica. Con Adobe Reader, invece, il collegamento funziona come ci si aspetta.

            Ciao.


            Gustavo

          • #112898
            Up
            0
            Down
            ::


            Grazie, funziona, ma solo con Foxit Reader, non Acrobat.
            Dal visualizzatore interno di TexMaker il link non si apre, ma da quello esterno (appunto con Foxit) funziona correttamente.

            Questo il codice:
            `
            \documentclass[a4paper,10pt,twoside]{article}

            \usepackage[italian]{babel}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[obeyspaces]{url}
            \usepackage[final]{hyperref} % adds hyper links inside the generated pdf file
            \hypersetup{
            colorlinks=true, % false: boxed links; true: colored links
            linkcolor=blue, % color of internal links
            citecolor=blue, % color of links to bibliography
            filecolor=magenta, % color of file links
            urlcolor=red, % color of url links
            pdfauthor=Claudio Ferroni,%
            pdfcreator=\LaTeX
            }

            \begin{document}

            \href{Z:/SIT/TP Link}{qui}

            \end{document}
            `

            Quando cerco di aprire il link con Acrobat, mi appare questo messaggio:

            Il documento sta tentando di stabilire una connessione a:
            Z:/SIT/TP%20Link

            Se il sito è affidabile, scegliere Consenti. In caso contrario, scegliere Blocca.

            Come vedete è stato sostituito %20 al posto dello spazio, robaccia alla Windows 🙁
            Cosa posso fare? C’è qualche impostazione di Acrobat da sistemare, a questo punto?

            Grazie ancora

          • #112899
            Up
            0
            Down
            ::


            Se nel testo da «cliccare» non compaiono spazi, non c’è bisogno della riga`\usepackage[obeyspaces]{url}`che si può semplicemente omettere.

            claudio.ferroni” post=113260[…]
            Quando cerco di aprire il link con Acrobat, mi appare questo messaggio:

            Il documento sta tentando di stabilire una connessione a:
            Z:/SIT/TP%20Link

            Se il sito è affidabile, scegliere Consenti. In caso contrario, scegliere Blocca.

            Come vedete è stato sostituito %20 al posto dello spazio, robaccia alla Windows 🙁
            Cosa posso fare? C’è qualche impostazione di Acrobat da sistemare, a questo punto?

            […]

            Fai clic su «Consenti», ovviamente! Credo comunque che si possa evitare questo avviso di sicurezza impostando opportunamente le impostazioni di sicurezza avanzate (in «Security (Enhanced)», impostare le «Privileged Locations»).

            Ciao.


            Gustavo

          • #112900
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Non c’è niente di strano a parte che Adobe Acrobat è una cosa e Adobe Reader è un’altra.

              %20 è il codice esadecimale dello spazio scritto da Adobe Reader; \040 è il codice ottale dello spazio scritto da Hyperref nel file di uscita PDF.

              Come vedi il Reader ha interpretato correttamente il codice dello spazio: decimale 32, ottale 040 (0x8[sup}2[/sup] + 4×8 +0x1), esadecimale 20 (2×16 + 0x1)

              Il messaggio del rider non è un errore, ma la richiesta di confermare che ti fidi del file linkato e che sei sicuro che non sia un file infetto; se l’indirizzo e giusto e il file “TP Link” è giusto, puoi confermare.

            • #112901
              Up
              0
              Down
              ::


              Ringrazio tutti per le risposte.
              Spulciando fra le impostazioni di Acrobat forse ce la farò.
              Al momento aprendo con Adobe se clicco sul link e do il conferma, si apre una pagina di Google con Z:/SIT/TP%20Link come testo in ricerca. 😮
              Ovviamente vorrei che si aprisse la finestra di Eslpora Risorse di Windows con la cartella Z:/SIT/TP Link che sta nel nostro server, cosa che mi fa il Foxit.

              Mal che vada metterò una nota bella grande all’inizio del documento con scritto di usare Foxit se si vogliono gli ipertesti funzionanti. 😀

              Grazie di nuovo.

            • #112902
              Up
              0
              Down
              ::

              claudio.ferroni” post=113268[…]
              Al momento aprendo con Adobe se clicco sul link e do il conferma, si apre una pagina di Google con Z:/SIT/TP%20Link come testo in ricerca. 😮
              […]

              Al momento non posso fare esperimenti, ma succede anche se scrivi`\href{file://Z:/SIT/TP Link}{qui}`per generare il collegamento?

              Ciao.


              Gustavo

            • #112903
              Up
              0
              Down
              ::


              Ciao Gustavo,
              ho provato, non funziona né con Foxit, né con Adobe Reader, purtroppo. 🙁

            • #112904
              Up
              0
              Down
              ::


              Se il percorso inizia con una lettera di unità, nel tuo caso Z, per il lettore di PDF non è un URL ma un percorso locale. In questi casi bisogna aggiungere `run:` all’inizio del percorso. Vedi il paragrafo local files a questo indirizzo

              Ciao
              Matteo

            • #112905
              Up
              0
              Down
              ::


              Funziona!!!
              Grazie! Grazie! Grazie!

              Mi hai risolto il problema! Grazie Matteo!

              Ora mi studio la pagina che mi hai consigliato.
              Grazie ancora! Super!!!

              Per completezza, il codice funzionante:

              `
              \documentclass[a4paper,10pt,twoside]{article}

              \usepackage[italian]{babel}
              \usepackage[T1]{fontenc}
              \usepackage[utf8]{inputenc}

              \usepackage[obeyspaces]{url}
              \usepackage[final]{hyperref} % adds hyper links inside the generated pdf file
              \hypersetup{
              colorlinks=true, % false: boxed links; true: colored links
              linkcolor=blue, % color of internal links
              citecolor=blue, % color of links to bibliography
              filecolor=magenta, % color of file links
              urlcolor=red, % color of url links
              pdfauthor=Claudio Ferroni,%
              pdfcreator=\LaTeX
              }

              \begin{document}

              \href{run:Z:/SIT/TP Link}{qui}

              \end{document}

              `

              Buona giornata a tutti

            • #112906
              Up
              0
              Down
              ::


              Metto il prefisso “Risolto” al topic, grazie a tutti! 😀

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

          Go to top