utilizzo di ref (non al numero ma all’argomento)

  • Creatore
    Topic
  • #7387
    Up
    0
    Down
    ::


    ciao a tutti di nuovo,
    mi dispiace postare domande di questo genere perche` saranno sicuramente gia` state trattate ma non so bene come formulare la ricerca e quindi mi perdo nell’enorme quantita` di dati.
    ecco quello che vorrei fare
    ho un articolo in cui chiamo diverse sezioni. dopo quelle a cui faccio riferimento utilizzo una label per richiamarla oltre nel testo, ma vorrei che il riferimento non fosse con il numero della sezione ma con il titolo.
    esempio esplicativo
    `
    \section{primo ciclo}
    \label{sec:primo}
    ………
    nel \ref{sec:primo} si verifica che
    `

    un input di questo genere mi pruduce il riferimento al numero della sezione, come posso fare affinche` mi compaia

    nel primo ciclo si verifica che

    grazie a tutti quanti per le risposte

    mi serve perche` ho varie opzioni che richiamo spesso, anche in tabelle. quindi sarebbe proprio comodo.

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

      ciao a tutti di nuovo,
      mi dispiace postare domande di questo genere perche` saranno sicuramente gia` state trattate ma non so bene come formulare la ricerca e quindi mi perdo nell’enorme quantita` di dati.
      ecco quello che vorrei fare
      ho un articolo in cui chiamo diverse sezioni. dopo quelle a cui faccio riferimento utilizzo una label per richiamarla oltre nel testo, ma vorrei che il riferimento non fosse con il numero della sezione ma con il titolo.
      esempio esplicativo
      `
      \section{primo ciclo}
      \label{sec:primo}
      ………
      nel \ref{sec:primo} si verifica che
      `

      un input di questo genere mi pruduce il riferimento al numero della sezione, come posso fare affinche` mi compaia

      nel primo ciclo si verifica che

      Non sono proprio sicuro che \section sia il comando giusto per questo scopo. In ogni caso puoi definirti un sistema \label-\ref personalizzato. Faccio il caso in cui ogni riferimento capiti dopo la sezione di riferimento; altrimenti è più complicato, occorre scrivere sul file .aux.
      `\newcommand{\sectionwithlabel}[2]{\section{#1}%
      \expandafter\gdef\csname nucleo#2\endcsname{#1}\label{#2}}
      \newcommand{\titleref}[1]{\csname nucleo#1\endcsname}`
      Lo usi così:`\sectionwithlabel{primo ciclo}{sec:primo}
      ………
      nel \titleref{sec:primo} si verifica che`Puoi anche riferirti al numero di sezione con la stessa etichetta. Esercizio: perché ho scritto due volte “nucleo”?
      Ciao
      Enrico

    • #7389
      Up
      0
      Down
      ::

      Puoi anche riferirti al numero di sezione con la stessa etichetta. Esercizio: perché ho scritto due volte “nucleo”?

      sincermente lo ignoro. non ci ho mai capito molto della sintassi che definisce i comandi
      nuovi … prevalentemente perche` non mi sono mai messo a studiarla
      grazie per la pronta risposta
      nucleo

    • #7390
      Up
      0
      Down
      ::

      Puoi anche riferirti al numero di sezione con la stessa etichetta. Esercizio: perché ho scritto due volte “nucleo”?

      sincermente lo ignoro. non ci ho mai capito molto della sintassi che definisce i comandi
      nuovi … prevalentemente perche` non mi sono mai messo a studiarla
      grazie per la pronta risposta
      nucleo

      Be’, questa non era facile. Ho scritto “nucleo” in quelle definizioni per assicurarmi di non ridefinire qualche comando già usato. È un trucco che va ricordato in certe occasioni.
      Anche il resto di quella roba non è semplicissimo, perché richiede la definizione globale di un comando il cui nome può essere composto anche da caratteri non lettera. Globale perché possiamo aspettarci che un titolo di sezione sia all’interno di un ambiente. Perciò`\expandafter\gdef\csname nucleo#2\endcsname{#1}`
      Il comando \expandafter chiede che sia espanso il token successivo a quello immediatamente seguente, in questo caso \csname; l’espansione di \csname provoca l’espansione di tutto quanto si trova fino al successivo \endcsname e la costruzione di un comando, in questo caso “\nucleo#2” (con #2 sostituito dall’argomento dato, naturalmente. Poi \gdef (cioè “definisci globalmente”) fa il suo mestiere.

      Ciao
      Enrico

    • #7391
      Up
      0
      Down
      ::


      grazie per la dettagliata spiegazione … in queste cose si vede la differenza tra un utilizzatore Staff e un niubbo … e pensare che volevo proprio cambiare il mio stato perche` ultimamente faccio dei lavorini carini … ma ho capito che la via della saggezza e` ancora mooolto lunga 😀

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

Go to top