Mit dem Umstieg auf Öffne in Overleaf
! 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 Öffne in Overleaf
\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} |
Bis Version 3.3 hatten Open in Online-Editor
\DeclareNameFormat[<entrytype>,...]{<format>}{<code>} Im
Das hat sich mit Version 3.3 geändert. Nun kann in
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: Das Format aus dem Beispiel müsste dann wohl so aussehen (ungetestet): Open in Online-Editor
\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}% }% }% \usebibmacro{name:andothers} } beantwortet 14 Mär '16, 20:33 cgnieder 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
Siehe auch hier: http://tex.stackexchange.com/questions/299036/
(15 Mär '16, 10:47)
cgnieder
|
Die Frage ist zum Archivieren gedacht, kein Support benötigt. Antworten sind jedoch sehr willkommen! Evtl. antworte ich auch selbst.