Ordinamento nomenclatura

  • Creatore
    Topic
  • #92697
    Up
    0
    Down
    ::


    Salve a tutti,

    ho un problema da sottoporvi :). Vorrei inserire nella mia tesi di dottorato la sezione nomenclatura. La necessità di tale sezione risiede nel gran numero di simboli matematici utilizzati nel testo.
    Ho imparato ad usare il pacchetto nomencl, ma ho molti problemi ad ottenere un ordinamento dei simboli soddisfacente.
    Come prima cosa ho imparato a creare più sottogruppi, dividendo la nomenclatura in Greek Letters and Roman Letters. Le opzioni usate nel caricare il pacchetto nomencl sono quelle di default.
    Usando il codice
    `
    \nomenclature[g]{$\alpha$}{Descrizione}
    \nomenclature[g]{$\beta$}{Descrizione}
    \nomenclature[g]{$\Delta c$}{Descrizione}
    \nomenclature[g]{$\epsilon$}{Descrizione}
    \nomenclature[g]{$\gamma$}{Descrizione}
    \nomenclature[g]{$\boldsymbol{\omega}$}{Descrizione}
    `

    i simboli vengono ordinati nel seguente ordine:
    \alpha
    \beta
    \boldsymbol{\omega}
    \Delta c
    \epsilon
    \gamma

    E cioè i comandi vengono ordinati secondo l’ordine ASCII del testo dei comandi. Cioè, apparte il primo simbolo \ uguale per tutti, in testa all’elenco c’è la lettera “a” di alpha, poi mette la “be” di beta, poi la “bo” di boldsymbol e così via.
    In questo oridne ci sono due errori. Il primo è che l’ordine alfabetico da rispettare sarebbe quello dell’alfabeto greco e quindi gamma deve andare subito dopo di beta e non dopo epsilon. Secondo \boldsymbol{omega} deve essere ordinato facendo riferimento al simbolo \omega e non al comando \boldsymbol.

    Allo stesso modo per le lettere romane usando il codice
    `
    \nomenclature[r]{$A$}{Descrizione}
    \nomenclature[r]{$\boldsymbol{u}$}{Descrizione}
    \nomenclature[r]{$c$}{Descrizione}
    \nomenclature[r]{$e$}{Descrizione}
    \nomenclature[r]{$\dot{m}$}{Descrizione}
    `

    l’ordinamento che ne risulta è:
    \boldsimbol{u}
    \dot{m}
    A
    c
    e
    quando invece dovrebbe essere A,c,e,\dot{m},\boldsymbol{u}.

    Come posso risolvere questi problemi usando il pacchetto nomencl? (cioè non facendo la nomenclatura a mano con una tabella?).
    Grazie a tutti.

    Ciao

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #92698
      Up
      0
      Down
      ::


      Nessuna idea? 🙁

    • #92699
      Up
      0
      Down
      ::


      Ciao,

      Con che opzioni hai caricato il pacchetto nomencl?

      Sofia

    • #92700
      Up
      0
      Down
      ::

      Sofia86″ post=92382Ciao,

      Con che opzioni hai caricato il pacchetto nomencl?

      Sofia

      come avevo scritto, ho usato le opzioni di default…

      Grazie
      Ciao

    • #92701
      Up
      0
      Down
      ::


      Ciao,

      prova ad usare l’opzione “noprefix”.
      Se ricordo bene nella documentazione viene specificato che é preferibile usare l’opzione noprefix e poi settare gli “optional argument” per ottenere l’ordine desiderato.
      Mi sembra che di default nomencl carichi l’opzione prefix.

      Buona fortuna

    • #92702
      Up
      0
      Down
      ::

      Sofia86″ post=92386Ciao,

      prova ad usare l’opzione “noprefix”.
      Se ricordo bene nella documentazione viene specificato che é preferibile usare l’opzione noprefix e poi settare gli “optional argument” per ottenere l’ordine desiderato.
      Mi sembra che di default nomencl carichi l’opzione prefix.

      Buona fortuna

      Tutti gli errori denunciati nel primo post rimangono invariati.
      Con l’opzione di default mette una “a” davanti a tutte le entries e le tratta quindi come delle strings. Cioè usa l’ordine alfabetico nel confrontare due lettere e ASCII quando uno dei due caratteri non è una lettera.
      Con noprefix, se la entry inizia per una lettera la tratta come una strings (cioè come prima), se inizia per un numero come un numero altrimenti lo tratta come un simbolo.
      Usando noprefix ottengo quindi un più semplice ordinamento secondo l’ordine ASCII, ma gli errori rimangono tutti!!

      grazie
      ciao

    • #92703
      Up
      0
      Down
      ::


      Il problema é che stai usando il prefisso nel modo sbagliato.
      Tu stai dando a tutti i simboli lo stesso gruppo di appartenenza (o “g” o “r”), quindi é ovvio che lui li metta in ordine secondo le regole di MakeIndex (vedi quanto scritto nella documentazione della classe nomencl).

      Quando chiami il pacchetto, dagli l’opzione “noprefix” e poi fa’ attenzione, perché devi scegliere i prefissi in maniera “scaltra” secondo l’ordine che vuoi dare.

      Ad esempio, per quanto riguarda le lettere latine che hai elencato nella tua domanda hai due opzioni.
      O le ordini manualmente, numerandole tu secondo l’ordine che più ti aggrada, del tipo:

      `
      \nomenclature[01]{$A$}{Descrizione}
      \nomenclature[02]{$\boldsymbol{u}$}{Descrizione}
      \nomenclature[03]{$c$}{Descrizione}
      \nomenclature[04]{$e$}{Descrizione}
      \nomenclature[05]{$\dot{m}$}{Descrizione}
      `

      (sta’ attento a ricordarti lo zero, perché usa l’ordine lessicografico e quindi ad esempio ti vengono 1 10 15 2 20 3 6 8 9)

      oppure guarda qui:

      http://tex.stackexchange.com/questions/106541/make-nomenclature-sort-math-correctly/112894#112894

      Come viene suggerito, puoi ad esempio dire che le lettere latine prendono l’indice 1 seguito da una lettera di riferimento per mettere il simbolo nella posizione che più ti aggrada, mentre quelle greche prendono il 2 (sempre seguito dalla lettera che ti serve per metterle nell’ordine che ti pare) e quindi ad esempio avrai per le lettere latine:
      `
      \nomenclature[1a]{$A$}{Descrizione}
      \nomenclature[1au]{$\boldsymbol{u}$}{Descrizione}
      \nomenclature[1c]{$c$}{Descrizione}
      \nomenclature[1e]{$e$}{Descrizione}
      \nomenclature[1m]{$\dot{m}$}{Descrizione}
      `

      seguite poi da quelle greche (perché ci hai messo il 2).

      Con entrambi i metodi ottieni l’ordine A, \boldsymbol{u}, c, e, \dot{m}

      Non credo esista un modo “automatico” per farglieli stampare nell’ordine che piace a te. Devi solo fare attenzione al modo in cui scegli il tipo di prefisso.

      In bocca al lupo…

    • #92704
      Up
      0
      Down
      ::


      adesso ho capito… il tutto è un pò macchinoso, ma funziona 😀

      Grazie
      Ciao

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

Go to top