Wie zitiere ich sowohl Autor als auch Jahr in Biblatex-MLA?

Wie zitiere ich sowohl Autor als auch Jahr in Biblatex-MLA?

Ich frage mich, ob es eine effiziente Möglichkeit gibt, sowohl den Autor als auch das Jahr anzugeben, ähnlich wie bei biblatex's, \textcitealso Autor (Jahr), wenn Sie verwenden biblatex-mla. Im Moment verwende ich eine ziemlich ineffiziente Methode:

\begin{filecontents*}{test.bib}
    title     = {{Seinte Katerine}},
    editor  = {S.R.T.O. d'Ardenne and E.J. Dobson},
    year      = {1981},
    publisher = {Oxford University Press},
    address   = {Oxford}
\end{filecontents*}

\documentclass{article}
\usepackage[style=mla,backend=bibtex8]{biblatex}
\bibliography{test}

\begin{document}
    According to \citeauthor{katherine} (\citeyear{katherine})...
\end{document}

Wenn jemand weiß, wie man dies effizienter machen kann, wäre ich für Vorschläge sehr dankbar.

Antwort1

Ein kurzer Blick auf die biblatex-mlaDokumentation lässt darauf schließen, dass diese Art der Autor-Jahr-Referenz kein Standard istZitatBefehl, soweit es die MLA-Richtlinien zulassen, daher nehme ich an, dass dies der Grund ist, warum ein solcher Befehl nicht vorgesehen ist.

Sie können Ihren eigenen Befehl erstellen mit:

\newcommand\citeauthyear[1]{\citeauthor{#1} (\citeyear{#1})}

Dies hat mindestens einen Nachteil: Standardmäßig funktioniert es nicht mit hyperref– was aber vielleicht keine große Sache ist. Es wird auch nicht vom MLA ibid-Tracker „verfolgt“ – ich bin mir nicht sicher, ob das gut oder schlecht ist. Sie müssen entscheiden, was die Ausgabe dieser Sequenz tun soll:

\citeauthyear{<key1>} wrote about this \autocite{<key1>}

Ich denke, es hängt davon ab, wie Sie diesen Befehl verwenden. Meine vage Erinnerung an die MLA-Regeln (aus meiner Studienzeit vor vielen Jahren) ist, dass MLA erwartet, dass Sie Ihr Zitat in etwa so einklammern: name ... <ideas from "name"> ... (page). Wenn das so ist, ist die Nachverfolgung wahrscheinlich eine gute Sache.

Eine andere Lösung besteht darin, Ihren eigenen, konventionelleren Befehl über zu erstellen \DeclareCiteCommand. Hier ist ein ziemlich einfacher Befehl:

\DeclareCiteCommand{\aycite}
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
    \usebibmacro{cite:mla:authyear}}%
  {}%
  {\usebibmacro{postnote}\citereset}

\newbibmacro*{cite:mla:authyear}%
  {\printtext[bibhyperref]{%
      \printnames{labelname}\space
      \printtext[parens]{\printdate}}}

Hier funktioniert standardmäßig hyperrefund der Befehl wird nicht verfolgt. Sie können die Verfolgung ändern, indem Sie \citeresetin der \ayciteDefinition das entfernen.

Hier ist ein vollständiges Beispiel:

\begin{filecontents*}{\jobname.bib}
@book{katherine,
    title     = {{Seinte Katerine}},
    editor  = {S.R.T.O. d'Ardenne and E.J. Dobson},
    year      = {1981},
    publisher = {Oxford University Press},
    address   = {Oxford}
}
\end{filecontents*}

\documentclass{article}
\usepackage[style=mla,backend=bibtex8]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{xcolor}
\usepackage[colorlinks, allcolors=red]{hyperref}

\DeclareCiteCommand{\aycite}
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
    \usebibmacro{cite:mla:authyear}}%
  {}%
  {\usebibmacro{postnote}\citereset}

\newbibmacro*{cite:mla:authyear}%
  {\printtext[bibhyperref]{%
      \printnames{labelname}\space
      \printtext[parens]{\printdate}}}

% This version does not get "tracked" by `biblatex-mla`
\newcommand\citeauthyear[1]{\citeauthor{#1} (\citeyear{#1})}

\begin{document}
\parindent0pt

% Baseline citation
\autocite[100]{katherine} \citereset


% These two paragraphs are equivalent
According to \citeauthor{katherine} (\citeyear{katherine}); \ldots
\autocite[100]{katherine} \citereset

According to \citeauthyear{katherine}; \ldots
\autocite[100]{katherine} \citereset


% These two commands paragraphs produce identical results; if you'd
% rather get the \aycite command tracked, take out the \citereset
% commands in the \aycite definition
According to \aycite{katherine}; \ldots
\autocite[100]{katherine}
\citereset

According to \aycite{katherine}; \ldots
\citereset% <-- this is the difference between this paragraph and the one above
\autocite[100]{katherine}

\printbibliography
\end{document}

verwandte Informationen