Biblatex \autocite 以防嵌套脚注

Biblatex \autocite 以防嵌套脚注

我和以下用户的情况相同: biblatex:在可能嵌套脚注的情况下增强 \autocite

我想\autocite在 中使用\footnote。这会导致引用被括在括号中。我想更改 的行为,以便打印不带括号的引用,\autocite就像\footnote简单调用 一样\cite

\autocite我怎样才能改变其中的行为\footnote

答案1

解决方案取决于引用样式。对于执行 的样式authortitleverbose以及它们各自的变体(以及) ,我们只需要重新定义底层宏,使其不会在脚注中添加括号(通过替换为)。biblatex-juradissautocite=footnote\smartcite\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}

在此处输入图片描述

authoryear对于默认执行的样式autocite=inline(使用\parencite),我们需要声明一个新的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}

在此处输入图片描述

相关内容