Come cambiare un punto in una virgola /definizione .bbx

  • Questo topic ha 4 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 11 anni fa da mario.
  • Creatore
    Topic
  • #102876
    mario
    Partecipante
      Up
      0
      Down
      ::


      Salve

      un piccolo problema che non riesco a risolvere.
      Nell’ambito della definizione di uno stile .bbx, ho :

      ` %%%%%%% in collection

      \newbibmacro*{incollection:up}{%
      \usebibmacro{maintitle+booktitle}%
      \newunit\newblock
      \usebibmacro{byeditor+others}
      \newunit\newblock
      \printfield{edition}%
      \newunit\newblock
      \printfield{volumes}%
      \newunit\newblock
      \usebibmacro{series+number}
      \newunit\newblock
      %% \usebibmacro{finentry}%
      }

      \DeclareCiteCommand{\bbx@crossrefUp}%
      {}
      { \newunit\newblock
      \usebibmacro{incollection:up}
      \newunit\newblock
      }%
      {}%
      {}

      \newbibmacro*{incollection:down}{%
      \newunit\newblock
      \usebibmacro{publisher+location+date}%
      \newunit\newblock
      %\usebibmacro{finentry}
      }

      \DeclareCiteCommand{\bbx@crossrefDown}%
      {}
      { \usebibmacro{incollection:down}
      }%
      {}%
      {}

      \DeclareBibliographyDriver{incollection}{%
      \usebibmacro{bibindex}%
      \usebibmacro{begentry}%
      \usebibmacro{author/translator+others}%
      \newunit\newblock
      \usebibmacro{title}%
      \newunit\newblock
      \printlist{language}%
      \newunit\newblock
      \usebibmacro{byauthor}%
      \newunit\newblock
      \usebibmacro{in}%
      \iffieldundef{crossref}%
      {%
      }
      { \printtext{\setunit{\unspace}}
      \printtext{\bbx@crossrefUp{\thefield{crossref}}}
      \newunit\newblock
      \usebibmacro{chapter+pages}% <<<<< VOGLIO UNA VIRGOLA DOPO QUESTO \newunit\newblock \printtext{\bbx@crossrefDown{\thefield{crossref}}}% \printfield{note} } \usebibmacro{finentry} } ` lo devo usare con record come i seguenti `@Collection{ccc, editor = {Curatore}, title = {MyBook}, publisher = {Casa Editrice}, location = {Roma}, year = {2000} } @InCollection{ccc001, author = {Autoro Bis}, label = {MC}, title = {MyArticle}, year = {1977}, location = {Firenze}, pages = {1-99}, crossref = {ccc}, note = {Nota nota nota nota} }` e deve risultare come

      Autoro Bis. «MyArticle», in MyBook, a cura di Curatore,
      pp. 1–99, Casa Editrice, Roma, 2000. Nota nota nota nota

      non riesco a capire come avere questa virgola (qui evidenziata in rosso) tra l’indicazione delle pagine dell’articolo InCollection e l’editore della Collection.

      Grazie sincero
      mario

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


        `\renewcommand*{\newunitpunct}{\addcomma\space}`

        Ciao
        Ivan

      • #102878
        mario
        Partecipante
          Up
          0
          Down
          ::

          ivan” post=102821`\renewcommand*{\newunitpunct}{\addcomma\space}`

          Grazie, ma così sostituisce la virgola anche prima della Note finale.
          Ho definito allora come segue:

          `\newcommand*{\datepunct}{\addcomma}`

          e sembra funzionare. Vedi controindicazioni?
          ciao
          mario

          ps ma quale è l’algoritmo sottostante? Non riesco ad avere l’intuizione utile.

        • #102879
          Up
          0
          Down
          ::

          mario60″ post=102824

          `\renewcommand*{\newunitpunct}{\addcomma\space}`

          Grazie, ma così sostituisce la virgola anche prima della Note finale.
          Ho definito allora come segue:

          `\newcommand*{\datepunct}{\addcomma}`

          e sembra funzionare. Vedi controindicazioni?
          ciao
          mario

          ps ma quale è l’algoritmo sottostante? Non riesco ad avere l’intuizione utile.

          Direi
          `\newcommand*{\datepunct}{\addcomma\space}`
          Altrimenti dopo la virgola non c’è alcuno spazio. Se nell’output lo ottieni è perché viene inserito da qualche altro comando o si tratta di uno spazio spurio.

          Ciao
          Ivan

        • #102880
          mario
          Partecipante
            Up
            0
            Down
            ::


            Ok, grazie m.

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

        Go to top