Optionen für das Styling \fullcite

Optionen für das Styling \fullcite

Ich habe eine Liste von Biblatex-Elementen in einem Dokument, das zusätzlich einen Abschnitt mit Bibliografien enthält. In diesem Teil möchte ich einige Bibliografieelemente auflisten, \fullciteallerdings in einem anderen Stil als die Hauptbibliografie.

Ich kann die Anzahl der Autoren wie folgt ändern:

\begingroup
\defcounter{minnames}{2}
\fullcite{key}
\endgroup

Wie kann ich den Stil von weiter ändern \fullcite?

MWEB

\documentclass[en-US,de-DE]{article}

\usepackage[
  style=authoryear-ibid,
  maxnames=2,
  backend=biber,
  safeinputenc,
  isbn=false,
  doi=false,
  maxcitenames=2,
  urldate=iso8601,
  date=iso8601
]{biblatex}

\addbibresource{\jobname.bib}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{key,
  author = {Author, A.},
  year = {2001},
  title = {Title},
  publisher = {Publisher},
  pagetotal = {383},
  edition = {1},
  pages = {151--154},
  url = {http://www.google.com},
}
\end{filecontents}

\begin{document}
text1

\fullcite{key}

text2

\cite{key}

text3

\printbibliography[heading=bibintoc]

\end{document}

Ich möchte aus den aufgelisteten Artikeln \fullciteauch das Jahr und die URLs sowie alle Seitenzahlen und die Ausgabe der Bücher entfernen.

PDF-Rendering

Antwort1

Hierzu gibt es zwei Möglichkeiten: Sie können den \fullciteBefehl neu definieren, um die nicht gewünschten Felder zu löschen, oder Sie können, wie in den Kommentaren angegeben, \AtEverycitekeydasselbe mit tun.

Konzeptionell \fullcitescheint das Modifizieren die bessere Lösung zu sein, da das Verwenden \AtEveryCitekeyjedes Zitat modifiziert. Wenn Sie also Informationen aus dem entfernen möchten, \fullcitedie normalerweise im regulären enthalten sind, \citedannmussverwenden Sie diese Lösung.

Wenn Sie nur URL, Ausgabe und Seiten entfernen, \fullcitehat die Verwendung keine negativen Nebenwirkungen, \AtEveryCitekeyda nur der \fullciteZitatbefehl diese Felder jemals ausgeben würde. Wenn Sie jedoch auch das Jahr entfernen möchten (wie Sie in den Kommentaren erwähnen), \fullciteist die Änderung die einzige Möglichkeit, dies zu tun. Ich habe die \AtEveryCitekeyLösung aus diesem Grund aus dem Code entfernt, sie aber separat am Ende platziert.

Abhängig von der Art der Informationen, die Sie unterdrücken müssen, müssen Sie möglicherweise eines von \clearfield, \clearlistoder verwenden \clearname. Im Fall von publisher, oder locationist ihr Typ beispielsweise eine Liste, und Sie müssen \clearlistsie daher mit löschen. Abschnitt 2.2.2 der biblatexDokumentation beschreibt jedes Feld und seinen Datentyp.

\documentclass[en-US,de-DE]{article}

\usepackage[
  style=authoryear-ibid,
  maxnames=2,
  backend=biber,
  safeinputenc,
  isbn=false,
  doi=false,
  maxcitenames=2,
  urldate=iso8601,
  date=iso8601
]{biblatex}

\addbibresource{\jobname.bib}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{key,
  author = {Author, A.},
  year = {2001},
  title = {Title},
  publisher = {Publisher},
  pagetotal = {383},
  edition = {1},
  pages = {151--154},
  url = {http://www.google.com},
}
\end{filecontents}

\DeclareCiteCommand{\fullcite}
  {\usebibmacro{prenote}}
  {\clearfield{url}%
   \clearfield{pages}%
   \clearfield{pagetotal}%
   \clearfield{edition}%
   \clearfield{labelyear}%
   \usedriver
     {\DeclareNameAlias{sortname}{default}}
     {\thefield{entrytype}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\begin{document}
text1
\cite{key}

\fullcite{key}

text2

\cite{key}

text3

\printbibliography[heading=bibintoc]

\end{document}

Ausgabe des Codes

Verwenden von\AtEveryCitekey

Wie oben erwähnt, \AtEveryCitekeykann die Verwendung auch funktionieren, wenn es keine Überschneidung zwischen den Informationen gibt, die Sie in einem normalen Zitat benötigen, und den Informationen, die Sie im Zitat unterdrücken \fullcite. Hier ist der Code zur Verwendung dieser Methode:

\AtEveryCitekey{
\clearfield{url}
   \clearfield{pages}
   \clearfield{pagetotal}
   \clearfield{edition}
   \clearfield{labelyear}
}

verwandte Informationen