[Biblatex-Philosophy] Nomi tra parentesi e giveninits=true – Caso particolare

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


      Buongiorno,
      mi sto trovando davanti a una questione bibliografica che non mi era mai capitata.
      Usando giveninits=true
      Mi trovo davanti un autore che si chiama:
      Rossi, Ermenigildo (Mario)

      Vorrei avere in citazione un risultato del tipo:
      E. (M.) Rossi, Titolo

      e non
      E. ( Rossi

      Ho provato a giocare con utilizzare shortauthor ma non mi funziona.

      Esempio minimo compilabile:
      `\documentclass[]{article}
      \usepackage{microtype}
      \usepackage[italian]{babel}
      \usepackage{indentfirst}

      \usepackage[
      style=philosophy-verbose, %biblatex – phylosofy è il pacchetto per le cit stile classico
      scauthors=all,%maiuscoletto
      giveninits=true, %nome puntato
      ]{biblatex}
      \addbibresource{bibliografia.bib}

      %opening
      \title{Titolo}
      \author{Autore}

      \begin{document}

      \maketitle

      \begin{abstract}

      \end{abstract}

      \section{Sezione}
      Come ha scritto Rossi\footcite{rossi}
      \printbibliography
      \end{document}`

      Bibliografia:

      `@Article{rossi,
      author = {Rossi, Ermenigildo (Mario)},
      title = {Titolo},
      journaltitle = {Journal},
      date = {2017},
      number = {5},
      pages = {1-10},
      }`

      Grazie in anticipo

    Visualizzazione 3 filoni di risposte
    • Autore
      Risposte
      • #121734
        MatteoF
        Partecipante
          Up
          0
          Down
          ::

          gattex” post=122299Mi trovo davanti un autore che si chiama:
          Rossi, Ermenigildo (Mario)

          Vorrei avere in citazione un risultato del tipo:
          E. (M.) Rossi, Titolo

          e non
          E. ( Rossi

          Ma ‘Mario’ cosa sarebbe? Uno pseudonimo?

        • #121735
          Ale
            Up
            0
            Down
            ::


            Presumo un nome proprio alternativo con cui si fa chiamare perché non gli piace il proprio nome di battesimo ufficiale. Però non è uno pseudonimo che sostituisce anche il cognome.

          • #121736
            MatteoF
            Partecipante
              Up
              0
              Down
              ::


              Su tex.stackexchange ho trovato una problematica simile. Sono riuscito a creare un codice generale (che funziona sia per le citazioni che per la bibliografia finale) adattandolo a [tt]biblatex-philosophy[/tt] (visto che quest’ultimo modifica molte macro standard).

              Tutto ruota attorno alla modifica del modello dati ‘nameparts’: alle quattro parti “standard” di un nome (family/given/prefix/suffix) bisogna aggiungere una quinta parte che faccia riferimento al nome di battesivo “alternativo”. Io l’ho chiamata [tt]altgiven[/tt].

              Di seguito un emc:
              `
              % !TEX encoding = UTF-8 Unicode
              % !TEX program = pdflatex
              % !BIB program = biber

              \begin{filecontents}[overwrite]{alternativegiven.dbx}
              \DeclareDatamodelConstant[type=list]{nameparts}{prefix, family, suffix, given, altgiven}
              \end{filecontents}

              \begin{filecontents}[overwrite]{\jobname.bib}
              @Article{rossi,
              author = {family=Rossi, given=Ermenigildo, altgiven=Mario},
              title = {Titolo},
              journaltitle = {Journal},
              date = {2017},
              number = {5},
              pages = {1-10},
              }
              \end{filecontents}

              \documentclass{article}
              \usepackage[italian]{babel}
              \usepackage[style=philosophy-verbose, scauthors=all, giveninits=true, datamodel=alternativegiven]{biblatex}
              \addbibresource{\jobname.bib}

              % modifiche alle macro standard
              \DeclareNameFormat{given-family}{%
              \ifgiveninits
              {\usebibmacro{name:given-altgiven-family}
              {\namepartfamily}
              {\namepartgiveni}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiveni}}
              {\usebibmacro{name:given-altgiven-family}
              {\namepartfamily}
              {\namepartgiven}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiven}}%
              \usebibmacro{name:andothers}}

              \DeclareNameFormat{family-given}{%
              \ifgiveninits
              {\usebibmacro{name:family-given-altgiven}
              {\namepartfamily}
              {\namepartgiveni}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiveni}}
              {\usebibmacro{name:family-given-altgiven}
              {\namepartfamily}
              {\namepartgiven}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiven}}%
              \usebibmacro{name:andothers}}

              \DeclareNameFormat{family-given/given-family}{%
              \ifnumequal{\value{listcount}}{1}
              {\ifgiveninits
              {\usebibmacro{name:family-given-altgiven}
              {\namepartfamily}
              {\namepartgiveni}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiveni}}
              {\usebibmacro{name:family-given-altgiven}
              {\namepartfamily}
              {\namepartgiven}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiven}}%
              \ifboolexpe{%
              test {\ifdefvoid\namepartgiven}
              and
              test {\ifdefvoid\namepartprefix}}
              {}
              {\usebibmacro{name:revsdelim}}}
              {\ifgiveninits
              {\usebibmacro{name:given-altgiven-family}
              {\namepartfamily}
              {\namepartgiveni}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiveni}}
              {\usebibmacro{name:given-altgiven-family}
              {\namepartfamily}
              {\namepartgiven}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiven}}}%
              \usebibmacro{name:andothers}}

              \newcommand*{\mkbibcompletenamegivenaltgivenfamily}[1]{#1}
              \newcommand*{\mkbibcompletenamefamilygivenaltgiven}[1]{#1}

              \renewcommand*{\mkbibnamealtgiven}{\mkbibparens}

              \newbibmacro*{name:given-altgiven-family}[5]{%
              \usebibmacro{name:delim}{#2#5#3#1}%
              \usebibmacro{name:hook}{#2#5#3#1}%
              \mkbibcompletenamegivenaltgivenfamily{%
              \ifdefvoid{#2}
              {}
              {\mkbibnamegiven{#2}\isdot\bibnamedelimd}%
              \ifdefvoid{#5}
              {}
              {\mkbibnamealtgiven{#5}\isdot\bibnamedelimd}%
              \ifdefvoid{#3}
              {}
              {\mkbibnameprefix{#3}\isdot
              \ifprefchar
              {}
              {\ifuseprefix{\bibnamedelimc}{\bibnamedelimd}}}%
              \mkbibnamefamily{#1}\isdot
              \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}

              \newbibmacro*{name:family-given-altgiven}[5]{%
              \ifuseprefix
              {\usebibmacro{name:delim}{#3#1}%
              \usebibmacro{name:hook}{#3#1}%
              \mkbibcompletenamefamilygivenaltgiven{%
              \ifdefvoid{#3}
              {}
              {\ifcapital
              {\mkbibnameprefix{\MakeCapital{#3}}\isdot}
              {\mkbibnameprefix{#3}\isdot}%
              \ifprefchar{}{\bibnamedelimc}}%
              \mkbibnamefamily{#1}\isdot
              \ifdefvoid{#4}
              {}
              {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
              \ifdefvoid{#2}
              {}
              {\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot\bibnamedelimd}%
              \ifdefvoid{#5}
              {}
              {\mkbibnamealtgiven{#5}\isdot\bibnamedelimd}}}
              {\usebibmacro{name:delim}{#1}%
              \usebibmacro{name:hook}{#1}%
              \mkbibcompletenamefamilygivenaltgiven{%
              \mkbibnamefamily{#1}\isdot
              \ifdefvoid{#4}
              {}
              {\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
              \ifboolexpe{%
              test {\ifdefvoid{#2}}
              and
              test {\ifdefvoid{#3}}}
              {}
              {\revsdnamepunct}%
              \ifdefvoid{#2}
              {}
              {\bibnamedelimd\mkbibnamegiven{#2}\isdot\bibnamedelimd}%
              \ifdefvoid{#5}
              {}
              {\mkbibnamealtgiven{#5}\isdot\bibnamedelimd}%
              \ifdefvoid{#3}
              {}
              {\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}}

              % modifiche alle macro definite/ridefinite da biblatex-philosophy
              \newrobustcmd*{\mkbibaltgivensc}[1]{%
              \iftoggle{bbx:lowscauthors}{%
              \mkbibparens{\textsc{\MakeLowercase{#1}}}}%
              {\mkbibparens{\textsc{#1}}}}

              \renewbibmacro*{bbx:scswitch}{%
              \let\mkbibnamefamily\mkbibsc%
              \let\mkbibnamegiven\mkbibsc%
              \let\mkbibnameprefix\mkbibsc%
              \let\mkbibnamesuffix\mkbibsc%
              \let\mkbibnamealtgiven\mkbibaltgivensc}

              \DeclareNameFormat{sortname}{%
              \iftoggle{bbx:scauthorsbib}{\usebibmacro{bbx:scswitch}}{}%
              \nameparts{#1}%
              \ifnumequal{\value{listcount}}{1}
              {\ifgiveninits
              {\usebibmacro{name:family-given-altgiven}
              {\namepartfamily}
              {\namepartgiveni}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiveni}}
              {\usebibmacro{name:family-given-altgiven}
              {\namepartfamily}
              {\namepartgiven}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiven}}%
              \ifboolexpr{%
              test {\ifdefvoid\namepartgiven}
              and
              test {\ifdefvoid\namepartprefix}}
              {}
              {\usebibmacro{name:revsdelim}}}
              {\ifgiveninits
              {\usebibmacro{name:given-altgiven-family}
              {\namepartfamily}
              {\namepartgiveni}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiveni}}
              {\usebibmacro{name:given-altgiven-family}
              {\namepartfamily}
              {\namepartgiven}
              {\namepartprefix}
              {\namepartsuffix}
              {\namepartaltgiven}}}%
              \usebibmacro{name:andothers}}%

              \DeclareNameFormat{labelname}{%
              \iftoggle{cbx:scauthorscite}{\usebibmacro{bbx:scswitch}}{}%
              \iftoggle{cbx:scauthorscitefn}{\iffootnote{\usebibmacro{bbx:scswitch}}{}}{}%
              \bibhyperref{\nameparts{#1}%
              \ifcase\value{uniquename}%
              \usebibmacro{name:family}%
              {\namepartfamily}%
              {\namepartgiven}%
              {\namepartprefix}%
              {\namepartsuffix}%
              \or
              \ifuseprefix
              {\usebibmacro{name:given-altgiven-family}%
              {\namepartfamily}%
              {\namepartgiveni}%
              {\namepartprefix}%
              {\namepartsuffixi}%
              {\namepartaltgiveni}}%
              {\usebibmacro{name:given-altgiven-family}%
              {\namepartfamily}%
              {\namepartgiveni}%
              {\namepartprefixi}%
              {\namepartsuffixi}%
              {\namepartaltgiveni}}%
              \or
              \usebibmacro{name:given-altgiven-family}%
              {\namepartfamily}%
              {\namepartgiven}%
              {\namepartprefix}%
              {\namepartsuffix}%
              {\namepartaltgiveni}%
              \fi
              \usebibmacro{name:andothers}}}%

              \DeclareNameFormat{scdefault}{%
              \usebibmacro{bbx:scswitch}%
              \nameparts{#1}%
              \ifgiveninits
              {\usebibmacro{name:given-altgiven-family}%
              {\namepartfamily}%
              {\namepartgiveni}%
              {\namepartprefix}%
              {\namepartsuffix}%
              {\namepartaltgiveni}}%
              {\usebibmacro{name:given-altgiven-family}%
              {\namepartfamily}%
              {\namepartgiven}%
              {\namepartprefix}%
              {\namepartsuffix}
              {\namepartaltgiven}}%
              \usebibmacro{name:andothers}}%

              \begin{document}
              \autocite{rossi}
              \printbibliography
              \end{document}
              `
              Ovviamente, in presenza del nome alternativo, non è possibile utilizzare la sintassi propria di [tt]BibTeX[/tt] (‘Nome Cognome’ o ‘Cognome, Nome’) ma quella propria di [tt]biblatex[/tt] (family=Cognome, given=Nome, etc.).

              Matteo

            • #121737
              Ale
                Up
                0
                Down
                ::


                Grazie mille. Ora provo.

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

            Go to top