Mit dem Umstieg auf biblatex 3.3 funktioniert meine Namensdefintion nicht mehr. Wie kann ich diese auf die neue Version updaten?

Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
! Illegal parameter number in definition of \blx@defformat@d.
<to be read again>
4
l.6 {\usebibmacro{name:first-last}{#1}{#4
}{#5}{#7}}
? x
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Öffne in Overleaf
Code, hier editierbar zum Übersetzen:
\documentclass{article}
\usepackage[style=authoryear,backend=biber]{biblatex}
\DeclareNameFormat{last-first/first-last}{%
\ifnumequal{\value{listcount}}{\value{listtotal}}%% listtotal ist die Anzahl der Autoren
{\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:last-first}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
}%
\usebibmacro{name:andothers}
}
\begin{document}
\end{document}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

gefragt 10 Mär '16, 15:55

Johannes's gravatar image

Johannes
7.3k294566
Akzeptiert-Rate: 43%

bearbeitet 05 Sep '17, 08:29

saputello's gravatar image

saputello
11.1k174365

Die Frage ist zum Archivieren gedacht, kein Support benötigt. Antworten sind jedoch sehr willkommen! Evtl. antworte ich auch selbst.

(10 Mär '16, 15:56) Johannes

Bis Version 3.3 hatten \DeclareNameFormat und \DeclareIndexNameFormat folgende Syntax:

Open in Online-Editor
\DeclareNameFormat[<entrytype>,...]{<format>}{<code>}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Im <code>-Teil hatten dabei die Parameter 1 bis 8 folgende Bedeutung:

  • #1: Nachnamen (volle Form)
  • #2: Nachnamen (Initialen)
  • #3: Vornamen (volle Form, eingeschlossen zweiter und weiterer Namen)
  • #4: Vornamen (Initialen)
  • #5: Namenspräfixe (von, van, de, …, volle Form)
  • #6: Namenspräfixe (Initialen)
  • #7: Namenssuffixe (der Ältere, junior, …, volle Form)
  • #8: Namenssuffixe (Initialen)

Das hat sich mit Version 3.3 geändert. Nun kann in <code> nur noch ein Parameter verwendet werden. Das erklärt dann auch die Fehlermeldung ! Illegal parameter number: Parameter zwei bis acht gibt es nicht mehr. Der Parameter soll an den Befehl \nameparts{#1} weitergereicht werden. Dieser definiert eine Reihe von Hilfsbefehlen mit den entsprechenden Werten:

  • \namepartfamily: Nachnamen (volle Form)
  • \namepartfamilyi: Nachnamen (Initialen)
  • \namepartgiven: Vornamen (volle Form)
  • \namepartgiveni: Vornamen (Initialen)
  • \namepartprefix: Namenspräfixe (volle Form)
  • \namepartprefixi: Namenspräfixe (Initialen)
  • \namepartsuffix: Namenssuffixe (volle Form)
  • \namepartsuffixi: Namenssuffixe (Initialen)

Wenn ein bestimmter Namensteil nicht gegeben ist, ist das entsprechende Makro ohne Ersetzungstext definiert (es ist »leer«).

Diese Änderung hat aus Sicht der Entwickler den Vorteil, dass das Konzept nun einfach und beliebig erweitert werden kann, ohne die Beschränkung auf neun Parameter zu haben. Für Stil-Schreiber oder andere Anwender hat sie den Vorteil, dass man sich nicht mehr merken muss, welcher Parameter was bedeutet. Die Makronamen spiegeln das nun eindeutig wieder. Anderseits wird es nun etwas aufwendiger, auf leere Parameter zu testen: \ifblank{#3#5} kann man zum Beispiel nicht einfach durch \ifblank{\namepartgiven\namepartprefix} ersetzen – die Makros müssen erst expandiert werden.


Das Format aus dem Beispiel müsste dann wohl so aussehen (ungetestet):

Open in Online-Editor
Code, hier editierbar zum Übersetzen:
\DeclareNameFormat{last-first/first-last}{%
\nameparts{#1}%
\ifnumequal{\value{listcount}}{\value{listtotal}}%% listtotal ist die Anzahl der Autoren
{\iffirstinits
{%
\usebibmacro{name:first-last}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}%
}
{%
\usebibmacro{name:first-last}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
}
\ifboolexpr{
test {\ifcsblank{namepartgiven}} and
test {\ifcsblank{namepartprefix}}
}
{}
{\usebibmacro{name:revsdelim}}
}
{\iffirstinits
{%
\usebibmacro{name:last-first}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}%
}
{%
\usebibmacro{name:last-first}
{\namepartfamily}
{\namepartgiven}
{\namepartprefix}
{\namepartsuffix}%
}%
}%
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Permanenter link

beantwortet 14 Mär '16, 20:33

cgnieder's gravatar image

cgnieder
22.1k253463
Akzeptiert-Rate: 60%

bearbeitet 15 Mär '16, 20:02

1

Joseph Wright hat dazu einen Blogartikel geschrieben: http://www.texdev.net/2016/03/13/biblatex-a-new-syntax-for-declarenameformat/

(15 Mär '16, 09:11) cgnieder
(15 Mär '16, 10:47) cgnieder
Deine Antwort
[Vorschau ausblenden]

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Frage-Themen:

×223
×117
×8
×2

gestellte Frage: 10 Mär '16, 15:55

Frage wurde gesehen: 15,301 Mal

zuletzt geändert: 15 Mär '16, 20:02