Änderungen am biblatex-mla8 \autocite*-Befehl

Änderungen am biblatex-mla8 \autocite*-Befehl

Für ein Projekt halte ich mich an die MLA-Regeln in der 8. Ausgabe für Zitate und habe ein Problem, das ich nicht lösen kann. Ich verwende biblatex-mla-new(ich glaube, es ist noch eine Betaversion?) von James Clawson, das wirklich gut ist, abgesehen von einigen kleinen Problemen, die ich habe.

Wenn ich den Namen eines Autors im geschriebenen Text verwende, muss ich nur Seitenzahlen in den Quellenangaben im Text angeben (in Klammern). Falls es mehr als einen Titel für einen Autor gibt, muss ich einen Titel hinzufügen – dies geschieht durch die Verwendung von \autocite*. Wenn ich den Namen des Autors im Text nicht erwähne, muss er ebenfalls in die Klammern, und zwar durch die Verwendung von \autocite(ohne Sternchen). Das funktioniert alles gut, solange der Eintrag einen Titel hat – aber nicht, wenn es keinen Titel gibt, was z. B. bei Einleitungen der Fall ist. Um den MLA-Regeln zu entsprechen, verwende ich das Feld titleaddon = {Introduction}, was zu einem richtigen Eintrag in der Bibliographie selbst führt, aber weder \autocitenoch \autocite*verwende ich es, daher fehlt dem Eintrag in den Klammern immer diese entscheidende Information. Ich habe es geschafft, das gewünschte Ergebnis für zu erzielen \autocite(vgl. mwe), aber ich habe keine Ahnung, wo ich nachsehen soll für \autocite*...

\documentclass{article}

\usepackage[british]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}
\usepackage{filecontents}

\usepackage[style=mla-new,nofullfootnote]{biblatex}

%--changes to lines 173-187 of mla-new.cbx
\renewbibmacro*{cite:mla:title:internal}{%
    \ifbool{cbx@named}{\setunit{\addcomma\addspace}}{}%
    \iffieldundef{title}%
    {\iffieldequalstr{entrytype}{review}%
        {\printtext[bibhyperref]%
            {\printtext{\bibcpstring{reviewof}%
                    \setunit{\addspace}%
                    \printfield{booktitle}}}}%
        {\printfield{titleaddon}}}% -->this line replaces lines 181-185 of mla8.cbx
    {\printtext[bibhyperref]{%
            \printfield[citetitle:\strfield{entrytype}]{labeltitle}}}}%

%!!!----!!!
%--the following changes to my mind improve a couple of things in biblatex-mla-new which I noticed while working with my bibliographic entries

%--title and/or subtitle of collections do not stand in if incollections don't have a title/subtitle of their own; instead, titleaddon is used (in case of, e.g., untitled introductions)

\renewbibmacro*{title}{%
    \ifboolexpr{
        test {\iffieldundef{title}}
        and
        test {\iffieldundef{subtitle}}
    }
    {}
    {\printtext[title]{%
            \printfield[titlecase]{title}%
            \setunit{\subtitlepunct}%
            \printfield[titlecase]{subtitle}}%
        \newunit}%
    \printfield{titleaddon}\addperiod\space}

%--to put the period at the end of the title within the inverted commas

\DeclareFieldFormat
[article,inbook,incollection,inproceedings,patent,thesis,unpublished]
{title}{\mkbibquote{#1\addperiod}}

%--changing the way dates are written (ordinal numbers become cardinal numbers in, e.g., dates of last access for websites)

\DefineBibliographyExtras{british}{%
    \protected\def\mkbibdatelong#1#2#3{%
        \iffieldundef{#3}
        {}
        {\stripzeros{\thefield{#3}}%
            \iffieldundef{#2}{}{\nobreakspace}}%
        \iffieldundef{#2}
        {}
        {\mkbibmonth{\thefield{#2}}%
            \iffieldundef{#1}{}{\space}}%
        \stripzeros{\thefield{#1}}}%
}

%--IMPORTANT!!! I also needed to make a change directly to mla-new.bbx, replace \newunit with \newblockpunct in line 398 (within \DeclareBibliographyDriver{book}; cf. entry for Jason Donald, which ends with a comma instead of with a period in the bibliography without the change - so far, I haven't noticed any unwanted behaviour and copying all the relevant lines into my preamble was rather too much). 

%!!!----!!!

\addbibresource{katrinbiblio.bib}

\begin{filecontents*}{katrinbiblio.bib}
@collection{Anker.2017,
    year = {2017},
    title = {New Directions in Law and Literature},
    publisher = {{Oxford UP}},
    editor = {Anker, Elizabeth S. and Meyler, Bernadette},
    location = {New York}
}
@incollection{Anker.2017b,
    author = {Anker, Elizabeth S. and Meyler, Bernadette},
    pages = {1--30},
    publisher = {{Oxford UP}},
    editor = {Anker, Elizabeth S. and Meyler, Bernadette},
    booktitle = {New Directions in Law and Literature},
    titleaddon = {Introduction},
    year = {2017},
    location = {New York}
}
@book{Donald.2018,
    author = {Donald, Jason},
    year = {2018},
    title = {Dalila},
    publisher = {Vintage},
    isbn = {1784702986},
    location = {London},
    abstract = {}
}
@article{Posner.1986,
    author = {Posner, Richard A.},
    year = {1986},
    title = {Law and Literature},
    pages = {1351--1392},
    volume = {72},
    journaltitle = {Virginia Law Review},
    subtitle = {A Relation Reargued},
    number = {8},
    shorttitle = {Relation Reargued}
}
@book{Posner.2009,
    author = {Posner, Richard A.},
    year = {2009},
    title = {Law and Literature},
    edition = {3},
    publisher = {{Harvard UP}},
    location = {Cambridge}
}
@incollection{Stern.2017,
    author = {Stern, Simon},
    title = {Legal and Literary Fictions},
    pages = {313--326},
    publisher = {{Oxford UP}},
    editor = {Anker, Elizabeth S. and Meyler, Bernadette},
    booktitle = {New Directions in Law and Literature},
    year = {2017},
    location = {New York}
}

\end{filecontents*}

\begin{document}

As Anker and Meyler state, the situation is diverse \autocite*[2]{Anker.2017b}. They go even further and present more diversity \autocite[3]{Anker.2017b}. Posner, on the other hand, is a real pessimist \autocite*[2]{Posner.2009}. He has been that all through his career \autocite[3]{Posner.1986}. Still, the others respect him \autocite[1]{Anker.2017b}.

\nocite{*}
\printbibliography

\end{document}

Die Änderungen dazwischen %!!!----!!!sind für mein Problem nicht relevant, verbessern aber meiner Meinung nach den neuen MLA-Stil. Ich habe sie für den Fall bereitgestellt, dass jemand auf der Suche nach einer Lösung auf diesen Thread stößt.

Gibt es da draußen jemanden, der mir helfen kann, Änderungen an \autocite* vorzunehmen, da ich anscheinend nicht finden kann, wo dieser Befehl festgelegt ist ...

Antwort1

Ich denke, Sie können bessere Ergebnisse erzielen, indem Sie @suppcollectionanstelle von @incollectionfür Einführungen verwenden

@suppcollection{Anker.2017b,
  author    = {Anker, Elizabeth S. and Meyler, Bernadette},
  pages     = {1--30},
  publisher = {Oxford UP},
  editor    = {Anker, Elizabeth S. and Meyler, Bernadette},
  booktitle = {New Directions in Law and Literature},
  title     = {Introduction},
  year      = {2017},
  location  = {New York},
}

Dann können Sie titleanstelle von verwenden titleaddon.

@suppcollectionist speziell für Einleitungen und Vorworte gedacht.

DerbiblatexDokumentationsagt auf S. 9-10

[ @suppbook] Ergänzendes Material in einem @book. Dieser Typ ist eng mit dem @inbookEintragstyp verwandt. Obwohl @inbooker in erster Linie für einen Teil eines Buches mit eigenem Titel gedacht ist (z. B. ein einzelner Aufsatz in einer Aufsatzsammlung desselben Autors), ist dieser Typ für Elemente wie Vorworte, Einleitungen, Vorworte, Nachworte usw. vorgesehen, die oft nur einen allgemeinen Titel haben. Stilrichtlinien können verlangen, dass solche Elemente anders als andere @inbookElemente formatiert werden.

[ @suppcollection] Zusätzliches Material in einem . Dieser Typ ist dem Eintragstyp @collectionähnlich, @suppbookaber mit ihm verwandt .@collection


Wenn das bei Ihnen nicht funktioniert, versuchen Sie

\renewbibmacro*{cite:mla:title:alone}{%
  \printtext[bibhyperref]{% suggested by StackExchange user Audrey
  \iffieldundef{labeltitle}
    {\printfield{titleaddon}}
    {\printfield[citetitle:\strfield{entrytype}]{labeltitle}}}%
  \ifthenelse{\iffieldequalstr{entrytype}{suppbook}\and\iffieldundef{title}}%
    {\printtext[bibhyperref]{%
      \printfield[mla:capital]{entrysubtype}}}%
    {}}

Dies druckt, titleaddonwenn nein labeltitlevorhanden ist.

verwandte Informationen