Unknown pagination type

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


faultier
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 53
Registriert: Mi 30. Sep 2015, 18:23

Unknown pagination type

Beitrag von faultier »

Guten Morgen,

in meiner Bibdatei habe ich bei einem Datensatz als Pagination den Wert 'can' gesetzt.
@book{CIC2009,
	Address = {Kevelaer},
	Author = {{Johannes Paul II.} and Aymans, Winfried},
	Date-Modified = {2015-10-30 17:38:04 +0000},
	Edition = {5},
	Isbn = {9783766603210},
	Keywords = {Kanon},
	Options = {postnotedelim=\addspace},
	Publisher = {{Butzon {\&} Bercker}},
	Rating = {5},
	Read = {1},
	Pagination = {can},
	Shorthand = {CIC/1983},
	Shortitle = {Codex Iuris Canonici:1983},
	Title = {Codex Iuris Canonici: Codex des kanonischen Rechtes},
	Year = {2009}}
Diesen habe ich in meiner .lbx-Datei folgendermaßen deklariert:
\ProvidesFile{stil-theologie.lbx}
\DeclareBibliographyStrings{%
 can             = {{Canon}{c\adddot}},
 canones      = {{Canones}{cc\adddot}},
  }
 
In der gleichen Weise sind die anderen Strings in ngerman.lbx deklariert worden, ich habe mich daran als Vorgabe orientiert.

Wenn ich mein Dokument kompiliere, nutzt Latex die Standardvorgabe der Pagination "S." und bringt die Meldung
Package biblatex Warning: Unknown pagination type 'can'
(biblatex)                at entry 'CIC2009' on input line 13.
Zwischenzeitlich hatte ich noch probiert, zusätzlich in der lbx-Datei die Zeile "\NewBibliographyString{can}" einzutragen, aber auch das führte nicht zum Erfolg.

Viele Grüße
faultier

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Mach doch bitte ein Beispiel was man einfach so kompilieren kann.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Gast

Beitrag von Gast »

Der Name für den Plural deines pagination-Types muss - egal was sinnvoll wäre - der des Singular mit einem s am Ende sein, also
can (für Singular) und cans (für Plural).

Du müsstest eigentlich immer den string mit \NewBibliographyString bestellen, sonst würde ich böse Fehlermeldungen erwarten
\NewBibliographyString{can}
\NewBibliographyString{cans}
Hier mein MWE (ohne .lbx sondern mit \DefineBibliographyStrings), aber es funktioniert
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=authortitle,
            maxbibnames=999,
            backend=biber,
            sorting=nyt,
            abbreviate=false]{biblatex}


\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{CIC2009,
   Address = {Kevelaer},
   Author = {{Johannes Paul II.} and Aymans, Winfried},
   Date-Modified = {2015-10-30 17:38:04 +0000},
   Edition = {5},
   Isbn = {9783766603210},
   Keywords = {Kanon},
   Options = {postnotedelim=\addspace},
   Publisher = {{Butzon {\&} Bercker}},
   Rating = {5},
   Read = {1},
   Pagination = {can},
   Shorthand = {CIC/1983},
   Shortitle = {Codex Iuris Canonici:1983},
   Title = {Codex Iuris Canonici: Codex des kanonischen Rechtes},
   Year = {2009}}
\end{filecontents}
\addbibresource{\jobname.bib}

\NewBibliographyString{can}
\NewBibliographyString{cans}
\DefineBibliographyStrings{english}{%
 can             = {c\adddot},
 cans            = {cc\adddot},
}

\begin{document}
\cite[12]{CIC2009} und \cite[13-15]{CIC2009}
\printbibliography
\end{document}

faultier
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 53
Registriert: Mi 30. Sep 2015, 18:23

Beitrag von faultier »

Danke für das Minibeispiel. Da war ich etwas hilflos, weil ich nicht wusste, wie es aussehen muss.

Das Minibeispiel funktioniert bei mir. Auch wenn ich es in meiner .cbx oder .bbx Datei unterbringe. Wenn ich den Codeblock in meiner .lbx Datei unterbringe, kommt der gleiche Fehler wie gehabt.
Offensichtlich gibt es ein Problem mit der Einbindung der lbx Datei.

Gast

Beitrag von Gast »

Nein, in der .lbx-Datei werden Strings anders angegeben. Das kannst Du in der [d]biblatex[/d]-Doku nachlesen, Du brauchst etwas wie
\NewBibliographyString{can}
\NewBibliographyString{cans}

\DeclareBibliographyStrings{%
  inherit = {ngerman},
  can     = {{Canon}{c\adddot}},
  cans    = {{Canones}{cc\adddot}},
}
in der Datei. Wie sieht die .lbx denn jetzt aus?

faultier
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 53
Registriert: Mi 30. Sep 2015, 18:23

Beitrag von faultier »

Ich hatte sie noch einmal angepasst, die lbx-Datei enthält folgenden Code:
\ProvidesFile{stil-theologie.lbx}


\NewBibliographyString{can} 
\NewBibliographyString{cans} 

\DeclareBibliographyStrings{% 
  inherit = {ngerman}, 
  can     = {{Canon}{c\adddot}}, 
  cans    = {{Canones}{cc\adddot}}, 
}   
Die Einbindung der Stil-Dateien erfolgt bei mir über
\RequirePackage[backend=biber,style=stil-theologie]{biblatex}
Eigentlich sollte doch "style=..." nicht nur stil-theologie.bbx und stil-theologie.cbx einbinden, sondern ebenfalls die .lbx-Datei.

Gast

Beitrag von Gast »

Nein. Die .lbx bekommst Du nur mit \DeclareLanguageMapping, style hat damit gar nichts zu tun. Die Idee dahinter ist wohl, dass Stile und sprachspezifische Einstellungen nicht unbedingt einander entsprechen, das sind zwei verschiedene Ebenen (Du kannst ja den Stil authoryear auf deutsch oder englisch nutzen). Zumindest im Standard wäre es Quatsch für jeden Stil noch eine Sprachdatei mitzuliefern (denn die Stile sind obendrein mehrsprachig).

Du brauchst also
\DeclareLanguageMapping{ngerman}{ngerman-theo}
Der Inhalt Deiner .lbx reicht so auch nicht aus, um den Rest zu übernehmen, die .lbx wird nicht zusätzlich zu ngerman.lbx sondern stattdessen geladen, sollte also zumindest zu ngerman.lbx zurückfallen. Minimal brauchst Du also
\ProvidesFile{ngerman-theo.lbx}
  [2015/10/31 German localization with additions for theology]

\InheritBibliographyExtras{ngerman}

\NewBibliographyString{can}
\NewBibliographyString{cans}

\DeclareBibliographyStrings{%
  inherit = {ngerman},
  can     = {{Canon}{c\adddot}},
  cans    = {{Canones}{cc\adddot}},
}

\endinput

In einem MWE (das die Datei ngerman-theo.lbx überschreibt, falls sie vorhanden ist)
\documentclass[ngerman]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authortitle-dw,
            maxbibnames=999,
            backend=biber,
            sorting=nyt,
            abbreviate=true]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{CIC2009,
   Address = {Kevelaer},
   Author = {{Johannes Paul II.} and Aymans, Winfried},
   Date-Modified = {2015-10-30 17:38:04 +0000},
   Edition = {5},
   Isbn = {9783766603210},
   Keywords = {Kanon},
   Options = {postnotedelim=\addspace},
   Publisher = {{Butzon {\&} Bercker}},
   Rating = {5},
   Read = {1},
   Pagination = {can},
   Shorthand = {CIC/1983},
   Shortitle = {Codex Iuris Canonici:1983},
   Title = {Codex Iuris Canonici: Codex des kanonischen Rechtes},
   Year = {2009}}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{filecontents}{ngerman-theo.lbx}
\ProvidesFile{ngerman-theo.lbx}
  [2015/10/31 German localization with additions for theology]

\InheritBibliographyExtras{ngerman}

\NewBibliographyString{can}
\NewBibliographyString{cans}

\DeclareBibliographyStrings{%
  inherit = {ngerman},
  can     = {{Canon}{c\adddot}},
  cans    = {{Canones}{cc\adddot}},
}

\endinput
\end{filecontents}

\DeclareLanguageMapping{ngerman}{ngerman-theo}

\begin{document}
\cite[12]{CIC2009} und \cite[13-15]{CIC2009}
\printbibliography
\end{document}

faultier
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 53
Registriert: Mi 30. Sep 2015, 18:23

Beitrag von faultier »

Vielen Dank für die Erklärung der dahinterstehenden Logik. Dann macht es für meinen Bedarfsfall wahrscheinlich mehr Sinn, mit dem DefineBibliographyString-Befehl zu arbeiten und die beiden Definitionen mit in der .bbx Datei unterzubringen.

Gast

Beitrag von Gast »

Naja, das bleibt Dir überlassen.

Es gibt Stile, die eigene .lbx-Dateien definieren.
biblatex-apa verlangt vom Nutzer, die .lbx selbst zu laden (was viele, die die Dokumentation nicht lesen, dann vor Probleme Stellt, da sie Fehlermeldungen bekommen, wenn sie die \DeclareLanguageMapping vergessen), biblatex-philsophy und biblatex-chicago laden sie automatisch im Hintergrund.

Ein paar Stile der biblatex-chem-Familie und ein paar andere nutzen aber auch \DefineBibliographyStrings in der .bbx.

Der Nachteil von \DefineBibliographyStrings ist, dass dort nur eine Form des bibstrings angegeben werden kann und nicht eine Kurz- und eine Langform wie in der .lbx.

Antworten