Ich bin in der gleichen Situation wie der folgende Benutzer: biblatex: Verbesserung von \autocite im Falle verschachtelter Fußnoten
\autocite
Ich möchte innerhalb von verwenden . Dies führt dazu, dass das Zitat in Klammern eingeschlossen wird. Ich möchte das Verhalten von „used within“ \footnote
ändern, um das Zitat ohne Klammern auszudrucken, wie es ein einfacher Aufruf von tun würde.\autocite
\footnote
\cite
Wie kann ich das Verhalten \autocite
innerhalb ändern \footnote
?
Antwort1
Die Lösung hängt vom Zitierstil ab. Für Stile wie authortitle
und verbose
ihre jeweiligen Varianten (und auch für biblatex-juradiss
), die ausführen autocite=footnote
, müssen wir nur das zugrunde liegende \smartcite
Makro neu definieren, sodass es in Fußnoten keine Klammern einfügt (indem wir es durch ersetzen \mkbibparens
) \textnormal
.
\documentclass{article}
\usepackage[style=authortitle]{biblatex}
\DeclareCiteCommand{\smartcite}[\iffootnote\textnormal\mkbibfootnote]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareMultiCiteCommand{\smartcites}
[\iffootnote\textnormal\mkbibfootnote]{\smartcite}{\multicitedelim}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\null\vfill% just for the example
Some text \autocite{A01}.
Some text.\footnote{A footnote \autocite{A01}.}
\printbibliography
\end{document}
Für Stile wie authoryear
„execute“ autocite=inline
(das verwendet ) müssen wir einen neuen Optionswert (sagen wir ) \parencite
deklarieren, der auf ein neues zugrunde liegendes Makro (sagen wir ) verweist, das das gewünschte Ergebnis liefert (fügen Sie im normalen Text Klammern hinzu, nicht in Fußnoten).autocite
inlineplainfootnote
\mysmartcite
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\DeclareAutoCiteCommand{inlineplainfootnote}{\mysmartcite}{\mysmartcites}
\DeclareCiteCommand{\mysmartcite}[\iffootnote\textnormal\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\usebibmacro{cite}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareMultiCiteCommand{\mysmartcites}
[\iffootnote\textnormal\mkbibparens]{\mysmartcite}{\multicitedelim}
\ExecuteBibliographyOptions{autocite=inlineplainfootnote}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,
author = {Author, A.},
year = {2001},
title = {Alpha},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\null\vfill% just for the example
Some text \autocite{A01}.
Some text.\footnote{A footnote \autocite{A01}.}
\printbibliography
\end{document}