Undefined citations and references

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


archy
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Do 26. Mär 2020, 16:14

Undefined citations and references

Beitrag von archy »

Hallo zusammen,

ich bin ein Latex-Neuling und verfasse gerade eine Hausarbeit damit.
Ich benutze es in Overleaf und VSCode. Alles ist upgedatet. Meine .bib erstelle ich mittels citavi.
In Overleaf läuft das Kompilieren zwar besser, aber es läuft nicht mit dem aktuellen archaeology-package und somit ist meine Literaturliste nicht den aktuellen Richtlinien entsprechend.
Ich bekomme nun schon seit einigen Tagen in VSCode Warnungen zu "Undefined citations and references". Ich habe gefühlt schon alle Foren durchforstet und steige nicht hinter das Problem, zumal es von jetzt auf gleich die Warnungen gab. Ich habe für mein gesamtes Dokument alle cites and refs neu gemacht. Ich habe getestet, ob es an Abb. oder Tab. lag (ich habe einmal komplett alles entfernt). Ich habe die .log durchforstet... Ich weiß einfach nicht, woran es liegen könnte. Meine Vermutung ist, dass mein bibstyle nicht stabil läuft.

Hier mein VM (ich mache das zum ersten Mal und hoffe, das ist korrekt so):
\documentclass[12pt, a4paper]{article}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[sc]{mathpazo}
\usepackage[onehalfspacing]{setspace}
\usepackage[ngerman]{babel}
\usepackage{hyphenat}
\usepackage{csquotes, xpatch}
\usepackage{amssymb}
\usepackage{xspace}
\usepackage{graphicx}
\usepackage{float}
\usepackage[justification=centering]{caption}
\captionsetup[figure, table]{font=scriptsize, aboveskip=6pt, belowskip=12pt}
\usepackage{threeparttable}
\usepackage{blindtext}
\usepackage{geometry}
\geometry{portrait,top=3cm,bottom=3cm,left=3cm,right=3cm}
\usepackage[style=rgk-inline]{biblatex}
\DeclareSourcemap{
        \maps[datatype=bibtex]{
                \map{
              \step[
                 fieldsource=year,
                 fieldtarget=date,
             ]
         }
                \map{
              \step[
                 fieldsource=address,
                 fieldtarget=location,
             ]
         }
        }
}
\DeclareFieldFormat[article,review,suppperiodical]{number}{#1\addcomma\addspace}
\addbibresource{skythen.bib} 

 
\begin{document}
    \input{sections/00_Titelblatt}
    \tableofcontents
        \thispagestyle{empty}
        \newpage
        \setcounter{page}{1}
    \input{sections/01_Einleitung}
    \input{sections/02_Methoden}
    \input{sections/03_Skythen}
    \input{sections/04_Fallbeispiele}
    \input{sections/05_Diskussion}\newpage
    \input{sections/06_Fazit}\newpage
    \printbibliography\newpage
    \listoffigures\newpage
    \listoftables
\end{document}


Er meckert auch, dass mein bibliography leer ist. Inhalts-, Abbildungs- und Tabellenverzeichnis wird auch nicht angezeigt.

Hier ein Beispiel für einen .bib Eintrag:

@incollection{Maran.2007,
author = {Maran, Joseph},
title = {{Mit den Methoden der Gegenwart in die Vergangenheit -- Arch{\"a}ologie und Naturwissenschaften}},
pages = {341--350},
bookpagination = {page},
publisher = {Springer},
isbn = {978-3-540-71936-6},
editor = {Wagner, G{\"u}nther A.},
booktitle = {{Einf{\"u}hrung in die Arch{\"a}ometrie}},
year = {2007},
abstract = {},
location = {Berlin and Heidelberg and New York, NY}
}

Ich hoffe, ihr könnt mir helfen. Vielen Dank!
Dateianhänge
main.log
(58.89 KiB) 171-mal heruntergeladen
Zuletzt geändert von archy am Do 26. Mär 2020, 17:13, insgesamt 2-mal geändert.
*** LaTex Neuling ***


MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Beitrag von MoeWe »

In der .log-Datei finden wir den Hinweis
Package biblatex Info: Trying to load bibliographic data...
Package biblatex Info: ... file 'main.bbl' not found.

No file main.bbl.
und später noch
Package biblatex Warning: Please (re)run Biber on the file:
(biblatex)                main
(biblatex)                and rerun LaTeX afterwards.
Das deutet darauf hin, dass Du Biber nicht (korrekt) aufgerufen hast. Overleaf macht solche Dinge automatisch für Dich, aber bei einer lokalen Installation musst Du selbst dafür sorgen, dass LaTeX und Hilfsprogramme wie Biber häufig genug und in der richtigen Reihenfolge aufgerufen werden. Warum das notwendig ist und was Biber macht ist ganz wunderbar bei https://tex.stackexchange.com/q/63852/35864 erklärt (alle Erklärungen des grundlegenden Prinzips sind für BibTeX und Biber in dieser Frage ähnlich genug).

Dein Dokument muss mindestens mit der Kompilationsfolge LaTeX, Biber, LaTeX, LaTeX übersetzt werden (LaTeX steht dabei als Platzhalter für pdfLaTeX, LuaLaTeX, XeLaTeX, ...; laut Deiner .log-Datei nutzt Du pdfLaTeX).

Bei den Meisten Editoren kann man irgendwie einstellen, dass Biber aufgerufen werden kann: https://tex.stackexchange.com/q/154751/35864 und https://www.texwelt.de/fragen/1909/wie- ... nem-editor Wenn Du Deinen Editor für Biber eingestellt hast, kann es sein, dass Du noch immer einen Button drücken muss oder in einem Menü etwas auswählen musst, um Biber tatsächlich auszuführen. Das sollte aber in einer Anleitung des Editors erklärt sein (oder idealerweise selbsterklärend sein).

Von der Kommandozeile (https://texwelt.de/fragen/3461/wie-kompiliere-ich-in-der-eingabeaufforderung-im-terminal) wäre der Aufruf
pdflatex main
biber main
pdflatex main
pdflatex main
Man muss nicht nach jeder kleinen Änderung im Dokument immer die volle Sequenz LaTeX, Biber, LaTeX, LaTeX durchlaufen. Wenn es keine Änderung an Zitaten und der .bib-Datei gab, ist ein Biber-Lauf meist nicht nötig. In den allermeisten Fällen wird LaTeX Dich in der .log-Datei auf benötigte weitere LaTeX- oder Biber-Läufe hinweisen.

Das
\DeclareSourcemap{
        \maps[datatype=bibtex]{
                \map{
              \step[
                 fieldsource=year,
                 fieldtarget=date,
             ]
         }
                \map{
              \step[
                 fieldsource=address,
                 fieldtarget=location,
             ]
         }
        }
}
in Deinem Code sollte eigentlich nicht nötig sein: address wird automatisch zu location gemapt und auch das year-Feld wird ohne diese Hilfe erkannt.
Da das date-Feld nur Eingaben im ISO-8601-Format akzeptiert und year ein klein wenig mehr, kann es sogar kontraproduktiv sein, wie das folgende Beispiel zeigt (das ist meiner Meinung nicht der semantisch schönere Weg für das "ca.", aber es scheint mir ein nicht ganz lebensfremdes Beispiel)
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber]{biblatex}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[
        fieldsource=year,
        fieldtarget=date,
      ]
    }
    \map{
      \step[
        fieldsource=address,
        fieldtarget=location,
      ]
    }
  }
}


\begin{filecontents}{\jobname.bib}
@book{appleby,
  author   = {Humphrey Appleby},
  title    = {On the Importance of the Civil Service},
  year     = {ca.~1980},
  sortyear = {1980},
}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{document}
\cite{appleby}
\printbibliography
\end{document}

archy
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Do 26. Mär 2020, 16:14

Beitrag von archy »

Vielen Dank! An dem Punkt war ich auch schon vor einer Woche.. aber der Fehler liegt bekanntlich im Detail und das Problem ist gelöst :)
*** LaTex Neuling ***

Antworten