Ridefinire comando ref

  • Creatore
    Topic
  • #51738
    tonegas
    Partecipante
      Up
      0
      Down
      ::


      Ciao a tutti
      volevo avere sapere da qualcuno come si può fare a ridefinire il comndo \ref{}
      in maniera che che i link vengano colorati.
      Lo so è possibile definire i colori dei link ma sfortunatamente questa cosa mi cambia colore anche a gli oggetti dell’indice (sto facendo delle slide) e questo non mi piace.

      \definecolor{MyBlue}{rgb}{0.2,0.2,0.5}
      \renewcommand{\ref}[1]{\textcolor{MyBlue}{\ref{#1}}}

      questo comando compila alla perfezione ma i link restano neri

      se invece sostituisco nel testo

      \textcolor{MyBlue}{\ref{riferimento}}

      questo funziona alla grande ma mi tocca andare a modificare tutto il documento.
      Qualcuno a qualche idea.

    Visualizzazione 3 filoni di risposte
    • Autore
      Risposte
      • #51739
        Up
        0
        Down
        ::


        Se usi il pacchetto hyperref puoi modificare i colori dei collegamenti tramite le opzioni di caricamento del pacchetto

      • #51740
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::

          \definecolor{MyBlue}{rgb}{0.2,0.2,0.5}
          \renewcommand{\ref}[1]{\textcolor{MyBlue}{\ref{#1}}}

          questo comando compila alla perfezione ma i link restano neri

          Sarà!? ma quella è una tipica definizione ricorsiva (un comando che chiama incondizionatamente se stesso) e queste sono cose da non fare… 😯

        • #51741
          Up
          0
          Down
          ::

          Ciao a tutti
          volevo avere sapere da qualcuno come si può fare a ridefinire il comndo \ref{}
          in maniera che che i link vengano colorati.
          Lo so è possibile definire i colori dei link ma sfortunatamente questa cosa mi cambia colore anche a gli oggetti dell’indice (sto facendo delle slide) e questo non mi piace.

          \definecolor{MyBlue}{rgb}{0.2,0.2,0.5}
          \renewcommand{\ref}[1]{\textcolor{MyBlue}{\ref{#1}}}

          questo comando compila alla perfezione ma i link restano neri

          se invece sostituisco nel testo

          \textcolor{MyBlue}{\ref{riferimento}}

          questo funziona alla grande ma mi tocca andare a modificare tutto il documento.
          Qualcuno a qualche idea.

          Io ho un paio di idee; ho con l’acca, nota. 🙂 La prima idea infatti è di usare l’ortografia corretta. La seconda è di guardare la documentazione di hyperref, dove a pagina 7 fa bella mostra di sé l’opzione citecolor (color for bibliographical citations in text):
          `\definecolor{MyBlue}{rgb}{0.2,0.2,0.5}
          \hypersetup{citecolor=MyBlue}`
          Il tuo codice, come osserva OldClaudio, non viene affatto compilato: quello che vedi è, probabilmente, il pdf ottenuto prima di dare quella ridefinizione.

          Ciao
          Enrico

        • #51742
          tonegas
          Partecipante
            Up
            0
            Down
            ::


            Sto usando beamer quindi il pacchetto hyperref è incluso.

            Rispondo a egreg9

            Il tuo codice, come osserva OldClaudio, non viene affatto compilato: quello che vedi è, probabilmente, il pdf ottenuto prima di dare quella ridefinizione.

            No, il mio pdf è creato da quella compilazione, comunque è probabile che quel comando sia sbagliato in quanto non provoca nessun effetto; non utilizzo spesso il comando
            renewcommand quindi probabilmente ridefinire un comando richiamandolo al suo interno è sbagliato.
            Mentre il comando:
            `
            \hypersetup{citecolor=MyBlue}
            `
            non mi va bene perché io ho problemi a citare, non elementi della bibliografia, che con quel comando assumerebbero il colore desiderato, ma formule e figure presenti sulle slide.
            E comunque al limite dovrei usare:
            `
            \hypersetup{colorlinks=true,citecolor=MyBlue}
            `
            Se volessi poi colore i link che interessano a me dovrei scrivere:
            `
            \hypersetup{colorlinks=true,linkcolor=MyBlue}
            `
            questo comando però mi cambia anche il colore della prima voce nel menu in alto
            di riepilogo delle slide quella che indica il titolo del documento, e quello lo volevo evitare.

            Praticamente volevo colorare tutti i link che riferiscono formule e figure nel testo, evitando che però nel menu in alto sulle slide il colore cambiasse, in quanto anche quelli sono link.

            Quindi pensavo che la cosa più facile poteva essere di ridefinire \ref{}
            ma se all’interno della ridefinizione non puoi riutilizzare il comando \ref{} non so come si possa fare.

            Grazie per la disponibilità scusate per il disturbo e scusatemi per l’errore “a” e non “ha”
            che è un po’ brutto da vedersi. Spero di non averne commessi altri.

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

        Go to top