Biblatex: voce che «has been referenced but does not exist»

  • Creatore
    Topic
  • #99272
    samiel
    Partecipante
      Up
      0
      Down
      ::


      Nella compilazione di un testo ricevo:
      `)pdfTeX warning (dest): name{cite.0:cite5} has been referenced but does not exist,
      replaced by a fixed one`
      Ho visto la discussione su un problema analogo a questo indirizzo:
      http://tex.stackexchange.com/questions/142855/biblatex-autocite-inbook-has-been-referenced-but-does-not-exist
      ma francamente non ho capito la soluzione. Se commento un capoverso specifico il messaggio sparisce,
      ma si tratta di un @inbook che fa riferimento a un @book dove non vedo anomalie. Ovviamente, il problema
      non si pone se non carico il pacchetto hyperref.
      Inoltre, non so come interpretare la stringa name{cite.0:cite5}.

      grazie
      m

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


        Serve un esempio minimo compilabile.

        Ciao
        Ivan

      • #99274
        samiel
        Partecipante
          Up
          0
          Down
          ::


          non è proprio minimo, ma dà l’«errore»
          `\begin{filecontents*}{\jobname.bib}

          @incollection{ kuhn:1980a,
          author = “Kuhn, Thomas S.”,
          title = “Logica della scoperta o psicologia della ricerca?”,
          crossref = “lakatos:1980”,
          pages = “69-93”,
          }

          @incollection{ kuhn:1980b,
          author = “Kuhn, Thomas S.”,
          title = “Riflessioni sui miei critici”,
          crossref = “lakatos:1980”,
          pages = “313-365”,
          }

          @book{ kuhn:1981,
          author = “Kuhn, Thomas S.”,
          title = “La rivoluzione copernicana”,
          publisher = “Einaudi”,
          location = “Torino”,
          year = “1981”,
          edition = “3”,
          }

          @book{ kuhn:1982,
          author = “Kuhn, Thomas S.”,
          title = “La struttura delle rivoluzioni scientifiche”,
          publisher = “Einaudi”,
          location = “Torino”,
          year = “1978”,
          edition = “4”,
          }

          @book{ kuhn:1985,
          author = “Kuhn, Thomas S.”,
          title = “La tensione essenziale”,
          publisher = “Einaudi”,
          location = “Torino”,
          year = “1985”,
          }

          @collection{ lakatos:1980,
          title = “Critica e crescita della conoscenza”,
          editor = “Lakatos, Imre and Musgrave, Alan”,
          publisher = “Feltrinelli”,
          location = “Milano”,
          year = “1980”,
          edition = “3”,
          }

          @incollection{ masterman:1980,
          author = “Masterman, Mary”,
          title = “La natura di un paradigma”,
          crossref = “lakatos:1980”,
          pages = “129-163”,
          }

          \end{filecontents*}

          \documentclass[a4paper,11pt]{article}
          \usepackage[T1]{fontenc}
          \usepackage[utf8]{inputenc}
          \usepackage[italian]{babel}
          \usepackage[type1]{ebgaramond}
          \renewcommand*\ttdefault{lmvtt}
          %\usepackage[scaled=.95,proportional,lightcondensed]{zlmtt}
          \usepackage{microtype}
          \usepackage

          {geometry}
          \frenchspacing
          \usepackage{xpatch}
          \usepackage{textcase}
          \newcommand{\omissis}{[\textellipsis\unkern]}
          \usepackage{breakurl}
          \usepackage{setspace}
          \usepackage{comment}

          \let\oldmarginpar\marginpar
          \setlength{\marginparwidth}{1.1in}
          \renewcommand{\marginpar}[1]{\oldmarginpar%[\raggedleft\footnotesize\emph{#1}]%
          {\raggedright\footnotesize\emph{#1}}}

          %%% NOTE DI CONCLUSIONE
          \usepackage{enotez}
          \newlength{\normalparindent}
          \AtBeginDocument{\setlength{\normalparindent}{0.7\parindent}}
          \DeclareInstance{enotez-list}{plain}{paragraph}
          {
          notes-sep=0pt, %\baselineskip,
          format=\footnotesize\normalfont\leftskip\normalparindent,
          number=\makebox[0pt][r]{\makebox[\normalparindent][l]{\textsuperscript{#1}}}
          \ignorespaces,
          }
          \let\footnote=\endnote

          %%% BIBLIOGRAFIA
          \usepackage[babel,italian=guillemets]{csquotes}
          \usepackage[style=philosophy-verbose,backend=biber,scauthors=true,%
          classical=true,volnumformat=strings,volumeformat=romansc,firstinits=true,%
          sorting=nyt,firstinits=true,commacit=true,citepages=omit,indexing]{biblatex}
          \DeclareFieldFormat[article,inbook,incollection]{title}{\mkbibemph{#1}}
          \DeclareFieldFormat[article,inbook,incollection]{citetitle}{\mkbibemph{#1}}
          \DeclareFieldFormat{journaltitle}{\mkbibquote{#1}}
          \renewcommand*{\bibfont}{\normalfont\footnotesize}

          \makeatletter
          \newbibmacro*{nodash:author}{%
          \ifboolexpr{%
          test \ifuseauthor
          and
          not test {\ifnameundef{author}}
          }%
          {\printnames{author}%
          \iffieldundef{nameaddon}{}%
          {\setunit{\addspace}%
          \printtext[brackets]{\printfield{nameaddon}}}%
          \setunit{\addcomma\space}%
          \usebibmacro{authorstrg}}%
          {\global\undef\bbx@lasthash}}

          \newbibmacro*{nodash:editor+others}{%
          \usebibmacro{nodash:bbx:editor}{editor+othersstrg}}%
          \newbibmacro*{nodash:bbx:editor}[1]{%
          \ifboolexpr{%
          test \ifuseeditor
          and
          not test {\ifnameundef{editor}}
          }%
          {\printnames{editor}%
          \setunit{\addspace}%
          \usebibmacro{#1}%
          \clearname{editor}}%
          {\global\undef\bbx@lasthash}}

          \newbibmacro*{nodash:author/editor+others/translator+others}{%
          \ifboolexpr{
          test \ifuseauthor
          and
          not test {\ifnameundef{author}}
          }
          {\usebibmacro{nodash:author}}
          {\ifboolexpr{
          test \ifuseeditor
          and
          not test {\ifnameundef{editor}}
          }
          {\usebibmacro{nodash:editor+others}}
          {\usebibmacro{nodash:translator+others}}}}

          \newbibmacro*{usedriver:book}{%
          \usebibmacro{bibindex}%
          \usebibmacro{begentry}%
          \usebibmacro{nodash:author/editor+others/translator+others}%
          \setunit{\labelnamepunct}\newblock
          \usebibmacro{maintitle+title}%
          \newunit
          \printlist{language}%
          \newunit\newblock
          \usebibmacro{byauthor}%
          \newunit\newblock
          \usebibmacro{byeditor+others}%
          \newunit\newblock
          \printfield{edition}%
          \newunit
          \printfield{volumes}%
          \newunit\newblock
          \usebibmacro{series+number}%
          \newunit\newblock
          \printfield{note}%
          \newunit\newblock
          \usebibmacro{publisher+location+date}%
          \newunit
          \iffieldundef{maintitle}
          {\printfield{volume}%
          \printfield{part}}
          {}%
          \newunit\newblock
          \usebibmacro{chapter+pages}%
          \newunit
          \printfield{pagetotal}%
          \newunit\newblock
          \iftoggle{bbx:isbn}
          {\printfield{isbn}}
          {}%
          \newunit\newblock
          \usebibmacro{doi+eprint+url}%
          \newunit\newblock
          \usebibmacro{addendum+pubstate}%
          \setunit{\addsemicolon\space}\newblock
          \iftoggle{bbx:related}
          {\usebibmacro{related:init}%
          \usebibmacro{related}}
          {}%
          \newunit\newblock
          \usebibmacro{pageref}%
          }
          \newbibmacro*{usedriver:collection}{%
          \usebibmacro{bibindex}%
          \usebibmacro{begentry}%
          \usebibmacro{nodash:editor+others}%
          \setunit{\labelnamepunct}\newblock
          \usebibmacro{maintitle+title}%
          \newunit
          \printlist{language}%
          \newunit\newblock
          \usebibmacro{byeditor+others}%
          \newunit\newblock
          \printfield{edition}%
          \newunit
          \iffieldundef{maintitle}
          {\printfield{volume}%
          \printfield{part}}
          {}%
          \newunit
          \printfield{volumes}%
          \newunit\newblock
          \usebibmacro{series+number}%
          \newunit\newblock
          \printfield{note}%
          \newunit\newblock
          \usebibmacro{publisher+location+date}%
          \newunit\newblock
          \usebibmacro{chapter+pages}%
          \newunit
          \printfield{pagetotal}%
          \newunit\newblock
          \iftoggle{bbx:isbn}
          {\printfield{isbn}}
          {}%
          \newunit\newblock
          \usebibmacro{doi+eprint+url}%
          \newunit\newblock
          \usebibmacro{addendum+pubstate}%
          \setunit{\addsemicolon\space}\newblock
          \iftoggle{bbx:related}
          {\usebibmacro{related:init}%
          \usebibmacro{related}}
          {}%
          \newunit\newblock
          \usebibmacro{pageref}%
          }
          \makeatother

          %%% inverte cognome/nome in philosophy-verbose
          \AtBeginBibliography{%
          \iftoggle{bbx:scauthorsbib}{%
          \DeclareNameFormat{sortname}{%
          \renewcommand{\mkbibnamefirst}{\textsc}%
          \renewcommand{\mkbibnamelast}{\textsc}%
          \renewcommand{\mkbibnameprefix}{\textsc}%
          \renewcommand{\mkbibnameaffix}{\textsc}%
          \ifnumequal{\value{listcount}}{1}
          {\iffirstinits
          {\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
          {\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}%
          \ifblank{#3#5}
          {}
          {\usebibmacro{name:revsdelim}}}
          {\iffirstinits
          {\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
          {\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}}%
          \usebibmacro{name:andothers}}}%
          {}}%

          \DeclareNameAlias{last-first/first-last}{first-last}

          %%% rende gli autori in tutto maiuscoletto nella bibliografia
          \newcommand\textlcsc[1]{\textsc{\MakeLowercase{#1}}}
          \AtBeginBibliography{%
          \iftoggle{bbx:scauthors}{%
          \DeclareNameFormat{sortname}{%
          \renewcommand{\mkbibnamefirst}{\textlcsc}%
          \renewcommand{\mkbibnamelast}{\textlcsc}%
          \renewcommand{\mkbibnameprefix}{\textlcsc}%
          \renewcommand{\mkbibnameaffix}{\textlcsc}%
          \ifnumequal{\value{listcount}}{1}
          {\iffirstinits
          {\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
          {\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}%
          \ifblank{#3#5}
          {}
          {\usebibmacro{name:revsdelim}}}
          {\iffirstinits
          {\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
          {\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}}%
          \usebibmacro{name:andothers}}}%
          {}}%

          % rende gli autori in tutto maiuscoletto nelle note
          \AtEveryCite{%
          \DeclareNameFormat{labelname}{%
          \renewcommand{\mkbibnamefirst}{\textlcsc}%
          \renewcommand{\mkbibnamelast}{\textlcsc}%
          \renewcommand{\mkbibnameprefix}{\textlcsc}%
          \renewcommand{\mkbibnameaffix}{\textlcsc}%
          \ifcase\value{uniquename}%
          \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}%
          \or
          \ifuseprefix
          {\usebibmacro{name:first-last}{#1}{#4}{#5}{#8}}%
          {\usebibmacro{name:first-last}{#1}{#4}{#6}{#8}}%
          \or
          \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}%
          \fi
          \usebibmacro{name:andothers}}%
          }
          \DeclareNameFormat{scdefault}{%
          \renewcommand{\mkbibnamefirst}{\textlcsc}%
          \renewcommand{\mkbibnamelast}{\textlcsc}%
          \renewcommand{\mkbibnameprefix}{\textlcsc}%
          \renewcommand{\mkbibnameaffix}{\textlcsc}%
          \iffirstinits
          {\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}%
          {\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}%
          \usebibmacro{name:andothers}}

          %%% ridefinisce il formato per usare il numero dell'edizione in apice
          \DeclareFieldFormat{edition}{%
          \ifinteger{#1}
          {\textsuperscript{#1}}
          {#1\isdot\setunit{\addcomma\space}}}
          %% imposta l'ordine (e i separatori) dei dati
          \renewbibmacro*{publisher+location+date}{%
          \iflistundef{publisher}
          {\setunit*{\addcomma\space}}
          {\setunit*{\addcolon\space}}%
          \printlist{publisher}%
          \setunit*{\addcomma\space}%
          \printlist{location}%
          \setunit*{\space}%
          \usebibmacro{date}%
          \printfield{edition}%
          \newunit}
          %% elimina la prima occorrenza del campo “edition”
          \usepackage{xpatch}
          \newcommand{\replaceedition}[1]{%
          \xpatchbibdriver{#1}
          {\printfield{edition}%
          \newunit}
          {}%
          {}
          {\typeout{failed to patch driver #1}}
          }
          \replaceedition{book}
          \replaceedition{collection}
          \replaceedition{inbook}
          \replaceedition{incollection}
          \replaceedition{manual}
          %% aggiunge le specifiche per philosophy-verbose
          \xpatchbibmacro{incollection:full}
          {\printfield{edition}%
          \newunit}
          {}%
          {}
          {}
          \xpatchbibmacro{inbook:full}
          {\printfield{edition}%
          \newunit}
          {}%
          {}
          {}
          \xpatchbibmacro{usedriver:collection}
          {\printfield{edition}%
          \newunit}
          {}%
          {}
          {}
          \xpatchbibmacro{usedriver:book}
          {\printfield{edition}%
          \newunit}
          {}%
          {}
          {}

          \addbibresource{\jobname.bib}
          \nocite{*}
          \usepackage[hidelinks]{hyperref}

          \begin{document}

          \section{Il concetto di paradigma in Kuhn}
          È largamente noto che il concetto kuhniano di paradigma — così come definito e
          adottato ne \emph{La struttura delle rivoluzioni scientifiche} del 1962 — è
          stato alla base di significative innovazioni nel metodo storiografico applicato
          alla storia della scienza e si è dimostrato fecondo anche nella ricerca
          sociologica (al di là dell'uso che ne ha fatto il finitismo e del fatto che Kuhn
          difende invece l'approccio funzionalistico), e tuttavia che, da subito, è stato
          oggetto di numerose critiche per le sue ambiguità e difficoltà.

          La nozione\marginpar{La nozione \\ di paradigma} di paradigma matura
          gradualmente nella produzione di Kuhn a partire dalla sua monografia \emph{La
          rivoluzione copernicana} del 1957, dove compare l'espressione «schema
          concettuale»\footcite[53]{kuhn:1981}, e trova continui approfondimenti teorici e
          affinamenti storiografici nella produzione successiva. La sua prima
          formulazione esplicita si legge nel saggio \emph{La tensione essenziale} (del
          1959), dove si dice che i manuali di fisica non possono esaurire tutti i tipi di
          problemi da presentare allo studente, ma «mostrano soluzioni a problemi concreti
          che la professione è giunta ad accettare come
          paradigmi»\footcite[248]{kuhn:1985}. Analogamente, Kuhn continuerà a sostenere
          che gli esempi storici devono essere presentati agli studenti non come casi
          specifici, ma in funzione della loro valenza generale: «La pratica e la teoria
          tecnica che essi [\emph{scil.} gli studenti] apprendono funzionano soprattutto
          come paradigmi piuttosto che come frammenti di informazione intrinsecamente
          utili»\footcite[\textsc{xvii}]{kuhn:1981}. In questo approccio ancora d'avvio,
          dunque, il paradigma è concepito in funzione didattica, mentre le regolarità di
          un contesto scientifico sono denominate nel loro insieme (con espressione
          illuminante) “consenso''. Paradossalmente, l'antecendente di quello che sarà
          più tardi il paradigma è qui, appunto, il “consenso''.

          La caratteristica che svariati epistemologi e storici della scienza hanno
          apprezzato e condiviso, ma dove risiede anche la maggior parte delle difficoltà
          sia intrinseche sia applicative, sta proprio nell'utilizzo della nozione di
          paradigma e nel suo sfondo realistico (in cui si muove peraltro tutta la
          riflessione dello stesso Kuhn, che si associa al realismo matematico di
          Lakatos). Fra i primi a rilevare analiticamente le ambiguità e le oscillazioni
          del concetto kuhniano di paradigma è stata Margaret Masterman, una studiosa che
          si è occupata di scienza dei calcolatori, nel noto articolo \emph{La natura di
          un paradigma}.

          Fra le accezioni\marginpar{Le accezioni \\ di paradigma} di paradigma che si
          intrecciano, a volte anche confusamente, nella trattazione di Kuhn (ben ventuno
          secondo l'acribia della Masterman) vi sarebbero quella di «un'intera tradizione
          e, in un certo senso, un modello»\footcite[133]{masterman:1980}. Tale modello
          non coincide con una qualche teoria definita (ad esempio il copernicanesimo),
          poiché è di essa sempre più ampia e possiede una valenza non solo teorica, ma
          anche sociologica. Il paradigma è infatti la teoria dominante, ma al contempo il
          sottofondo metafisico, religioso ed economico che permette lo sviluppo di una
          teoria (ad esempio il fatto che essa sia previamente approvata dal ceto che
          finanzia la ricerca) e quindi che ne compie una diffusa accettazione: «è molto
          più ampio che la teoria e ideologicamente antecedente a essa: cioè un'intera
          \emph{Weltanschauung}»\footcite[139]{masterman:1980}.

          \printendnotes

          \printbibliography[title={Bibliografia}]

          \end{document}`
          Infatti all’ultima compilazione ricevo
          `LaTeX Warning: There were undefined references.

          Package biblatex Warning: Please (re)run Biber on the file:
          (biblatex) paradigmi
          (biblatex) and rerun LaTeX afterwards.

          )pdfTeX warning (dest): name{cite.0:cite5} has been referenced but does not ex
          ist, replaced by a fixed one`

        • #99275
          Up
          0
          Down
          ::


          Cerca di capire da che cosa è provocato l’avviso
          `
          LaTeX Warning: There were undefined references.

          Package biblatex Warning: Please (re)run Biber on the file:
          (biblatex) samiwarn
          (biblatex) and rerun LaTeX afterwards.
          `
          che sicuramente ha a che fare con il problema.

          Ciao
          Enrico

        • #99276
          samiel
          Partecipante
            Up
            0
            Down
            ::


            Preciso: il primo avviso lo ricevo sempre e comunque nella compilazione;
            pare abbia a che fare con enotez.
            Il secondo, quello che dà titolo al post solo se attivo hyperref.
            Di fatto, cliccando sul numero della nota il pdf arriva correttamente
            al testo della nota. La cosa strana è che nel testo ho altri casi
            di @incollection che non producono alcun warning.
            Ho tolto man mano parti di codice ricompilando ogni volta.
            Questo è il codice minimale raggiunto
            `\begin{filecontents*}{\jobname.bib}

            @collection{ lakatos:1980,
            title = “Critica e crescita della conoscenza”,
            editor = “Lakatos, Imre and Musgrave, Alan”,
            publisher = “Feltrinelli”,
            location = “Milano”,
            year = “1980”,
            edition = “3”,
            }

            @incollection{ masterman:1980,
            author = “Masterman, Mary”,
            title = “La natura di un paradigma”,
            crossref = “lakatos:1980”,
            pages = “129-163”,
            }

            \end{filecontents*}

            \documentclass[a4paper,11pt]{article}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[italian]{babel}

            \usepackage[babel,italian=guillemets]{csquotes}
            \usepackage[style=philosophy-verbose,backend=biber,scauthors=true,%
            classical=true,volnumformat=strings,volumeformat=romansc,firstinits=true,%
            sorting=nyt,firstinits=true,commacit=true,citepages=omit,indexing]{biblatex}

            \addbibresource{\jobname.bib}
            \nocite{*}
            \usepackage[hidelinks]{hyperref}

            \begin{document}

            Fra le accezioni di paradigma che si
            intrecciano, a volte anche confusamente, nella trattazione di Kuhn (ben ventuno
            secondo l'acribia della Masterman) vi sarebbero quella di «un'intera tradizione
            e, in un certo senso, un modello»\footcite[133]{masterman:1980}. Tale modello
            non coincide con una qualche teoria definita (ad esempio il copernicanesimo),
            poiché è di essa sempre più ampia e possiede una valenza non solo teorica, ma
            anche sociologica. Il paradigma è infatti la teoria dominante, ma al contempo il
            sottofondo metafisico, religioso ed economico che permette lo sviluppo di una
            teoria (ad esempio il fatto che essa sia previamente approvata dal ceto che
            finanzia la ricerca) e quindi che ne compie una diffusa accettazione: «è molto
            più ampio che la teoria e ideologicamente antecedente a essa: cioè un'intera
            \emph{Weltanschauung}»\footcite[139]{masterman:1980}.

            \printbibliography[title={Bibliografia}]

            \end{document}`
            Stavolta l’avviso è
            `)pdfTeX warning (dest): name{c
            ite.0:cite2} has been referenced but does not exist, replaced by a fixed one`
            per cui laparte incriminata credo sia il secondo \footcite. nno so se mi sfugge qualcosa
            perché non ci vedo niente di strano. E inoltre in questo caso non compare più
            il primo avviso, quello sulle “undefinited references”, resta solo il secondo

          • #99277
            Up
            0
            Down
            ::


            Temo che non ci sia nulla da fare. Bisogna adottare un approccio pragmatico: se tutto funziona, ignorare il warning.
            Probabilmente ci sarà un problema anche con l’hyperlink. Anche per questo non vedo tante soluzioni. Le voci @in* diventano rognose non appena le si va a modificare, come fa biblatex-philosophy. La soluzione migliore sarebbe rinunciare definitivamente al meccanismo di crossref che stampa la voce troncata con “cit.” ed accettare che ogni voce di tipo @in* sia sempre completa. Ma ormai gli stili sono così e tornare indietro potrebbe essere dannoso per qualche utente, che si troverebbe le bibliografie improvvisamente molto diverse.

            Ciao
            Ivan

          • #99278
            samiel
            Partecipante
              Up
              0
              Down
              ::


              Sì, visto che non sembrano esserci inconvenienti…
              Ho provato a sostituire i riferimenti e ad aggiungerne altri,
              il problema si ripropone, ma resta misterioso…
              Accontententiamoci 🙂

              m

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

          Go to top