BibLaTeX Philosophy – Separare un autore in bibliografia

  • Questo topic ha 8 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 3 anni fa da MatteoF.
  • Creatore
    Topic
  • #121718
    Marco Berardinetti
    Partecipante
      Up
      0
      Down
      ::


      Carissimi utenti,

      Apro un nuovo thread, come suggeritomi dall’utente MatteoF, per chiedervi una mano nella gestione della bibliografia della mia tesi. Sto utilizzando il pacchetto BibLaTeX Philosophy perché mi permette una compilazione automatica e nello stile “verbose” delle citazioni a pié pagina. L’elaborato si concentra su un autore, dunque la bibliografia presenterebbe un numero piuttosto elevato di testi scritti da questo. Vorrei dunque dividere la bibliografia prodotta automaticamente da BibLaTeX di modo da avere una parte con solo i suoi testi e un’altra parte con ciò che posso definire “letteratura secondaria” (quindi sia saggi sull’autore, ma anche testi che non trattano specificamente le sue teorie, insomma i libri che ho più generalmente consultato). Lascio qui di seguito l’emc (esempio minimo compilabile) del file .tex, nel prossimo messaggio invece il file .bib con un numero estremamente ridotto di testi (giusto perché possiate farvi appunto un’idea del risultato che ho ora).

      `\documentclass[a4paper,openright,12pt,twoside]{book}
      \usepackage[T1]{fontenc}
      \usepackage[utf8]{inputenc}
      \usepackage[english,french,latin,italian]{betababel}
      \usepackage{quoting}
      \quotingsetup{font=small}
      \usepackage{epigraph}
      \usepackage{indentfirst} %Per non applicarlo su un paragrafo, è sufficiente che all'inizio della riga si inserisca il comando \noindent
      \pagestyle{plain}
      \usepackage{geometry}
      \geometry{a4paper,top=3cm,bottom=3cm,left=2.5cm,right=5cm,
      heightrounded,bindingoffset=1cm}
      \usepackage[titles]{tocloft}
      \cftpagenumbersoff{chapter}
      \usepackage[linktoc=all,colorlinks=true,linkcolor=black,urlcolor=black, citecolor=black, bookmarksopen=true,unicode]{hyperref}
      \usepackage{bookmark}
      \usepackage{xcolor}
      \usepackage{paralist}
      \usepackage{enumitem}
      \usepackage{caption}
      \captionsetup{font=small}
      \captionsetup[figure]{labelfont=bf,textfont=it}
      \usepackage{subfig}
      \definecolor{dimgray}{rgb}{0.41, 0.41, 0.41}
      \definecolor{blue(ncs)}{rgb}{0.0, 0.53, 0.74}
      \usepackage{csquotes}
      %
      % For alternative styles, see the biblatex manual:
      % http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf
      %
      \usepackage[style=philosophy-verbose, scauthors=bibcite, classical=true, commacit=true, inbeforejournal=true, publocformat=locpubyear]{biblatex}
      %
      % Codice per ridefinire la macro issue+date dello stile philosophy-verbose
      \renewbibmacro*{issue+date}{%
      \printtext{% invece di \printtext[pureparens]{%
      \iffieldundef{issue}
      {\usebibmacro{date}}
      {\printfield{issue}%
      \setunit*{\addspace}%
      \usebibmacro{date}}}%
      \newunit}

      \renewbibmacro*{journal+issuetitle}{%
      \usebibmacro{journal}%
      \setunit*{\addspace}%
      \iffieldundef{series}
      {}%
      {\newunit%
      \printfield{series}\setunit{\addspace}\midsentence}%
      \newunit%
      \usebibmacro{volume+number+eid}%
      \setunit{\addcomma\space}% invece di \setunit{\addspace}%
      \usebibmacro{issue+date}%
      \setunit{\addcolon\space}%
      \usebibmacro{issue}%
      \newunit}

      \renewbibmacro*{title+issuetitle}{%
      \usebibmacro{periodical}%
      \setunit*{\addspace}%
      \iffieldundef{series}
      {}%
      {\newunit
      \printfield{series}%
      \setunit{\addspace}\midsentence}%
      \usebibmacro{volume+number+eid}%
      \setunit{\addcomma\space}% invece di \setunit{\addspace}%
      \usebibmacro{issue+date}%
      \setunit{\addcolon\space}%
      \usebibmacro{issue}%
      \newunit}
      %

      \setlength{\bibnamesep}{15pt}
      \bibliography{Test}

      \author{Marco}

      \title{\textit{Example}}

      \date{\empty}

      \begin{document}
      \maketitle

      \chapter{Le tappe della comunicazione umana}
      \section{Introduzione}
      \noindent …

      \nocite{*}
      \printbibliography`

    Visualizzazione 7 filoni di risposte
    • Autore
      Risposte
      • #121719
        Marco Berardinetti
        Partecipante
          Up
          0
          Down
          ::


          Qui di seguito, come promesso, un estratto del file .bib:

          `@book{moles67,
          author= {Moles, Abraham},
          title= {Sociodinamica della cultura},
          publisher= {Armando Editore, Roma},
          year= {2012}}

          @book{contrattacco,
          author = {Restuccia, Francesco},
          title = {Il contrattacco delle immagini},
          subtitle = {Tecnica, media e idolatria a partire da Vilém Flusser.},
          year = {2021},
          publisher = {Meltemi Editore, Milano},
          foreword= {Andrea Pinotti}}

          @book{culturamedia,
          author = {Flusser, Vilém},
          title = {La cultura dei media},
          year = {2004},
          publisher = {Bruno Mondadori, Milano},
          afterword= {Andrea Borsari}}

          @inbook{societaalfanumerica,
          author = “Flusser, Vilém”,
          title = “Società alfanumerica”,
          booktitle= “La cultura dei media”,
          publisher= “Bruno Mondadori, Milano”,
          year= {2004},
          crossref = {culturamedia}}

          @inbook{mondocodificato,
          author = “Flusser, Vilém”,
          title = “Il mondo codificato”,
          booktitle= “La cultura dei media”,
          publisher= “Bruno Mondadori, Milano”,
          year= {2004},
          crossref = {culturamedia}}

          @article{leggereflusser,
          Author= “Restuccia, Francesco”,
          Title=”Leggere Flusser”,
          Journal=”Flusser Studies”,
          Year= “maggio 2018″,
          Volume=”25”}`

        • #121720
          claudio
          Partecipante
            Up
            0
            Down
            ::


            ciao
            sono un po’ arrugginito ma penso che la soluzione sia nella sintassi
            di printbibliography
            io farei cosi
            con un editor appropriato (jabRef) aggiungerei alla bibliografia due Keywords
            tipo
            Keywords=opere quando si tratta di un’opera
            Keywords=commento quando si tratta di un commento
            e farei poi così
            \printbibliography[keyword={opere}]
            \printbibliography[keyword={commento}]
            e il gioco è fatto
            ciao
            claudio

          • #121721
            MatteoF
            Partecipante
              Up
              0
              Down
              ::


              Prima di entrare nel merito della richiesta, è doveroso spendere due parole riguardo l’esempio postato che, purtroppo, non è ne minimo ne compilabile.
              In altro post ti avevo indicato l’ottima guida di Ivan Valbusa, Guida pratica agli esempi minimi compilabili (7 paginette), che evidentemente non hai letto o compreso.
              Inoltre, oltre a leggere una guida introduttiva a LaTeX, è doveroso leggere sempre la documentazione di tutti i pacchetti che si caricano.

              Riguardo al preambolo postato:
              – non serve caricare le opzioni di classe [tt]openright[/tt] e [tt]twoside[/tt] (già di default in [tt]book.cls[/tt]);
              – non serve caricare il pacchetto [tt]inputenc[/tt] (la codifica utf8 è usata di default già da diversi anni);
              – se non usi l’opzione di babel [tt]polutonikogreek[/tt], perchè carichi [tt]betababel[/tt] (sempre che sia ancora utile, considerando che il pacchetto non viene aggiornato dal 2005)?
              – sicuro ti serva il pacchetto [tt]bookmark[/tt]?
              – il pacchetto [tt]hyperref[/tt] conviene caricarlo sempre per ultimo (sempreché non siano presenti pacchetti che devono essere caricati dopo [tt]hyperref[/tt]);
              – il comando [tt]biblatex[/tt] per caricare un file bibliografico è [tt]\addbibresource[/tt] e non [tt]\bibliography[/tt] (quest’ultimo deprecato da non so quanti anni).

              Intanto partiamo dal seguente emc:
              `
              % !TEX encoding = UTF-8 Unicode
              % !TEX program = pdflatex
              % !BIB program = biber

              \begin{filecontents}[overwrite]{\jobname.bib}
              @book{moles67,
              author = {Moles, Abraham},
              title = {Sociodinamica della cultura},
              publisher = {Armando Editore},
              location = {Roma},
              date = {2012},
              }
              @book{contrattacco,
              author = {Restuccia, Francesco},
              title = {Il contrattacco delle immagini},
              subtitle = {Tecnica, media e idolatria a partire da Vilém Flusser},
              publisher = {Meltemi Editore},
              location = {Milano},
              date = {2021},
              foreword = {Pinotti, Andrea},
              }
              @collection{culturamedia,
              author = {Flusser, Vilém},
              title = {La cultura dei media},
              publisher = {Bruno Mondadori},
              location = {Milano},
              date = {2004},
              afterword = {Borsari, Andrea},
              }
              @inbook{societaalfanumerica,
              author = {Flusser, Vilém},
              title = {Società alfanumerica},
              booktitle = {La cultura dei media},
              publisher = {Bruno Mondadori},
              location = {Milano},
              date = {2004},
              crossref = {culturamedia},
              }
              @inbook{mondocodificato,
              author = {Flusser, Vilém},
              title = {Il mondo codificato},
              booktitle = {La cultura dei media},
              publisher = {Bruno Mondadori},
              location = {Milano},
              date = {2004},
              crossref = {culturamedia},
              }
              @article{leggereflusser,
              author = {Restuccia, Francesco},
              title = {Leggere Flusser},
              journaltitle = {Flusser Studies},
              issue = {maggio},
              volume = {25},
              date = {2018},
              }
              \end{filecontents}

              \documentclass{article}
              \usepackage[T1]{fontenc}
              \usepackage[italian]{babel}
              \usepackage[style=philosophy-verbose]{biblatex}
              \addbibresource{\jobname.bib}
              \usepackage{csquotes}

              \begin{document}
              \nocite{*}
              \printbibliography
              \end{document}
              `

            • #121722
              MatteoF
              Partecipante
                Up
                0
                Down
                ::

                claudio” post=122285con un editor appropriato (jabRef) aggiungerei alla bibliografia due Keywords […]

                Sicuramente questo è l’approccio giusto. È possibile farlo manualmente (voce per voce) o in modo automatico (dinamico) tramite il sourcemapping di biber.

                Io farei tutto in questo modo:
                `
                % !TEX encoding = UTF-8 Unicode
                % !TEX program = pdflatex
                % !BIB program = biber

                \begin{filecontents}[overwrite]{\jobname.bib}
                @book{moles67,
                author = {Moles, Abraham},
                title = {Sociodinamica della cultura},
                publisher = {Armando Editore},
                location = {Roma},
                date = {2012},
                }
                @book{contrattacco,
                author = {Restuccia, Francesco},
                title = {Il contrattacco delle immagini},
                subtitle = {Tecnica, media e idolatria a partire da Vilém Flusser},
                publisher = {Meltemi Editore},
                location = {Milano},
                date = {2021},
                foreword = {Pinotti, Andrea},
                }
                @collection{culturamedia,
                author = {Flusser, Vilém},
                title = {La cultura dei media},
                publisher = {Bruno Mondadori},
                location = {Milano},
                date = {2004},
                afterword = {Borsari, Andrea},
                }
                @inbook{societaalfanumerica,
                author = {Flusser, Vilém},
                title = {Società alfanumerica},
                booktitle = {La cultura dei media},
                publisher = {Bruno Mondadori},
                location = {Milano},
                date = {2004},
                crossref = {culturamedia},
                }
                @inbook{mondocodificato,
                author = {Flusser, Vilém},
                title = {Il mondo codificato},
                booktitle = {La cultura dei media},
                publisher = {Bruno Mondadori},
                location = {Milano},
                date = {2004},
                crossref = {culturamedia},
                }
                @article{leggereflusser,
                author = {Restuccia, Francesco},
                title = {Leggere Flusser},
                journaltitle = {Flusser Studies},
                issue = {maggio},
                volume = {25},
                date = {2018},
                }
                \end{filecontents}

                \documentclass{article}
                \usepackage[T1]{fontenc}
                \usepackage[italian]{babel}
                \usepackage[style=philosophy-verbose]{biblatex}
                \addbibresource{\jobname.bib}
                \usepackage{csquotes}

                \DeclareSourcemap{
                \maps{
                \map{
                \step[fieldsource=author, match={Flusser, Vilém}, final]
                \step[fieldset=keywords, fieldvalue={flusser}]
                }
                }
                }

                \AtEveryBibitem{%
                \iffieldequalstr{keywords}{flusser}
                {\clearname{author}}
                {}
                }

                \begin{document}
                \nocite{*}
                \printbibliography[title={Opere di Vilém Flusser}, keyword=flusser]
                \printbibliography[title={Letteratura secondaria}, notkeyword=flusser]
                \end{document}
                `
                il comando [tt]\DeclareSourcemap[/tt] “popola” dinamicamente il campo [tt]keywords[/tt].
                Il comando [tt]\AtEveryBibitem[/tt] cancella il campo [tt]author[/tt] per le voci interessate.

                Matteo

              • #121723
                MatteoF
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Ultimo suggerimento…
                  Gli stili standard di [tt]biblatex[/tt] (e anche [tt]biblatex-philosophy[/tt]) stampano le voci richiamate da crossref (parent entries) anche se non citate esplicitamente. Per evitare questo, basta impostare l’opzione [tt]mincrossrefs=999[/tt].

                  Matteo

                • #121724
                  Marco Berardinetti
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Vorrei innanzitutto ringraziare entrambi voi per i suggerimenti e per le proposte di soluzione. Soprattutto per quando riguarda l’idea comoda ed elegantissima di MatteoF di automatizzare il lavoro di inserimento delle keyword, sfruttando il [tt]sourcemapping[/tt] di biber. Davvero incredibile e non ci sarei mai arrivato.

                    Faccio però un passo indietro: capisco le critiche mosse Matteo, ma come molti sul forum, sono un novizio. Alcune cose possono essere assolutamente involontarie. Penso che il senso di scrivere qui le proprie domande, sia proprio quello di imparare dalle conoscenze altrui. Chiaramente leggo la documentazione dei pacchetti che utilizzo, ma non posso dire di conoscerle per filo e per segno, così come ho letto la guida introduttiva realizzata da Lorenzo Pantieri e Tommaso Gordini “L’arte di scrivere in LaTeX”. È altrettanto ovvio che non sempre, tutto, possa rimanere in mente, a maggior ragione se non si usa quotidianamente LaTeX. Questo per dire che di errori nei codici che ho postato e che posterò, ce ne sono e ce ne saranno ahimé sempre: non si smette mai di imparare, ma non sono sicuramente errori fatti in “mala fede”. C’è comunque modo e modo di esprimere una critica. Cercherò qui di rispondere punto per punto alle questioni sollevate:

                    non serve caricare le opzioni di classe openright e twoside (già di default in book.cls)

                    Hai ragione Matteo, semplicemente avevo ricopiato un preambolo da un mio vecchio lavoro e ho tralasciato quelle stringhe. Ti ringrazio per la segnalazione.

                    non serve caricare il pacchetto inputenc (la codifica utf8 è usata di default già da diversi anni)

                    Ti ringrazio. Da quando ho iniziato a compilare in LaTeX non ho mai fatto a meno di questo comando nel preambolo temendo fosse fondamentale.

                    se non usi l’opzione di babel polutonikogreek, perchè carichi betababel (sempre che sia ancora utile, considerando che il pacchetto non viene aggiornato dal 2005)?

                    A questo punto rispondo semplicemente riportando quanto ho letto da utenti più esperti di me in questo forum: “Semplicemente perché funziona”. Avevo risolto i problemi di compilazione con i caratteri dell’alfabeto greco semplicemente caricando [tt]betababel[/tt]. Ammetto di non aver approfondito la soluzione, mi informerò meglio leggendo le documentazioni relative.

                    il pacchetto hyperref conviene caricarlo sempre per ultimo (sempreché non siano presenti pacchetti che devono essere caricati dopo hyperref);

                    Ho letto la documentazione di [tt]hyperref[/tt] e ho visto come sottolineino in più occasioni questa cosa. Sinceramente però, spostando più in basso nel mio preambolo il pacchetto, mi restituisce sempre degli errori. Non sono mai riuscito a capire il perché di questo con le mie scarse conoscenze.

                    il comando biblatex per caricare un file bibliografico è \addbibresource e non \bibliography (quest’ultimo deprecato da non so quanti anni).

                    Ti ringrazio anche per questa correzione, purtroppo nei codici che avevo avuto modo di studiare ho sempre trovato il comando [tt]\bibliography[/tt]. Probabilmente si trattava di codici vecchi.

                    Ritornando alla soluzione da te illustrata, davvero la trovo elegantissima e non posso fare altro che ringraziarti. Tornerà sicuramente utile a tanti utenti. Oltre all’idea di automatizzare il popolamento del campo [tt]keywords[/tt], hai avuto l’accortezza di eliminare il campo [tt]author[/tt] perché giustamente superfluo in questa situazione.

                    Marco

                  • #121725
                    Marco Berardinetti
                    Partecipante
                      Up
                      0
                      Down
                      ::

                      MatteoF” post=122288Ultimo suggerimento…
                      Gli stili standard di [tt]biblatex[/tt] (e anche [tt]biblatex-philosophy[/tt]) stampano le voci richiamate da crossref (parent entries) anche se non citate esplicitamente. Per evitare questo, basta impostare l’opzione [tt]mincrossrefs=999[/tt].

                      Matteo

                      Qui invece Matteo non sono riuscito proprio a capire cosa volessi dirmi. Perdonami, ma ti chiedo di essere più chiaro, non ti seguo.

                      Marco

                    • #121726
                      MatteoF
                      Partecipante
                        Up
                        0
                        Down
                        ::

                        BigTeddyBera” post=122289[…] di errori nei codici che ho postato e che posterò, ce ne sono e ce ne saranno ahimé sempre: non si smette mai di imparare, ma non sono sicuramente errori fatti in “mala fede”. C’è comunque modo e modo di esprimere una critica.

                        Evidentemente non ho saputo ponderare bene il “tono” delle mie parole. Mi scuso se sono sembrato troppo “severo”, non era mia intenzione…
                        Comunque, se hai interesse, apri altri thread e posta i vari emc in modo da replicare i vari errori. Troverai sicuramente chi saprà aiutarti.

                        BigTeddyBera” post=122290

                        Ultimo suggerimento…
                        Gli stili standard di [tt]biblatex[/tt] (e anche [tt]biblatex-philosophy[/tt]) stampano le voci richiamate da crossref (parent entries) anche se non citate esplicitamente. Per evitare questo, basta impostare l’opzione [tt]mincrossrefs=999[/tt]

                        Qui invece Matteo non sono riuscito proprio a capire cosa volessi dirmi. Perdonami, ma ti chiedo di essere più chiaro, non ti seguo.

                        Considera il seguente emc:
                        `
                        % !TEX encoding = UTF-8 Unicode
                        % !TEX program = pdflatex
                        % !BIB program = biber

                        \begin{filecontents}[overwrite]{\jobname.bib}
                        @collection{a,
                        title = {Titolo del libro},
                        editor = {Rossi, Mario},
                        date = {2020},
                        }
                        @inbook{b,
                        title = {Titolo del singolo contributo},
                        author = {Bianchi, Giovanni},
                        crossref = {a},
                        }
                        @inbook{c,
                        title = {Titolo del singolo contributo},
                        author = {Verdi, Luca},
                        crossref = {a},
                        }
                        @inbook{d,
                        title = {Titolo del singolo contributo},
                        author = {Ferrari, Giulio},
                        crossref = {a},
                        }
                        \end{filecontents}

                        \documentclass{article}
                        \usepackage[T1]{fontenc}
                        \usepackage[italian]{babel}
                        \usepackage[style=philosophy-verbose]{biblatex}
                        \addbibresource{\jobname.bib}
                        \usepackage{csquotes}

                        \begin{document}
                        \autocite{b}
                        \autocite{c}
                        \autocite{d}

                        \printbibliography
                        \end{document}
                        `
                        Se una voce “referenziata” (la raccolta di saggi) viene citata da altre voci (i singoli contributi) oltre una certa soglia, essa viene inclusa nella bibliografia anche se non citata esplicitamente (nell’emc, in bibliografia è presente la voce ‘a’ anche se non citata nel testo).
                        L’opzione [tt]mincrossrefs[/tt] definisce questa soglia. Di default [tt]mincrossrefs=2[/tt].
                        Personalmente non voglio che una voce bibliografica venga inserita in bibliografia automaticamente, senza che sia citata in modo esplicito nel testo. Per ovviare a questo comportamento basta impostare l’opzione globale [tt]mincrossrefs=999[/tt]
                        `
                        \usepackage[style=philosophy-verbose, mincrossrefs=999]{biblatex}
                        `
                        Matteo

                        PS: per le raccolte di saggi usa l’entry type [tt]@collection[/tt] e non [tt]@book[/tt]

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

                    Go to top