inserire un dash per autori ripetuti in una bibliografia

  • Creatore
    Topic
  • #104536
    davidebond
    Partecipante
      Up
      0
      Down
      ::


      Salve. Con questo codice,

      `\usepackage[%
      backend=biber,
      style=numeric,
      %sortlocale=de_DE,
      natbib=true,
      url=false,
      doi=false,
      eprint=false,
      sorting=none,
      firstinits=true,
      safeinputenc,
      bibencoding=utf8
      ]{biblatex}
      `

      ovviamente, si genera una lista di items in ordine di citazione e vengono ripetuti i nomi dell’autore di due items uno seguente all’altro. Io vorrei, invece, ordinare i nomi in ordine lessicografico, inserendo un dash come usando amsalpha. Ho provato ad inserire all’opzione “style=authoryear”, ma si produce un dash piccolissimo. Ho guardato in giro in internet, ma senza soluzione.

      Per esempio,

      `\def\bysame{\leavevmode\hbox to 3 em{\hrulefill}\thinspace}`

      non funziona. Ho provato a mettere anche 300 em, ma non ho trovato nessun cambiamento.

      Che fare?

      Grazie. Ciao,

      davide

    Visualizzazione 16 filoni di risposte
    • Autore
      Risposte
      • #104537
        davidebond
        Partecipante
          Up
          0
          Down
          ::


          So che dovrei introdurre un MWE; purtroppo, non funziona. Lo allego:

          `\documentclass{amsart}
          %\def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace}
          \usepackage[T1]{fontenc}
          \usepackage[italian]{babel}
          \usepackage{csquotes}
          \usepackage[%
          backend=biber,
          style=numeric,
          %sortlocale=de_DE,
          natbib=true,
          url=false,
          doi=false,
          eprint=false,
          sorting=none,
          firstinits=true,
          safeinputenc,
          bibencoding=utf8
          ]{biblatex}

          \begin{document}

          \nocite{*}

          \section*{\LARGE{Note bibliografiche}}
          %\renewcommand{\refname}{\LARGE{Note bibliografiche}}
          \printbibliography{prova10}

          \end{document}
          `

          Questa la bibliografia:

          `@ARTICLE{schroder1,
          author=''Ernst Schr{\”o}der'',
          title=''Ueber die iterirte Funktionen'',
          journal=''Mathematische Annalen'',
          year=1861,
          }

          @BOOK{schroder2,
          author=''Ernst Schr{\”o}der'',
          title=''Der Operationskreis des Logikkalk{\”u}ls'',
          publisher=''B.G.~Teubner'',
          address=''Leipzig'',
          year=1877,
          }
          `

          Se provo a compilare, il latex mi dà il seguente messaggio di errore:

          `Empty bibliography on input line 28.`

          Cercando su google, sembra che la soluzione sia ripulire la cache della cartella temporanea di windows… È così?

          Grazie. Ciao,

          davide

        • #104538
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::



            @Davidebond
            , non c’entra niente con il tuo problema, ma:

            1) \LARGE e tutte le altre macro per gestire il copro dei font NON è un comando ma è una dichiarazione, quindi [tt]{\LARGE Note bibliografiche}[/tt] e non [tt]\LARGE{Note bibliografiche}.

            2) A me fa un certo effetto un riferimento che contiene Schröder insieme a Ueber; o scrivi Schröder e Über, oppure Schroeder e Ueber. Che poi la o con umlaut tu la metta nel sorgente con \”o e la U con umlaut con \”U è irrilevante, nel senso che guardo al risultato finale composto nel PDF.

            Io con la mia tastiera del Mac posso mettere tutte le lettere che voglio con gli accenti che voglio, ammesso che l’accoppiata lettera+accento esista in UNICODE, ma con altri sistemi operativi potrebbe essere difficile, per cui i comandi di basso livello di TeX vanno benissimo; quello che conta in questi casi è il risultato.

          • #104539
            davidebond
            Partecipante
              Up
              0
              Down
              ::


              Chiedo scusa per il MWE. Mancava, in effetti, un comando. Allego il file.tex con il trattino allungato (come volevo io). Giocando sul comando, si può allungare o accorciare. A me, personalmente, piace così. Ma si può modificare. Allego anche il file.bib per la bibliografia.

              File .tex:

              `\documentclass{amsart}
              \usepackage[T1]{fontenc}
              \usepackage[german]{babel}
              \usepackage{csquotes}
              \usepackage[%
              backend=biber,
              style=authoryear-ibid,
              sortlocale=de_DE,
              natbib=true,
              url=false,
              doi=false,
              eprint=false,
              sorting=none,
              %firstinits=true,
              safeinputenc,
              bibencoding=utf8
              ]{biblatex}

              \setlength\bibhang{.5in}
              \renewcommand*{\bibnamedash}{%
              \ifdimless{\leftmargin}{0.75em}
              {\mbox{\textemdash\space}}
              {\makebox[\leftmargin][l]{%
              \ifdimless{\leftmargin}{1.25em}
              {\textendash}
              {\rule{.8\bibhang}{.2pt}}}}}

              %\def\bysame{\leavevmode\hbox to 12 em{\hrulefill}\thinspace}
              \addbibresource{prova10.bib}

              \begin{document}

              \nocite{*}

              %\section*{\LARGE{Note bibliografiche}}
              \renewcommand{\refname}{\LARGE{Note bibliografiche}}
              \printbibliography

              \end{document}
              `

              File.bib

              `@ARTICLE{schroder1,
              author=”Ernst Schr{\”o}der”,
              title=”Ueber die iterirte Funktionen”,
              journal=”Mathematische Annalen”,
              year=1861,
              }

              @BOOK{schroder2,
              author=”Ernst Schr{\”o}der”,
              title=”Der Operationskreis des Logikkalk{\”u}ls”,
              publisher=”B.G.~Teubner”,
              address=”Leipzig”,
              year=1877,
              }`

              Grazie, in ogni caso. Ciao,

              davide

            • #104540
              davidebond
              Partecipante
                Up
                0
                Down
                ::


                Ops. Mi sono risposto senza accorgermi del tuo post. Hai ragione sulle indicazioni di dimensioni del font. Riguardo a Schröder e Ueber, nell’ottocento si incontra spesso Ueber con parole che contengo l’Umlaut. Così, come al posto della k si scrive la c. Talvolta lo stesso nome viene scritto in maniere diverse. Io, per esempio, mi sarei aspettato un “iterierte Funktionen”, laddove spesso si incontra “iterirte”. Personalmente, non ho mai incontrato il nome del matematico Schröder come Schroeder.

                Grazie. Ciao,

                davide

              • #104541
                davidebond
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Ho parlato troppo presto. A prescindere che viene stampato prima il cognome e dopo il nome, a prescindere che non vengono stampati i numeri prima dei nomi, se utilizzo un’entrata fatta ad hoc, il dash non viene stampato. Ovvero, per stampare il dash, sono obbligato a inserire come style=authoryear-ibid. Questo non stampa i numeri e in combinazione con sorting=nyt mette i cognomi prima dei nomi. In ogni caso, con una classe di bibitem modificata tutto il lavoro di cui sopra viene perso.

                  File.tex
                  `\documentclass{amsart}
                  \usepackage[T1]{fontenc}
                  \usepackage[german]{babel}
                  \usepackage{csquotes}
                  \usepackage[%
                  backend=biber,
                  style=authoryear-ibid,
                  sortlocale=de_DE,
                  natbib=true,
                  url=false,
                  doi=false,
                  eprint=false,
                  sorting=ynt,
                  %firstinits=true,
                  safeinputenc,
                  bibencoding=utf8
                  ]{biblatex}

                  \setlength\bibhang{.5in}
                  \renewcommand*{\bibnamedash}{%
                  \ifdimless{\leftmargin}{0.75em}
                  {\mbox{\textemdash\space}}
                  {\makebox[\leftmargin][l]{%
                  \ifdimless{\leftmargin}{1.25em}
                  {\textendash}
                  {\rule{.8\bibhang}{.2pt}}}}}

                  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% il codice seguente mette prima la serie e dopo il volume
                  \DeclareBibliographyDriver{inproceedings}{%
                  \newunit\newblock
                  \printnames{author}%
                  \newunit\newblock
                  \printfield{title}%
                  \newunit\newblock
                  \printfield{booktitle}%
                  \newunit\newblock
                  \printfield{note}
                  \newunit\newblock
                  \printfield{series}
                  \newunit\newblock
                  \printfield{volume}
                  \newunit\newblock
                  \printlist{publisher}%
                  \newunit\newblock
                  \printlist{location}%
                  \newunit\newblock
                  \printfield{year}%
                  \newunit\newblock
                  \printfield{pages}%
                  \finentry}

                  \DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field in the bibliography
                  \renewcommand*{\newunitpunct}{\addcomma\space}
                  \DeclareFieldFormat[inproceedings]{title}{#1}
                  \DeclareFieldFormat[inproceedings]{booktitle}{\emph{#1}}
                  \DeclareFieldFormat[inproceedings]{year}{(#1)}
                  \DeclareFieldFormat[inproceedings]{volume}{#1\addcomma}
                  \DeclareFieldFormat[inproceedings]{series}{(#1)\addcomma}
                  \DeclareFieldFormat[inproceedings]{labelnumberwidth}{#1~\addperiod}

                  %\def\bysame{\leavevmode\hbox to 12 em{\hrulefill}\thinspace}
                  \addbibresource{prova10.bib}

                  \begin{document}

                  \nocite{*}

                  %\section*{\LARGE{Note bibliografiche}}
                  \renewcommand{\refname}{\LARGE{Note bibliografiche}}
                  \printbibliography

                  \end{document}
                  `

                  File.bib

                  `@INPROCEEDINGS{schroder1,
                  author=”Ernst Schr{\”o}der”,
                  title=”Ueber die iterirte Funktionen”,
                  booktitle=”Mathematische Annalen”,
                  year=1861,
                  }

                  @INPROCEEDINGS{schroder2,
                  author=”Ernst Schr{\”o}der”,
                  title=”Der Operationskreis des Logikkalk{\”u}ls”,
                  publisher=”B.G.~Teubner”,
                  address=”Leipzig”,
                  year=1877,
                  }`

                  Che fare? Grazie.

                  Ciao,

                  davide

                • #104542
                  Up
                  0
                  Down
                  ::


                  Quindi, ricapitolando, vorresti lo stile numeric, ma con il trattino per gli autori ripetuti?
                  Ho sempre dei dubbi (leggi “certezze”) che ci sia veramente bisogno di un ulteriore stile bibliografico
                  oltre alle decine già disponibili. Questo è uno dei motivi per cui le cose in alcuni campi di studio
                  non vanno così bene come in altri. Ma fornendoti la soluzione sto di fatto avvallando un comportamento
                  che non condivido. Quindi io sono sicuramente in contraddizione.

                  Prima carichiamo gli stili che ci servono:
                  `\usepackage[style=numeric,bibstyle=authoryear]{biblatex}`
                  poi implementiamo nello stile authoryear le funzionalità di quello numeric,
                  ovvero l’etichetta numerica:
                  `\DeclareNameAlias{author}{default}
                  \DeclareNameAlias{editor}{default}
                  \DeclareNameAlias{translator}{default}

                  \DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
                  \DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
                  \DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}

                  \defbibenvironment{bibliography}
                  {\list
                  {\printtext[labelnumberwidth]{%
                  \printfield{prefixnumber}%
                  \printfield{labelnumber}}}
                  {\setlength{\labelwidth}{\labelnumberwidth}%
                  \setlength{\leftmargin}{\labelwidth}%
                  \setlength{\labelsep}{\biblabelsep}%
                  \addtolength{\leftmargin}{\labelsep}%
                  \setlength{\itemsep}{\bibitemsep}%
                  \setlength{\parsep}{\bibparsep}}%
                  \renewcommand*{\makelabel}[1]{\hss##1}}
                  {\endlist}
                  {\item}

                  \defbibenvironment{shorthand}
                  {\list
                  {\printfield[shorthandwidth]{shorthand}}
                  {\setlength{\labelwidth}{\shorthandwidth}%
                  \setlength{\leftmargin}{\labelwidth}%
                  \setlength{\labelsep}{\biblabelsep}%
                  \addtolength{\leftmargin}{\labelsep}%
                  \setlength{\itemsep}{\bibitemsep}%
                  \setlength{\parsep}{\bibparsep}%
                  \renewcommand*{\makelabel}[1]{\hss##1}}}
                  {\endlist}
                  {\item}
                  `

                  Ciao
                  Ivan

                • #104543
                  davidebond
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Anzitutto, grazie per tutto il lavoro che hai fatto. Tuttavia, il dash per il nome ripetuto non compare. Ho provato ad usare questa soluzione:

                    http://tex.stackexchange.com/questions/275746/biblatex-biber-replace-author-name-with-dash-for-each-author

                    ma invano. Così, sono ritornato a quella più semplice.

                    Grazie. Ciao,

                    davide

                  • #104544
                    Up
                    0
                    Down
                    ::


                    Non credo… Questo codice funziona correttamente e il dash compare:
                    `
                    \documentclass{article}

                    \usepackage[T1]{fontenc}
                    \usepackage[utf8]{inputenc}

                    \usepackage{filecontents}
                    \begin{filecontents*}{\jobname.bib}

                    @ARTICLE{schroder1,
                    author=”Ernst Schr{\”o}der”,
                    title=”Ueber die iterirte Funktionen”,
                    journal=”Mathematische Annalen”,
                    year=1861,
                    }

                    @BOOK{schroder2,
                    author=”Ernst Schr{\”o}der”,
                    title=”Der Operationskreis des Logikkalk{\”u}ls”,
                    publisher=”B.G.~Teubner”,
                    address=”Leipzig”,
                    year=1877,
                    }
                    \end{filecontents*}

                    \usepackage[style=numeric,bibstyle=authoryear]{biblatex}
                    \addbibresource{\jobname.bib}

                    \makeatletter
                    \DeclareNameAlias{author}{default}
                    \DeclareNameAlias{editor}{default}
                    \DeclareNameAlias{translator}{default}

                    \DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
                    \DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
                    \DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}

                    \defbibenvironment{bibliography}
                    {\list
                    {\printtext[labelnumberwidth]{%
                    \printfield{prefixnumber}%
                    \printfield{labelnumber}}}
                    {\setlength{\labelwidth}{\labelnumberwidth}%
                    \setlength{\leftmargin}{\labelwidth}%
                    \setlength{\labelsep}{\biblabelsep}%
                    \addtolength{\leftmargin}{\labelsep}%
                    \setlength{\itemsep}{\bibitemsep}%
                    \setlength{\parsep}{\bibparsep}}%
                    \renewcommand*{\makelabel}[1]{\hss##1}}
                    {\endlist}
                    {\item}

                    \defbibenvironment{shorthand}
                    {\list
                    {\printfield[shorthandwidth]{shorthand}}
                    {\setlength{\labelwidth}{\shorthandwidth}%
                    \setlength{\leftmargin}{\labelwidth}%
                    \setlength{\labelsep}{\biblabelsep}%
                    \addtolength{\leftmargin}{\labelsep}%
                    \setlength{\itemsep}{\bibitemsep}%
                    \setlength{\parsep}{\bibparsep}%
                    \renewcommand*{\makelabel}[1]{\hss##1}}}
                    {\endlist}
                    {\item}
                    \makeatother

                    \begin{document}

                    \cite{schroder1}
                    \cite{schroder2}

                    \printbibliography

                    \end{document}`

                    Ciao
                    Ivan

                  • #104545
                    davidebond
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Innanzitutto, grazie. Hai ragione. Ma il problema del dash io lo incontro se modifico un tipo di entrata bibliografica. Nel tuo caso funziona, perchè hai usato @BOOK e @ARTICLE standards. Nel mio esempio usavo @INPROCEEDINGS, ma con dei campi invertiti:

                      `%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% il codice seguente mette prima la serie e dopo il volume
                      \DeclareBibliographyDriver{inproceedings}{%
                      \newunit\newblock
                      \printnames{author}%
                      \newunit\newblock
                      \printfield{title}%
                      \newunit\newblock
                      \printfield{booktitle}%
                      \newunit\newblock
                      \printfield{note}
                      \newunit\newblock
                      \printfield{series}
                      \newunit\newblock
                      \printfield{volume}
                      \newunit\newblock
                      \printlist{publisher}%
                      \newunit\newblock
                      \printlist{location}%
                      \newunit\newblock
                      \printfield{year}%
                      \newunit\newblock
                      \printfield{pages}%
                      \finentry}`

                      Se non inserissi questo, tutto andrebbe per il meglio come hai indicato tu. Io ho fornito un esempio minimale, ma in 300 bibitems, vanno tutti bene a parte quelli che hanno subito delle modifiche con \DeclareBibliofraphyDriver.

                      Grazie. Ciao,

                      davide

                    • #104546
                      Up
                      0
                      Down
                      ::


                      Mancano dei pezzi i codice. Usa questo:
                      `\DeclareBibliographyDriver{inproceedings}{%
                      \usebibmacro{bibindex}%
                      \usebibmacro{begentry}%
                      \usebibmacro{author/translator+others}%
                      \setunit{\labelnamepunct}\newblock
                      \usebibmacro{title}%
                      \newunit
                      \printlist{language}%
                      \newunit\newblock
                      \usebibmacro{byauthor}%
                      \newunit\newblock
                      \usebibmacro{in:}%
                      \usebibmacro{maintitle+booktitle}%
                      \newunit\newblock
                      \usebibmacro{event+venue+date}%
                      \newunit\newblock
                      \usebibmacro{byeditor+others}%
                      \newunit\newblock
                      \iffieldundef{maintitle}
                      {\printfield{volume}%
                      \printfield{part}}
                      {}%
                      \newunit
                      \printfield{volumes}%
                      \newunit\newblock
                      \usebibmacro{series+number}%
                      \newunit\newblock
                      \printfield{note}%
                      \newunit\newblock
                      \printlist{organization}%
                      \newunit
                      \usebibmacro{publisher+location+date}%
                      \newunit\newblock
                      \usebibmacro{chapter+pages}%
                      \newunit\newblock
                      \iftoggle{bbx:isbn}
                      {\printfield{isbn}}
                      {}%
                      \newunit\newblock
                      \usebibmacro{doi+eprint+url}%
                      \newunit\newblock
                      \usebibmacro{addendum+pubstate}%
                      \setunit{\bibpagerefpunct}\newblock
                      \usebibmacro{pageref}%
                      \newunit\newblock
                      \iftoggle{bbx:related}
                      {\usebibmacro{related:init}%
                      \usebibmacro{related}}
                      {}%
                      \usebibmacro{finentry}}`

                      oppure questo:
                      ` \usepackage{xpatch}
                      \xpatchbibdriver{inproceedings}{
                      \usebibmacro{volumes}%
                      \newunit\newblock
                      \printfield{series+number}%
                      }{
                      \usebibmacro{series+number}%
                      \newunit\newblock
                      \printfield{volumes}%
                      }{}{}

                      `

                      Ciao
                      Ivan

                    • #104547
                      davidebond
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Anzitutto, mi scuso della tarda risposta. Ho provato ad inserire entrambi i codici. Non funzionano. Ricevo messaggi di errore che definiscono vari comandi come printlist undefined. In ogni caso, la formattazione non è quella che volevo ottenere io. Infine, il dash non compare. Non capisco perché il mio codice sia incompleto. Io avevo modificato solo i parametri che mi interessavano. Aggiungo, inoltre, che io ho proposto come esempio “@INPROCEEDINGS”, laddove si tratta anche di altre classi di documento. Ho come l’impressione che più si va avanti e più le cose si complicano, al posto di chiarirsi.

                        Grazie. Ciao,

                        davide

                      • #104548
                        Up
                        0
                        Down
                        ::


                        C’era un errore nel secondo codice. Ora l’ho corretto.
                        Aggiungi al mio ultimo esempio completo il primo codice qui sopra è vedi cosa ottieni.
                        Domani posto un mwe. Io ottengo infatti correttamente il dash.

                        Ciao
                        Ivan

                      • #104549
                        Up
                        0
                        Down
                        ::


                        Questo codice compone la bibliografia con un trattino per gli autori ripetuti e inverte il campo “volumes” e la macro series+number nelle voci @inproceedings:

                        `\documentclass{article}

                        \usepackage[T1]{fontenc}
                        \usepackage[utf8]{inputenc}

                        \usepackage[italian]{babel}

                        \usepackage{filecontents}
                        \begin{filecontents*}{\jobname.bib}

                        @inproceedings{schroder1,
                        author=”Ernst Schr{\”o}der”,
                        title=”Ueber die iterirte Funktionen”,
                        journal=”Mathematische Annalen”,
                        volumes = {3},
                        number = {5},
                        year=1861,
                        }

                        @inproceedings{schroder2,
                        author=”Ernst Schr{\”o}der”,
                        title=”Der Operationskreis des Logikkalk{\”u}ls”,
                        publisher=”B.G.~Teubner”,
                        address=”Leipzig”,
                        year=1877,
                        volumes = {3},
                        number = {5},
                        }
                        \end{filecontents*}

                        \usepackage[style=numeric,bibstyle=authoryear]{biblatex}
                        \addbibresource{\jobname.bib}

                        \AtBeginDocument{
                        \DeclareNameAlias{author}{default}
                        \DeclareNameAlias{editor}{default}
                        \DeclareNameAlias{translator}{default}

                        \DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
                        \DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
                        \DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}

                        \defbibenvironment{bibliography}
                        {\list
                        {\printtext[labelnumberwidth]{%
                        \printfield{prefixnumber}%
                        \printfield{labelnumber}}}
                        {\setlength{\labelwidth}{\labelnumberwidth}%
                        \setlength{\leftmargin}{\labelwidth}%
                        \setlength{\labelsep}{\biblabelsep}%
                        \addtolength{\leftmargin}{\labelsep}%
                        \setlength{\itemsep}{\bibitemsep}%
                        \setlength{\parsep}{\bibparsep}}%
                        \renewcommand*{\makelabel}[1]{\hss##1}}
                        {\endlist}
                        {\item}

                        \defbibenvironment{shorthand}
                        {\list
                        {\printfield[shorthandwidth]{shorthand}}
                        {\setlength{\labelwidth}{\shorthandwidth}%
                        \setlength{\leftmargin}{\labelwidth}%
                        \setlength{\labelsep}{\biblabelsep}%
                        \addtolength{\leftmargin}{\labelsep}%
                        \setlength{\itemsep}{\bibitemsep}%
                        \setlength{\parsep}{\bibparsep}%
                        \renewcommand*{\makelabel}[1]{\hss##1}}}
                        {\endlist}
                        {\item}}

                        \usepackage{xpatch}
                        \xpatchbibdriver{inproceedings}{
                        \usebibmacro{volumes}%
                        \newunit\newblock
                        \printfield{series+number}%
                        }{
                        \usebibmacro{series+number}%
                        \newunit\newblock
                        \printfield{volumes}%
                        }{}{}

                        % codice alternativo al precedente \xpatchbibdriver
                        %————————————————–
                        %\DeclareBibliographyDriver{inproceedings}{%
                        % \usebibmacro{bibindex}%
                        % \usebibmacro{begentry}%
                        % \usebibmacro{author/translator+others}%
                        % \setunit{\labelnamepunct}\newblock
                        % \usebibmacro{title}%
                        % \newunit
                        % \printlist{language}%
                        % \newunit\newblock
                        % \usebibmacro{byauthor}%
                        % \newunit\newblock
                        % \usebibmacro{in:}%
                        % \usebibmacro{maintitle+booktitle}%
                        % \newunit\newblock
                        % \usebibmacro{event+venue+date}%
                        % \newunit\newblock
                        % \usebibmacro{byeditor+others}%
                        % \newunit\newblock
                        % \iffieldundef{maintitle}
                        % {\printfield{volume}%
                        % \printfield{part}}
                        % {}%
                        % \newunit
                        % \usebibmacro{series+number}%
                        % \newunit\newblock
                        % \printfield{volumes}%
                        % \newunit\newblock
                        % \printfield{note}%
                        % \newunit\newblock
                        % \printlist{organization}%
                        % \newunit
                        % \usebibmacro{publisher+location+date}%
                        % \newunit\newblock
                        % \usebibmacro{chapter+pages}%
                        % \newunit\newblock
                        % \iftoggle{bbx:isbn}
                        % {\printfield{isbn}}
                        % {}%
                        % \newunit\newblock
                        % \usebibmacro{doi+eprint+url}%
                        % \newunit\newblock
                        % \usebibmacro{addendum+pubstate}%
                        % \setunit{\bibpagerefpunct}\newblock
                        % \usebibmacro{pageref}%
                        % \newunit\newblock
                        % \iftoggle{bbx:related}
                        % {\usebibmacro{related:init}%
                        % \usebibmacro{related}}
                        % {}%
                        % \usebibmacro{finentry}}

                        \begin{document}

                        \cite{schroder1}
                        \cite{schroder2}

                        \printbibliography

                        \end{document}`

                      • #104550
                        davidebond
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          [attachment]prova10.bib[/attachment]
                          First of all, grazie di tutto. Purtroppo, non funziona ancora tutto. Allego, il mio file.tex con quanto tu mi hai postato, il file.bib con la bibliografia, e il .pdf. Allego il .pdf che ho generato usando parte del tuo codice (non usando da \usepackage{xpatch} in poi), ed usando:
                          `%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% il codice seguente mette prima la serie e dopo il volume
                          \DeclareBibliographyDriver{inproceedings}{%
                          \newunit\newblock
                          \printnames{author}%
                          \newunit\newblock
                          \printfield{title}%
                          \newunit\newblock
                          \printfield{booktitle}%
                          \newunit\newblock
                          \printfield{note}
                          \newunit\newblock
                          \printfield{series}
                          \newunit\newblock
                          \printfield{volume}
                          \newunit\newblock
                          \printlist{publisher}%
                          \newunit\newblock
                          \printlist{location}%
                          \newunit\newblock
                          \printfield{year}%
                          \newunit\newblock
                          \printfield{pages}%
                          \finentry}
                          `

                          e

                          `\DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field in the bibliography
                          \renewcommand*{\newunitpunct}{\addcomma\space}
                          \DeclareFieldFormat[inproceedings]{title}{#1}
                          \DeclareFieldFormat[inproceedings]{booktitle}{\emph{#1}}
                          \DeclareFieldFormat[inproceedings]{year}{(#1)}
                          \DeclareFieldFormat[inproceedings]{volume}{#1\addcomma}
                          \DeclareFieldFormat[inproceedings]{series}{(#1)\addcomma}
                          \DeclareFieldFormat[inproceedings]{labelnumberwidth}{#1~\addperiod}
                          `

                          Questo è l’unico modo per avere un’entrata bibliografica corretta, anche se manca il dash e le voci non sono perfettamente allineate.

                          Ciao. Grazie,
                          [attachment=1500]prova10.tex[/attachment]

                          [attachment]prova10.bib[/attachment]

                          [attachment=1501]prova10.pdf[/attachment]

                          [attachment=1502]prova8.pdf[/attachment]

                          davide

                          Attachments:
                          You must be logged in to view attached files.
                        • #104551
                          davidebond
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Dato che non riesco ad allegare la bibliografia, la inserisco a mano:

                            `@INPROCEEDINGS{schroder1,
                            author=”Ernst Schr{\”o}der”,
                            title=”Ueber die iterirte Funktionen”,
                            booktitle=”Mathematische Annalen”,
                            volume=6,
                            series=4,
                            number=2,
                            year=1861,
                            }

                            @INPROCEEDINGS{schroder2,
                            author=”Ernst Schr{\”o}der”,
                            title=”Der Operationskreis des Logikkalk{\”u}ls”,
                            publisher=”B.G.~Teubner”,
                            address=”Leipzig”,
                            volume=3,
                            series=5,
                            year=1877,
                            }`

                            Grazie. Ciao,

                            davide

                          • #104552
                            Up
                            0
                            Down
                            ::


                            Non ci capisco più niente. Devi allegare un esempio minimo compilabile, non pezzi di codice,
                            altrimenti si riccia di lavorare su file diversi e si finisce per non comunicare.
                            Parti dal mio esempio completo. Non serve allegare nulla, basta un unico listato.
                            Le voci bibliografiche le metti dentro l’ambiente filecontents.

                            Compili e vedi il risultato. Poi sul post scrivi cosa è che non va nel risultato.

                            (Il mio esempio mostra correttamente il dash, anche se aggiungo
                            i vari |DeclareFieldFormat che hai messo nell’ultimo messaggio.)

                            Ciao
                            Ivan

                          • #104553
                            davidebond
                            Partecipante
                              Up
                              0
                              Down
                              ::


                              Caro Ivan. Hai ragione. Il fatto è che certe volte con filecontents ho problemi. Ecco il file unico:

                              `\documentclass{amsart}
                              \usepackage[T1]{fontenc}
                              \usepackage[german]{babel}
                              \usepackage{csquotes}
                              \usepackage{filecontents}

                              \usepackage[%
                              backend=biber,
                              style=numeric,
                              bibstyle=authoryear-ibid,
                              sortlocale=de_DE,
                              natbib=true,
                              url=false,
                              doi=false,
                              eprint=false,
                              sorting=ynt,
                              %firstinits=true,
                              safeinputenc,
                              bibencoding=utf8
                              ]{biblatex}

                              \AtBeginDocument{
                              \DeclareNameAlias{author}{default}
                              \DeclareNameAlias{editor}{default}
                              \DeclareNameAlias{translator}{default}

                              \DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
                              \DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
                              \DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}}

                              \defbibenvironment{bibliography}
                              {\list
                              {\printtext[labelnumberwidth]{%
                              \printfield{prefixnumber}%
                              \printfield{labelnumber}}}
                              {\setlength{\labelwidth}{\labelnumberwidth}%
                              \setlength{\leftmargin}{\labelwidth}%
                              \setlength{\labelsep}{\biblabelsep}%
                              \addtolength{\leftmargin}{\labelsep}%
                              \setlength{\itemsep}{\bibitemsep}%
                              \setlength{\parsep}{\bibparsep}}%
                              \renewcommand*{\makelabel}[1]{\hss##1}}
                              {\endlist}
                              {\item}

                              \defbibenvironment{shorthand}
                              {\list
                              {\printfield[shorthandwidth]{shorthand}}
                              {\setlength{\labelwidth}{\shorthandwidth}%
                              \setlength{\leftmargin}{\labelwidth}%
                              \setlength{\labelsep}{\biblabelsep}%
                              \addtolength{\leftmargin}{\labelsep}%
                              \setlength{\itemsep}{\bibitemsep}%
                              \setlength{\parsep}{\bibparsep}%
                              \renewcommand*{\makelabel}[1]{\hss##1}}}
                              {\endlist}
                              {\item}}

                              %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% il codice seguente mette prima la serie e dopo il volume
                              \DeclareBibliographyDriver{inproceedings}{%
                              \newunit\newblock
                              \printnames{author}%
                              \newunit\newblock
                              \printfield{title}%
                              \newunit\newblock
                              \printfield{booktitle}%
                              \newunit\newblock
                              \printfield{note}
                              \newunit\newblock
                              \printfield{series}
                              \newunit\newblock
                              \printfield{volume}
                              \newunit\newblock
                              \printlist{publisher}%
                              \newunit\newblock
                              \printlist{location}%
                              \newunit\newblock
                              \printfield{year}%
                              \newunit\newblock
                              \printfield{pages}%
                              \finentry}

                              % \usepackage{xpatch}
                              % \xpatchbibdriver{inproceedings}{
                              % \usebibmacro{volumes}%
                              % \newunit\newblock
                              % \printfield{series+number}%
                              % }{
                              % \usebibmacro{series+number}%
                              % \newunit\newblock
                              % \printfield{volumes}%
                              % }{}{}

                              \DeclareFieldFormat{pages}{#1}% no prefix for the `pages` field in the bibliography
                              \renewcommand*{\newunitpunct}{\addcomma\space}
                              \DeclareFieldFormat[inproceedings]{title}{#1}
                              \DeclareFieldFormat[inproceedings]{booktitle}{\emph{#1}}
                              \DeclareFieldFormat[inproceedings]{year}{(#1)}
                              \DeclareFieldFormat[inproceedings]{volume}{#1\addcomma}
                              \DeclareFieldFormat[inproceedings]{series}{(#1)\addcomma}
                              \DeclareFieldFormat[inproceedings]{labelnumberwidth}{#1~\addperiod}

                              \begin{filecontents}{myfile.bib}
                              @INPROCEEDINGS{schroder1,
                              author=”Ernst Schr{\”o}der”,
                              title=”Ueber die iterirte Funktionen”,
                              booktitle=”Mathematische Annalen”,
                              volume=6,
                              series=4,
                              number=2,
                              year=1861,
                              }

                              @INPROCEEDINGS{schroder2,
                              author=”Ernst Schr{\”o}der”,
                              title=”Der Operationskreis des Logikkalk{\”u}ls”,
                              publisher=”B.G.~Teubner”,
                              address=”Leipzig”,
                              volume=3,
                              series=5,
                              year=1877,
                              }
                              \end{filecontents}

                              \addbibresource{myfile.bib}

                              \begin{document}

                              \nocite{*}

                              \renewcommand{\refname}{\LARGE{Note bibliografiche}}
                              \renewcommand{\bibnamedash}{\rule[3pt]{3em}{.6pt}}
                              \printbibliography

                              \end{document}
                              `

                              Ho dovuto commentare parte del tuo codice, altrimenti avrei ottenuto altro.

                              Ciao e grazie,

                              davide

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

                          Go to top