Seite 1 von 1

Von book zu collection mit biber sourcemap

Verfasst: Fr 11. Sep 2020, 16:16
von discipulus

Um beim Wechsel von jurabib auf biblatex meine bisherigen .bib-Dateien weiter nützen zu können, muß ich die Aufsatzsammlungen, die bei bibtex als book mit editor geführt sind, in collection überführen.

Folgende Sourcemap macht auch, was sie soll, jedenfalls im Hinblick auf das Literaturverzeichnis:

\map{
      \perdatasource{beispiel.bib}
      \pertype{book}
      \step[typesource=book, fieldsource=editor, final]
      \step[typesource=book, typetarget=collection]
    }

Sie führt aber zu folgender Warnung:

No driver for entry type ''

Wie kann ich das vermeiden?


Re: Von book zu collection mit biber sourcemap

Verfasst: Fr 11. Sep 2020, 16:30
von MoeWe

Das typesource=book im ersten \step verwirrt Biber ein wenig (ich glaube, da Biber zu typesource immer im selben Schritt noch ein typetarget erwartet, es könnte aber auch andere Gründe haben). Außerdem würde ich datatype=bibtex explizit angeben.

Wegen typesource=book kannst Du Dir das \pertype{book} eigentlich sparen.

Bei mir geht

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

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

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=editor, final]
      \step[typesource=book, typetarget=collection]
    }
  }
}

\begin{filecontents}{\jobname.bib}
@book{appleby,
  editor  = {Humphrey Appleby},
  title   = {On the Importance of the Civil Service},
  date    = {1980},
}
\end{filecontents}
\addbibresource{\jobname.bib}



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

Bitte liefer doch in Zukunft ein kompilierbares Minimalbeispiel in dieser Art mit. Das spart Deinen Helfern unglaublich Zeit und Du hast den dafür nötigen Code doch eh vor der Nase.


Re: Von book zu collection mit biber sourcemap

Verfasst: Fr 11. Sep 2020, 16:36
von discipulus

Ganz herzlichen Dank für die rasche Hilfe, durch die die Warnung verschwindet.

Bitte entschuldige, daß ich ich kein Minimalbeispiel angegeben habe - das manche ich sonst eigentlich schon immer, aber ich dachte, dem Fachmann genügt hier ein Blick auf die \map um zu sehen, wo der Fehler ist.


Re: Von book zu collection mit biber sourcemap

Verfasst: Fr 11. Sep 2020, 16:47
von MoeWe

Mhh, beim zweiten Draufsehen würde es mir natürlicher erscheinen, eine @collection nicht durch Anwesenheit eines editors, sondern durch Abwesenheit eines authors zu charakterisieren. Es gibt ja durchaus @books, bei denen man author und editor angeben möchte.

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

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

\DeclareSourcemap{
  \maps{
    \map{
      \step[notfield=author, final]
      \step[typesource=book, typetarget=collection]
    }
  }
}

\begin{filecontents}{\jobname.bib}
@book{appleby,
  editor  = {Humphrey Appleby},
  title   = {On the Importance of the Civil Service},
  date    = {1980},
}
@book{bppleby,
  author  = {Humphrey Bppleby},
  title   = {On the Importance of the Civil Service},
  date    = {1981},
}
@book{cppleby,
  author  = {Humphrey Cppleby},
  editor  = {Humphrey Dppleby},
  title   = {On the Importance of the Civil Service},
  date    = {1982},
}
\end{filecontents}
\addbibresource{\jobname.bib}



\begin{document}
\cite{appleby,bppleby,cppleby}
\printbibliography
\end{document}

Re: Von book zu collection mit biber sourcemap

Verfasst: Fr 11. Sep 2020, 16:54
von discipulus

Ja, das ist sinnvoller, danke für den Hinweis.