URL a \footnotesize rispetto al corpo corrente

  • Creatore
    Topic
  • #42316
    Up
    0
    Down
    ::


    Ciao a tutti,
    vorrei personalizzare il modo con cui vengono resi gli URL in un documento. In particolare, mi interessa che vengano formattati con il carattere dattilografico e che siano di corpo \footnotesize rispetto a quello che è il valore corrente di \normalsize.

    Non mi preoccupo di chiamare url.sty perché è richiamato implicitamente da hyperref.sty. Per ottenere l’effetto desiderato, ho preso spunto da un codice trovato in rete:
    `\makeatletter
    \def\url@risorsastyle{%
    \@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\footnotesize\ttfamily}}}
    \makeatother
    \urlstyle{risorsa}`
    Qual è il problema? Che non viene verificata la condizione di cui sopra, e cioè che il valore di \footnotesize deve essere ricalcolato in base al valore corrente di \normalsize.

    Nell’esempio illustrato di seguito, nella nota a piè di pagina, presumo che il corpo del testo normale venga ridotto a \footnotesize; mi aspettavo pertanto che il corpo dell’URL dentro alla nota fosse ridotto a \scriptsize, ad esempio, ma così non è:
    `\documentclass{article}

    \usepackage{hyperref}

    \makeatletter
    \def\url@risorsastyle{%
    \@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\footnotesize\ttfamily}}}
    \makeatother
    \urlstyle{risorsa}

    \begin{document}

    Qui va bene: \url{http://www.uniud.it/}.\footnote{Ma qui no: \url{http://www.uniud.it/}.}

    \end{document}`
    Qualche consiglio?

    Grazie e a presto.

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #42317
      Up
      0
      Down
      ::

      Ciao a tutti,
      vorrei personalizzare il modo con cui vengono resi gli URL in un documento. In particolare, mi interessa che vengano formattati con il carattere dattilografico e che siano di corpo \footnotesize rispetto a quello che è il valore corrente di \normalsize.

      Non mi preoccupo di chiamare url.sty perché è richiamato implicitamente da hyperref.sty. Per ottenere l’effetto desiderato, ho preso spunto da un codice trovato in rete:
      `\makeatletter
      \def\url@risorsastyle{%
      \@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\footnotesize\ttfamily}}}
      \makeatother
      \urlstyle{risorsa}`
      Qual è il problema? Che non viene verificata la condizione di cui sopra, e cioè che il valore di \footnotesize deve essere ricalcolato in base al valore corrente di \normalsize.

      Nell’esempio illustrato di seguito, nella nota a piè di pagina, presumo che il corpo del testo normale venga ridotto a \footnotesize; mi aspettavo pertanto che il corpo dell’URL dentro alla nota fosse ridotto a \scriptsize, ad esempio, ma così non è:
      `\documentclass{article}

      \usepackage{hyperref}

      \makeatletter
      \def\url@risorsastyle{%
      \@ifundefined{selectfont}{\def\UrlFont{\tt}}{\def\UrlFont{\footnotesize\ttfamily}}}
      \makeatother
      \urlstyle{risorsa}

      \begin{document}

      Qui va bene: \url{http://www.uniud.it/}.\footnote{Ma qui no: \url{http://www.uniud.it/}.}

      \end{document}`
      Qualche consiglio?

      Grazie e a presto.

      Immagino che con il pacchetto relsize tu possa risolvere il problema:
      `\usepackage{relsize}
      \def\UrlFont{\relsize{-2}\ttfamily}}
      %\makeatletter
      %\def\url@risorsastyle{%
      % \def\UrlFont{\relsize{-2}\ttfamily}}
      %\makeatother
      %\urlstyle{risorsa}`
      Il controllo se \selectfont è definito è un relitto del passato: pensi di voler usare quelle macro in documenti scritti per LaTeX 2.09? Ho commentato anche la parte inutile; può essere rimessa (commentando la riga rilevante) se per caso dovessi usare più di uno stile per gli URL.

      Se usi le classi AMS hai già a disposizione \smaller[2] invece di \relsize{-2}; c’è anche \larger, ovviamente. Il valore di default dell’argomento facoltativo di \larger e \smaller è 1. Ma sei proprio sicuro di \footnotesize? In una nota a piè di pagina ti verrebbe \tiny: mi pare piuttosto piccolo; e \normalsize con \footnotesize insieme stanno davvero male.

      Ciao
      Enrico

    • #42318
      Up
      0
      Down
      ::

      Immagino che con il pacchetto relsize tu possa risolvere il problema:
      `\usepackage{relsize}
      \def\UrlFont{\relsize{-1}\ttfamily}`

      Molte grazie. Come mi ha ricordato il compositore, c’era una parentesi di troppo, ma questa è proprio la soluzione che stavo cercando.

      Il controllo se \selectfont è definito è un relitto del passato: pensi di voler usare quelle macro in documenti scritti per LaTeX 2.09?

      Non credo di avere mai scritto un documento per LaTeX 2.09. In realtà, cerco di usare i pacchetti e i comandi nel modo più «attuale» possibile, anche seguendo i vari consigli che trovo sul forum.

      Ma sei proprio sicuro di \footnotesize? In una nota a piè di pagina ti verrebbe \tiny: mi pare piuttosto piccolo

      In effetti, hai ragione; ho modificato il codice da te suggerito usando il valore -1.

      Mancava una premessa: in un documento in cui ho specificato l’opzione 11pt a book.cls, sto usando il Minion Pro come carattere normale, e il Bitstream Letter Gothic 12 Pitch come carattere dattilografico: rispetto al primo, il secondo «sborda», da cui la mia necessità.

      Purtroppo, dopo avere acquistato quest’ultimo font, ho letto nelle istruzioni per l’uso che l’unico modo per richiamarlo è mediante l’istruzione
      `\renewcommand\ttdefault{blg}`
      Non dispongo di un pacchetto relativo al carattere che consenta di scalarlo (come fa ad esempio couriers.sty), quindi sono costretto a fare le cose a mano.

      Mi rendo conto però che il «passo» usato da relsize.sty è più di quanto ci si aspetti, perché nel mio caso \url{http://www.google.it} (con \relsize{-1}\ttfamily) e {\footnotesize\texttt{http://www.google.it/}} hanno la stessa dimensione (mi aspettavo che -1 portasse il suo argomento a \small).

      \normalsize con \footnotesize insieme stanno davvero male.

      Credo che questo sia vero per le famiglie di caratteri per le quali siano stati progettati ad hoc sia il \rmfamily sia il \ttfamily, come i Computer Modern, non necessariamente per gli accostamenti personalizzati.

      Grazie e a presto.

    • #42319
      Up
      0
      Down
      ::

      Immagino che con il pacchetto relsize tu possa risolvere il problema:
      `\usepackage{relsize}
      \def\UrlFont{\relsize{-1}\ttfamily}`

      Molte grazie. Come mi ha ricordato il compositore, c’era una parentesi di troppo, ma questa è proprio la soluzione che stavo cercando.

      Il controllo se \selectfont è definito è un relitto del passato: pensi di voler usare quelle macro in documenti scritti per LaTeX 2.09?

      Non credo di avere mai scritto un documento per LaTeX 2.09. In realtà, cerco di usare i pacchetti e i comandi nel modo più «attuale» possibile, anche seguendo i vari consigli che trovo sul forum.

      Ma sei proprio sicuro di \footnotesize? In una nota a piè di pagina ti verrebbe \tiny: mi pare piuttosto piccolo

      In effetti, hai ragione; ho modificato il codice da te suggerito usando il valore -1.

      Mancava una premessa: in un documento in cui ho specificato l’opzione 11pt a book.cls, sto usando il Minion Pro come carattere normale, e il Bitstream Letter Gothic 12 Pitch come carattere dattilografico: rispetto al primo, il secondo «sborda», da cui la mia necessità.

      Purtroppo, dopo avere acquistato quest’ultimo font, ho letto nelle istruzioni per l’uso che l’unico modo per richiamarlo è mediante l’istruzione
      `\renewcommand\ttdefault{blg}`
      Non dispongo di un pacchetto relativo al carattere che consenta di scalarlo (come fa ad esempio couriers.sty), quindi sono costretto a fare le cose a mano.

      Prendi questo codice e salvalo come blg.sty
      `\ProvidesPackage{blg}[2010/02/23]
      \RequirePackage{keyval}
      \define@key{BLG}{scaled}[.95]{%
      \def\BLG@scale{#1}}
      \def\ProcessOptionsWithKV#1{%
      \let\@tempc\relax
      \let\BLG@tempa\@empty
      \ifx\@classoptionslist\relax\else
      \@for\CurrentOption:=\@classoptionslist\do{%
      \@ifundefined{KV@#1@\CurrentOption}%
      {}%
      {%
      \edef\BLG@tempa{\BLG@tempa,\CurrentOption,}%
      \@expandtwoargs\@removeelement\CurrentOption
      \@unusedoptionlist\@unusedoptionlist
      }%
      }%
      \fi
      \edef\BLG@tempa{%
      \noexpand\setkeys{#1}{%
      \BLG@tempa\@ptionlist{\@currname.\@currext}%
      }%
      }%
      \BLG@tempa
      \let\CurrentOption\@empty
      }
      \ProcessOptionsWithKV{BLG}
      \AtEndOfPackage{%
      \let\@unprocessedoptions\relax
      }
      \renewcommand{\ttdefault}{blg}
      \endinput`
      È helvet.sty modificato per prendere l’opzione “scaled=xx”.

      Ciao
      Enrico

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

Go to top