Problema ordinamento bibliografia

  • Creatore
    Topic
  • #96992
    Up
    0
    Down
    ::


    Buongiorno a tutti, scrivo perché ho un doppio problema con la bibliografia della mia tesi. Utilizzo MiKTeX, e per la bibliografia biblatex con stile authoryear:
    `usepackage[backend=biber,hyperref,style=authoryear,useprefix]{biblatex}`

    Il mio problema riguarda la visualizzazione di due record:
    `@inproceedings{elsinga:TPIVassessment,
    author = {Elsinga, G. E. and van Oudheusden, B. W. and Scarano, F.},
    title = {Experimental assessment of tomographic-PIV accuracy},
    year = {2006},
    booktitle = {13th International Symposium on Applications of Laser Techniques to Fluid Mechanics},
    location = {Lisbon, Portugal},
    }

    @article{elsinga:calibration,
    author = {Elsinga, G. E. and Scarano, F. and Wieneke, B. and van Oudheusden, B. W.},
    title = {Tomographic particle image velocimetry},
    journaltitle = {Exp. Fluids},
    year = {2006},
    number = {41},
    pages = {933–947},
    }`

    1) Ora, il mio problema deriva dal fatto che sebbene l’autore principale sia lo stesso per entrambi (Elsinga) e l’anno sia lo stesso, i due record non vengono visualizzati come `Elsinga et al. (2006a)` e `Elsinga et al. (2006b)` poiché gli altri autori sono diversi. Nel testo quando uso \textcite ottengo `Elsinga et al. (2006)` per entrambi, e non è quindi possibile distinguere a quale dei due record si faccia riferimento.

    2) Inoltre, nella pagina delle References vengono rappresentati in maniera differente:

    Invece, vorrei che nelle References venissero indicati
    – o entrambi come Elsinga et al. (2006a) e Elsinga et al. (2006b)
    – oppure con la lista completa degli autori, non solo i primi due

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #96993
      Up
      0
      Down
      ::


      Opzioni
      `
      maxcitenames=2,
      mincitenames=1,
      maxbibnames=999,
      minbibnames=999
      `
      Sono le opzioni dei default dello stile
      `style=philosophy-classic`

      Nella bibliografia avrai la lista completa, cosa che mi pare sempre opportuna. (Eventualmente da evitare solo con articoli a più di 100 mani.)
      Nelle citazioni, se ci sono più di due autori, la lista viene troncata al primo.

      Ciao
      Ivan

    • #96994
      Up
      0
      Down
      ::


      Grazie ivan! Era proprio ciò che cercavo!
      Le citazioni nel corpo del testo rimangono comunque non distinguibili, nel senso che continuano a comparire entrambe come `Elsinga et al. (2006)`, però almeno la bibliografia ora mostra correttamente tutti gli autori.
      Non esiste un modo per forzare l’aspetto di una particolare citazione vero? Una sorta di etichetta o qualcosa del genere che io possa impostare per quei due record che sono “problematici” in modo che nel corpo del testo uno venga citato come `Elsinga et al. (2006a)` e l’altro `Elsinga et al. (2006b)`

      EDIT: ho provato a inserire manualmente una a e una b nel campo dell’anno per i due record:
      `@inproceedings{elsinga:TPIVassessment,
      author = {Elsinga, G. E. and van Oudheusden, B. W. and Scarano, F.},
      title = {Experimental assessment of tomographic-PIV accuracy},
      year = {2006b},
      booktitle = {13th International Symposium on Applications of Laser Techniques to Fluid Mechanics},
      location = {Lisbon, Portugal},
      }

      @article{elsinga:calibration,
      author = {Elsinga, G. E. and Scarano, F. and Wieneke, B. and van Oudheusden, B. W.},
      title = {Tomographic particle image velocimetry},
      journaltitle = {Exp. Fluids},
      year = {2006a},
      number = {41},
      pages = {933–947},
      }`

      Nelle citazioni compare correttamente (2006a) e (2006b), però ora nelle citazioni in corpo per quei due record mostra sempre i primi due autori et al. anche se ho impostato
      `\usepackage[maxcitenames=1,mincitenames=1,maxbibnames=999,minbibnames=999,backend=biber,hyperref,style=authoryear,useprefix]{biblatex}`
      Qualche idea sul perché adesso ignori maxcitenames?

    • #96995
      Up
      0
      Down
      ::


      Opzione
      `uniquename=init
      `
      Oppure con uno degli altri valori disponibili, che trovi descritti nella doc di biblatex.

      Ciao
      Ivan

    • #96996
      Up
      0
      Down
      ::


      Finalmente ho risolto! Ho cambiato le opzioni di biblatex nel preambolo:
      `\usepackage[backend=biber, hyperref, style=authoryear, useprefix, minbibnames=999, maxbibnames=999, maxcitenames=1, uniquename=false, uniquelist=false]{biblatex}`
      e ho aggiunto il campo shorthand nel file .bib per i due record che mi creavano problemi, in modo che visualizzassero 2006a e 2006b invece che solo 2006:

      @inproceedings{elsinga:TPIVassessment,
      author = {Elsinga, G. E. and van Oudheusden, B. W. and Scarano, F.},
      title = {Experimental assessment of tomographic-PIV accuracy},
      year = {2006b},
      booktitle = {13th International Symposium on Applications of Laser Techniques to Fluid Mechanics},
      location = {Lisbon, Portugal},
      shorthand = {2006b},
      }

      @article{elsinga:calibration,
      author = {Elsinga, G. E. and Scarano, F. and Wieneke, B. and van Oudheusden, B. W.},
      title = {Tomographic particle image velocimetry},
      journaltitle = {Exp. Fluids},
      year = {2006a},
      shorthand = {2006a},
      number = {41},
      pages = {933–947},
      }

      Questo è il risultato per le citazioni nel testo:


      e questo è il risultato nella bibliografia:

      Grazie per l’aiuto! 🙂

      EDIT: ho visto che è meglio scrivere direttamente 2006a o 2006b nel campo year nel file .bib e togliere il campo shorthand. In questo modo compare 2006a e 2006b anche nella bibliografia, rendendo così possibile l’identificazione del riferimento corretto (le citazioni nel testo rimangono inalterate)

    • #96997
      Up
      0
      Down
      ::


      Non è l’approccio corretto. Innanzitutto va detto che le etichette letterali appese agli anni sono previste solo per anni relativi a uno stesso autore (o allo stesso insieme di autori). Poi, le opzioni uniquename=false e uniquelist=false sono del tutto inutili, visto che sono già impostato di default. Inoltre anche uniquelist=false non serve! visto che ha lo stesso valore di uniquename.
      Se usi maxcitenames=1 non puoi distinguere le citazioni perché le liste di autori vengono troncate al primo autore, essendo mincitenames impostato di default a 1. Le istruzioni che hai messo significano questo:
      “Se ci sono due voci con più di un autore e con il primo autore in comune, citale usando solo il primo autore”, che è proprio quello che tu non vuoi.

      `\usepackage[backend=biber, hyperref, style=authoryear, useprefix, minbibnames=999, maxbibnames=999,uniquename=init, uniquelist=init]{biblatex}`

      Ciao
      Ivan

    • #96998
      Up
      0
      Down
      ::

      ivan” post=96614Non è l’approccio corretto. Innanzitutto va detto che le etichette letterali appese agli anni sono previste solo per anni relativi a uno stesso autore (o allo stesso insieme di autori). Poi, le opzioni uniquename=false e uniquelist=false sono del tutto inutili, visto che sono già impostato di default. Inoltre anche uniquelist=false non serve! visto che ha lo stesso valore di uniquename.
      Se usi maxcitenames=1 non puoi distinguere le citazioni perché le liste di autori vengono troncate al primo autore, essendo mincitenames impostato di default a 1. Le istruzioni che hai messo significano questo:
      “Se ci sono due voci con più di un autore e con il primo autore in comune, citale usando solo il primo autore”, che è proprio quello che tu non vuoi.

      `\usepackage[backend=biber, hyperref, style=authoryear, useprefix, minbibnames=999, maxbibnames=999,uniquename=init, uniquelist=init]{biblatex}`

      Ciao
      Ivan

      In realtà era proprio quello che cercavo, perché altrimenti nelle citazioni nel testo mi elencava i primi due autori invece che solo Elsinga et al. , e non mi piaceva perché mi sembrava che scombinasse tutto il ritmo di lettura. Ammetto che uniquename=false e uniquelist=false li ho messi perché li ho trovati come risposta a una domanda molto simile su tex.stackexchange.com e senza comprenderne a pieno la funzione, però senza di quelli anche se scrivevo maxcitenames=1 ignorava il comando e metteva i primi due, mentre mettendoli è venuto esattamente come lo volevo. Lo so, dovrei prendermi il tempo per capire meglio tutte le funzioni, ma la scadenza per la consegna della mia tesi incombe 😀 , quindi mi trovo costretto a forzare un po’ le cose per risparmiare tempo. Grazie comunque per il tuo aiuto!

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

Go to top