Riferimenti a contatori con \alph

  • Creatore
    Topic
  • #48290
    Up
    0
    Down
    ::


    Ciao a tutti.

    Sto scrivendo un documento in cui ad un certo punto voglio comporre un enumerate (ma solo quello) con stile diverso da quello standard. Allora faccio così:

    `
    \renewcommand{\labelenumi}{\alph{enumi})}
    \begin{enumerate}

    \item …

    \end{enumerate}
    \renewcommand{\labelenumi}{\arabic{enumi}.}
    `

    Poi, in un punto successivo del documento, voglio fare riferimento ad uno dei punti dell’enumerate. Allora scrivo quel punto in questo modo:

    `
    \item\label{magnifica-etichetta} …
    `

    e poi, dove mi interessa mettere il riferimento:

    `
    \ref{magnifica-etichetta}
    `

    Il problema è che \ref mi spara fuori il valore del contatore (per esempio, “3”), mentre io invece voglio che si veda “c)”, come si vedeva nell’enumerate. Però a questo punto non posso più usare la macro \alph, perché il 3 non è più il valore di un contatore. Come mi conviene fare?

    Un grande ringraziamento a chi mi saprà dare una mano, Gio.

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #48291
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        So che esiste un pacchetto che permette di definire lo stile del contatore di enumerate e di impostare anche le cose in modo che ‘label e \ref funzionino come ci si aspetta. Io però non l’ho mai usato e quindi non so come si chiami quel pacchetto. Ahimè non è serio questo consiglio ma dice una piccola verità.
        Tuttavia sull’Introduzione (cercando nell’indice analitico ‘labelenumi) oppure nell’indice degli ambienti la parola enumerate) dovresti trovare la spiegazione dell’intimo funzionamento dei contatori e dei prefissi dell’ambiente enumerate; vedresti che non basta ribattezzare \labelenumi con \alph{enumi} ma devi ridefinire diversi altri comandi.

        In alternativa puoi usare l’ambiente list di cui trovi sempre la descrizione nell’Introduzione, qui sopra.

      • #48292
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::


          `\documentclass{article}
          \usepackage{enumitem}

          \newenvironment{elenco}{%
          \begin{enumerate}[label=(\textit{\alph*}),ref=(\textit{\alph*})]}%
          {\end{enumerate}}

          \begin{document}
          \begin{elenco}
          \item Mane
          \item Tekel \label{itm:tekel}
          \item fares
          \end{elenco}
          Si veda~\ref{itm:tekel}.
          \end{document}`
          Gli altri elenchi li fai col solito “enumerate”.

          Ciao,
          L.

        • #48293
          Up
          0
          Down
          ::


          Grazie mille, funziona alla grande. In effetti supponevo che la mia soluzione non fosse il massimo, ma non conoscevo il modo elegante.

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

      Go to top