Duplikat zu: Namensformat mit biblatex 3.3 Siehe dort für Lösungen.


Ich habe vor kurzem angefangen mit LaTeX zu arbeiten und dabei einen neuen Befehl für das Zitieren von Autoren mit einem Genitiv "s" eingebaut, die ich im Internet gefunden hatte. Nach dem Update auf biblatex 3.3 habe ich den neuen Befehl entsprechend der neuen Syntax für \DeclareNameFormat und \DeclareIndexNameFormat umgebaut, leider wird mir der Autoname nicht ausgegeben. Was muss ich beim neuen Befehl noch ändern, damit es funktioniert?

Open in Online-Editor
Beispiel: In consideration of the theories and concepts described in \cref{sec:bekeyconcepts}, \posscite[279]{Peltoniemi.2004} and \posscite[76]{Moore.1993} definitions
Ergebnis: In consideration of the theories and concepts described in section 2.1.2, and ’s (2004, p. 279) and ’s (1993, p. 76) definitions

Im obigen Beispiel sieht man, dass der Name des Autors nicht ausgegeben wird.

Der Code dazu:

Open in Online-Editor
\DeclareNameFormat{labelname:poss}{% Based on labelname from biblatex.def
  \ifcase\value{uniquename}%
    \usebibmacro{name:last}
        {\namepartfamily}
    {\namepartgiven}
    {\namepartprefix}
    {\namepartsuffix}%
  \or
    \ifuseprefix
      {\usebibmacro{name:first-last}
        {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefix}
    {\namepartsuffixi}}
      {\usebibmacro{name:first-last}
        {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefixi}
    {\namepartsuffixi}}%
  \or
    \usebibmacro{name:first-last}
        {\namepartfamily}
    {\namepartfamily}
    {\namepartprefix}
    {\namepartsuffix}%
  \fi
  \usebibmacro{name:andothers}%
  \ifnumequal{\value{listcount}}{\value{liststop}}{'s}{}}

\DeclareFieldFormat{shorthand:poss}{%
  \ifnameundef{labelname}{\namepartfamily's}{\namepartfamily}}

\DeclareFieldFormat{citetitle:poss}{\mkbibemph{\namepartfamily}'s}

\DeclareFieldFormat{label:poss}{\namepartfamily's}

\newrobustcmd*{\posscitealias}{%
  \AtNextCite{%
    \DeclareNameAlias{labelname}{labelname:poss}%
    \DeclareFieldAlias{shorthand}{shorthand:poss}%
    \DeclareFieldAlias{citetitle}{citetitle:poss}%
    \DeclareFieldAlias{label}{label:poss}}}

\newrobustcmd*{\posscite}{%
  \posscitealias%
  \textcite}

\newrobustcmd*{\Posscite}{\bibsentence\posscite}

\newrobustcmd*{\posscites}{%
  \posscitealias%
  \textcites}

gefragt 12 Apr '16, 10:05

marcstiller's gravatar image

marcstiller
111
Akzeptiert-Rate: 0%

bearbeitet 12 Apr '16, 21:05

cgnieder's gravatar image

cgnieder
22.1k243463

Wenn ich's richtig sehe, musst Du in \DeclareNameFormat noch \nameparts{#1} aufrufen, bevor \namepartgiven und Freunde mit Werten gefüllt sind.

(12 Apr '16, 10:47) cgnieder

Funktioniert wunderbar - danke dir Clemens!

(12 Apr '16, 10:50) marcstiller
2

Ich bin nicht sicher, aber mir scheint, dass diese Frage sozusagen ein Duplikat der von mir verlinkten ist. Wenn andere das auch so sehen, dann sollten wir diese hier schließen. Andernfalls werde ich eine Antwort posten.

(12 Apr '16, 13:59) cgnieder

@Clemens: Ich sehe das durchaus als Duplikat. Zwar ist der Ausgangspunkt nicht ganz identisch, aber die Antwort dort erklärt bereits deutlich, dass zuerst das Argument mit \nameparts verarbeitet werden muss. Damit ist hinreichend erklärt, was bei dem Beispiel aus der Frage hier falsch ist. Da die Frage dort außerdem genau darauf abzielt, wie es mit biblatex nach dem Update korrekt geht (also nicht einfach eine Fehlermeldung im Titel hat) wurde bei der Frage hier schlicht jene Frage nicht beachtet und ist damit für mich ein Duplikat. Kein Vorwurf an den Fragesteller nur meine Überlegungen.

(12 Apr '16, 14:08) saputello

@Clemens @saputello Wir können die Frage hier gerne schließen. Ich hatte den anderen Thread bereits gesehen und auch die Anpassungen, soweit es mir verständlich war, auf dem dortigen Inhalt basierend in meinem Code übernommen. Leider hatte ich dort den besagten Befehl übersehen - besser lesen hilft manchmal. Danke auf jeden Fall für die "doppelte" Hilfe!

(12 Apr '16, 14:15) marcstiller
Ergebnis 5 von 6 show 1 more comments

Die Frage wurde aus folgenden Grund "Duplikat einer anderen Frage" geschlossen cgnieder 12 Apr '16, 21:04

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

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×220
×25

gestellte Frage: 12 Apr '16, 10:05

Frage wurde gesehen: 3,481 Mal

zuletzt geändert: 12 Apr '16, 21:05