Von book zu collection mit biber sourcemap

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Von book zu collection mit biber sourcemap

Re: Von book zu collection mit biber sourcemap

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

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

Re: Von book zu collection mit biber sourcemap

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

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

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

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

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

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.

Von book zu collection mit biber sourcemap

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

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?


Nach oben