
InWie erstelle ich einen \citejournal-, \citebooktitle-, \cite…-Befehl in Biblatex?Gonzalo Medina und Audrey haben Code bereitgestellt, der \citeauthor{}
beispielsweise so funktioniert, dass beim Einfügen in Ihr Dokument nur der Titel eines Buches oder einer Zeitschrift erstellt wird ... Dieses Problem tritt \citeauthor
auch bei dem Befehl auf.
InAutomatischVgl.& automatische Zitateinrückung (abhängig von der Zitatlänge)lockstep erstellt einen Zitatbefehl auf der Grundlage früherer Beiträge von lockstep und Martin Scharrer, der
Sobald die Ausgabe eine bestimmte Zeilenanzahl überschreitet (vorzugsweise 3), wird ein Einzug vorgenommen.
Das Zitat wird automatisch ohne „Vgl.“ gesetzt – unabhängig davon, ob es sich um die Kurz- oder Langform handelt.
Handelt es sich bei der Ausgabe um eine Paraphrase oder Zusammenfassung (mit anderen Worten: bei der Ausgabe um kein Zitat), wird dies mit der Vornote „Vgl“ gesetzt.
Es funktioniert in Biblatex.
Der Hauptzweck besteht in der Automatisierung sowohl dervgl.(engl. vergleiche) und die Zeileneinrückung.
Das Problem:Leider, wenn Sie beide Codes kombinieren, die Vornotevgl.wird jedem Befehl usw. in der Ausgabe vorangestellt \citeauthor
. \citetitle
Sie erhaltenvgl. AutoranstattAutor. Gibt es jemanden, der dieses Problem global beheben könnte?
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[style=authoryear,autocite=footnote,backend=bibtex]{biblatex} % Here, Philip added "autocite=footnote,backend=bibtex"
%-------------------
\NewBibliographyString{compare}
\DefineBibliographyStrings{ngerman}{%
compare = {vgl\adddot},
}
\newbool{withintextquote}
\renewbibmacro*{multiprenote}{%
\renewbibmacro*{prenote}{%
\iffieldundef{prenote}
{}
{\printfield{prenote}%
\setunit{\prenotedelim}}}%
\iffieldundef{multiprenote}{%
\ifbool{withintextquote}{%
}{%
\bibstring{compare}\addspace
}%
}
{\printfield{multiprenote}%
\setunit{\prenotedelim}}}
\renewbibmacro*{prenote}{%
\iffieldundef{prenote}{%
\ifbool{withintextquote}{%
}{%
\bibstring{compare}\addspace
}%
}
{\printfield{prenote}%
\setunit{\prenotedelim}}}
\makeatletter
\newcommand{\cquotation}[1]{%
\begingroup
\booltrue{withintextquote}%
% \settowidth doesn't like paragraphs
\setbox\@tempboxa\hbox{%
\def\par{\hspace{3\linewidth}}% If a paragraph is included force long form
%\let\par\space % Ignore paragraphs
\let\footnote\@empty% make sure autocite does not do anything here; this is new
\let\autocite\@empty
#1}%
\ifdim\wd\@tempboxa>3\linewidth
\begin{quote}
\itshape
#1
\end{quote}
\else
{\itshape #1}%
\fi
\endgroup}
\makeatother
%-------------------
\DeclareCiteCommand{\citejournal}
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{journal}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citebooktitle}
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{booktitle}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citeintitle}% Based on \citetitle from biblatex.def
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexfield{indextitle}}
{}%
\iffieldundef{journaltitle}
{\iffieldundef{booktitle}
{\iffieldundef{maintitle}
{\printfield[citetitle]{labeltitle}}% Behave like \citetitle if no "main" title
{\printtext[maintitle]{\printfield[titlecase]{maintitle}}}}
{\printtext[booktitle]{\printfield[titlecase]{booktitle}}}}
{\printtext[journaltitle]{\printfield[titlecase]{journaltitle}}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Article{yoon,
author = {Yoon, Myeong S. and Ryu, Dowook and Kim, Jeongryul and Ahn, Kyo Han},
title = {Palladium pincer complexes with reduced bond angle strain: efficient catalysts
for the Heck reaction},
journaltitle = {Organometallics},
volume = {25},
number = {10},
date = {2006},
pages = {2409--2411}}
@InProceedings{salam,
author = {Salam, Abdus},
editor = {Svartholm, Nils},
title = {Weak and Electromagnetic Interactions},
booktitle = {Elementary Particle Theory},
booksubtitle = {Relativistic Groups and Analyticity},
booktitleaddon = {Proceedings of the Eighth Nobel Symposium},
eventdate = {1968-05-19/1968-05-25},
venue = {Aspen{\"a}sgarden, Lerum},
publisher = {Almquist \& Wiksell},
location = {Stockholm},
date = {1968},
pages = {367--377}}
@InProceedings{moraux,
author = {Moraux, Paul},
editor = {Lloyd, G. E. R. and Owen, G. E. L.},
title = {Le \emph{De Anima} dans la tradition gr{\`e}cque},
subtitle = {Quelques aspects de l'interpretation du trait{\'e}, de Theophraste {\`a}
Themistius},
shorttitle = {\emph{De Anima} dans la tradition gr{\`e}cque},
booktitle = {Aristotle on Mind and the Senses},
booktitleaddon = {Proceedings of the Seventh Symposium Aristotelicum},
eventdate = {1975},
publisher = cup,
location = {Cambridge},
date = {1979},
pages = {281--324}}
@InCollection{pines,
author = {Pines, Shlomo},
editor = {Twersky, Isadore},
indextitle = {Limitations of Human Knowledge According to Al-Farabi, ibn Bajja, and
Maimonides, The},
title = {The Limitations of Human Knowledge According to Al-Farabi, ibn Bajja, and
Maimonides},
shorttitle = {Limitations of Human Knowledge},
booktitle = {Studies in Medieval Jewish History and Literature},
publisher = hup,
location = {Cambridge, Mass.},
date = {1979},
pages = {82--109}}
\end{filecontents}
\begin{document}
This is a paraphrase \autocites{yoon}{yoon} % Added by Philip
This is a paraphrase \autocites{yoon}{yoon} % Added by Philip
\cquotation{This is a short direct quotation. \autocite{yoon}}
\cquotation{This is a long direct quotation. This is a long direct
quotation. This is a long direct quotation. This is a long direct
quotation. This is a long direct quotation. This is a long direct
quotation. This is a long direct quotation. This is a long direct
quotation.\autocite{yoon}}
This is a paraphrase \autocite{yoon}
This is a paraphrase with prenote \autocite[siehe hierzu auch][]{yoon}
This is a paraphrase \autocite{yoon}
This is a paraphrase \autocite{yoon}
This is a paraphrase \autocites{yoon}{yoon} % Added by Philip
This is a paraphrase \autocites{yoon}{yoon} % Added by Philip
\cquotation{This is a short direct quotation. \autocite{yoon}}
This is a paraphrase \autocite{yoon}
\noindent
\citeintitle{yoon} versus \citejournal{yoon} \\\\
\citeintitle{salam} versus \citebooktitle{salam} \\\\
\citeintitle{moraux} versus \citebooktitle{moraux} \\\\
\citeintitle{pines} versus \citebooktitle{pines}
\printbibliography
\end{document}
Anmerkung 1: Dievgl.Der hier verwendete Code wurde von moewe auf Basis der Version von Lockstep leicht verfeinert. Er vermeidet seltsame Nummerierungen und eine unerwünschte Ausgabe der Vornotevgl.in autocite=footnote
der Einstellung in Biblatex (der LinkBiblatex: Probleme mitvgl.und Nummerierung im dynamischen Zitatbefehl).
Hinweis 2: Das \citeauthor{}
Problem könnte behoben werden, indem der Befehl durch ersetzt wird \citeauthor[\unspace][]{}
. Da dies die Lesbarkeit beeinträchtigt, wäre eine globale Lösung vorzuziehen. Möglicherweise kann jedoch eine globale Lösung darauf aufbauen.
Antwort1
Sie könnten ein neues definieren \newbibmacro*{simp:prenote}
, das niemals "vgl"/Vergleichsmaterial druckt
\newbibmacro*{simp:prenote}{%
\iffieldundef{prenote}
{}
{\printfield{prenote}%
\setunit{\prenotedelim}}}
(Dies ist übrigens die Standarddefinition von bibmacro{prenote}
in biblatex.def
.)
Wir verwenden dann dieses einfache Bib-Makro in allen \citetitle
/ \citeauthor
und Freunden Makros
Wir müssen den Standard \citeauthor
/ \citetitle
die zu verwendenden Makros neu definierensimp:prenote
\DeclareCiteCommand{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames[][1-1]{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\ifciteindex
{\indexfield{indextitle}}
{}%
\printfield[citetitle]{labeltitle}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\ifciteindex
{\indexfield{indextitle}}
{}%
\printfield[citetitle]{title}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citeyear}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\printfield{year}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citeyear}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\printfield{year}\printfield{extrayear}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citedate}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\printdate}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citedate}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\printdateextra}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citeurl}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\printfield[citeurl]{url}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\notecite}
{\printfield{simp:prenote}%
\setunit*{\prenotedelim}}
{\nocite{\thefield{entrykey}}}
{}
{\printfield{postnote}}
\DeclareCiteCommand{\citejournal}
{\usebibmacro{simp:prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{journal}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citebooktitle}
{\usebibmacro{simp:prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{booktitle}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citeintitle}% Based on \citetitle from biblatex.def
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\ifciteindex
{\indexfield{indextitle}}
{}%
\iffieldundef{journaltitle}
{\iffieldundef{booktitle}
{\iffieldundef{maintitle}
{\printfield[citetitle]{labeltitle}}% Behave like \citetitle if no "main" title
{\printtext[maintitle]{\printfield[titlecase]{maintitle}}}}
{\printtext[booktitle]{\printfield[titlecase]{booktitle}}}}
{\printtext[journaltitle]{\printfield[titlecase]{journaltitle}}}}
{\multicitedelim}
{\usebibmacro{postnote}}
Das ist ziemlich viel Code, aber ziemlich unkompliziert.
MWE
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[style=authoryear,autocite=footnote,backend=bibtex]{biblatex} % Here, Philip added "autocite=footnote,backend=bibtex"
%-------------------
\NewBibliographyString{compare}
\DefineBibliographyStrings{ngerman}{%
compare = {vgl\adddot},
}
\newbool{withintextquote}
\renewbibmacro*{multiprenote}{%
\renewbibmacro*{prenote}{%
\iffieldundef{prenote}
{}
{\printfield{prenote}%
\setunit{\prenotedelim}}}%
\iffieldundef{multiprenote}{%
\ifbool{withintextquote}{%
}{%
\bibstring{compare}\addspace
}%
}
{\printfield{multiprenote}%
\setunit{\prenotedelim}}}
\renewbibmacro*{prenote}{%
\iffieldundef{prenote}{%
\ifbool{withintextquote}{%
}{%
\bibstring{compare}\addspace
}%
}
{\printfield{prenote}%
\setunit{\prenotedelim}}}
\newbibmacro*{simp:prenote}{%
\iffieldundef{prenote}
{}
{\printfield{prenote}%
\setunit{\prenotedelim}}}
\makeatletter
\newcommand{\cquotation}[1]{%
\begingroup
\booltrue{withintextquote}%
% \settowidth doesn't like paragraphs
\setbox\@tempboxa\hbox{%
\def\par{\hspace{3\linewidth}}% If a paragraph is included force long form
%\let\par\space % Ignore paragraphs
\let\footnote\@empty% make sure autocite does not do anything here; this is new
\let\autocite\@empty
#1}%
\ifdim\wd\@tempboxa>3\linewidth
\begin{quote}
\itshape
#1
\end{quote}
\else
{\itshape #1}%
\fi
\endgroup}
\makeatother
%-------------------
\DeclareCiteCommand{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames[][1-1]{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\ifciteindex
{\indexfield{indextitle}}
{}%
\printfield[citetitle]{labeltitle}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citetitle}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\ifciteindex
{\indexfield{indextitle}}
{}%
\printfield[citetitle]{title}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citeyear}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\printfield{year}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citeyear}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\printfield{year}\printfield{extrayear}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citedate}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\printdate}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand*{\citedate}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\printdateextra}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citeurl}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\printfield[citeurl]{url}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\notecite}
{\printfield{simp:prenote}%
\setunit*{\prenotedelim}}
{\nocite{\thefield{entrykey}}}
{}
{\printfield{postnote}}
\DeclareCiteCommand{\citejournal}
{\usebibmacro{simp:prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{journal}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citebooktitle}
{\usebibmacro{simp:prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{booktitle}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\citeintitle}% Based on \citetitle from biblatex.def
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{simp:prenote}}
{\ifciteindex
{\indexfield{indextitle}}
{}%
\iffieldundef{journaltitle}
{\iffieldundef{booktitle}
{\iffieldundef{maintitle}
{\printfield[citetitle]{labeltitle}}% Behave like \citetitle if no "main" title
{\printtext[maintitle]{\printfield[titlecase]{maintitle}}}}
{\printtext[booktitle]{\printfield[titlecase]{booktitle}}}}
{\printtext[journaltitle]{\printfield[titlecase]{journaltitle}}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Article{yoon,
author = {Yoon, Myeong S. and Ryu, Dowook and Kim, Jeongryul and Ahn, Kyo Han},
title = {Palladium pincer complexes with reduced bond angle strain: efficient catalysts
for the Heck reaction},
journaltitle = {Organometallics},
volume = {25},
number = {10},
date = {2006},
pages = {2409--2411}}
@InProceedings{salam,
author = {Salam, Abdus},
editor = {Svartholm, Nils},
title = {Weak and Electromagnetic Interactions},
booktitle = {Elementary Particle Theory},
booksubtitle = {Relativistic Groups and Analyticity},
booktitleaddon = {Proceedings of the Eighth Nobel Symposium},
eventdate = {1968-05-19/1968-05-25},
venue = {Aspen{\"a}sgarden, Lerum},
publisher = {Almquist \& Wiksell},
location = {Stockholm},
date = {1968},
pages = {367--377}}
@InProceedings{moraux,
author = {Moraux, Paul},
editor = {Lloyd, G. E. R. and Owen, G. E. L.},
title = {Le \emph{De Anima} dans la tradition gr{\`e}cque},
subtitle = {Quelques aspects de l'interpretation du trait{\'e}, de Theophraste {\`a}
Themistius},
shorttitle = {\emph{De Anima} dans la tradition gr{\`e}cque},
booktitle = {Aristotle on Mind and the Senses},
booktitleaddon = {Proceedings of the Seventh Symposium Aristotelicum},
eventdate = {1975},
publisher = cup,
location = {Cambridge},
date = {1979},
pages = {281--324}}
@InCollection{pines,
author = {Pines, Shlomo},
editor = {Twersky, Isadore},
indextitle = {Limitations of Human Knowledge According to Al-Farabi, ibn Bajja, and
Maimonides, The},
title = {The Limitations of Human Knowledge According to Al-Farabi, ibn Bajja, and
Maimonides},
shorttitle = {Limitations of Human Knowledge},
booktitle = {Studies in Medieval Jewish History and Literature},
publisher = hup,
location = {Cambridge, Mass.},
date = {1979},
pages = {82--109}}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
This is a paraphrase \autocites{yoon}{yoon} % Added by Philip
This is a paraphrase \autocites{yoon}{yoon} % Added by Philip
\cquotation{This is a short direct quotation. \autocite{yoon}}
\cquotation{This is a long direct quotation. This is a long direct
quotation. This is a long direct quotation. This is a long direct
quotation. This is a long direct quotation. This is a long direct
quotation. This is a long direct quotation. This is a long direct
quotation.\autocite{yoon}}
This is a paraphrase \autocite{yoon}
This is a paraphrase with prenote \autocite[siehe hierzu auch][]{yoon}
This is a paraphrase \autocite{yoon}
This is a paraphrase \autocite{yoon}
This is a paraphrase \autocites{yoon}{yoon} % Added by Philip
This is a paraphrase \autocites{yoon}{yoon} % Added by Philip
\cquotation{This is a short direct quotation. \autocite{yoon}}
This is a paraphrase \autocite{yoon}
\noindent
\citeauthor{yoon} versus \citetitle{yoon} \\\\
\citeintitle{yoon} versus \citejournal{yoon} \\\\
\citeintitle{salam} versus \citebooktitle{salam} \\\\
\citeintitle{moraux} versus \citebooktitle{moraux} \\\\
\citeintitle{pines} versus \citebooktitle{pines}
\printbibliography
\end{document}