使用 biblatex 定制 autocite

使用 biblatex 定制 autocite

使用 时,我得到了一些意外的输出biblatex。在接下来的 MWE 中,我希望使用\footcites和得到相同的结果\autocites

\documentclass{article}
\usepackage[autocite=footnote]{biblatex}
\DeclareCiteCommand{\footcite}[\mkbibfootnote]{A}{B}{\multicitedelim}{}
\DeclareMultiCiteCommand{\footcites}[\mkbibfootnote]{\footcite}{\multicitedelim}
\DeclareAutoCiteCommand{footnote}{\footcite}{\footcites}
\bibliography{biblatex-examples.bib}
\begin{document}
\footcite{aksin}
\autocite{aksin}
\footcites{aksin}{aksin}
\autocites{aksin}{aksin}
\end{document}

如果我添加\letcs\autocites{blx@macite@footnote}然后\footcites得到\autocites相同的输出。我感觉我错过了一些关于autocite工作原理的东西。

此外,如果我将biblatex包选项更改为autocite=myfootnote并使用,\DeclareAutoCiteCommand{myfootnote}{\footcite}{\footcites}则会出现错误。我做错了什么?

答案1

稍微扩大一点...

这是预期的输出吗?

自动引用=myfootnote

如果是这样,我认为您只需将相关命令放在配置文件中,而不是将它们包含在序言中:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{biblatex.cfg}% include commands which biblatex expects to find in e.g. .cbx files here and put the file somewhere tex will find it
    \ProvidesFile{biblatex.cfg}
    \DeclareCiteCommand{\footcite}[\mkbibfootnote]{A}{B}{\multicitedelim}{}
    \DeclareMultiCiteCommand{\footcites}[\mkbibfootnote]{\footcite}{\multicitedelim}
    \DeclareAutoCiteCommand{myfootnote}{\footcite}{\footcites}
    \endinput
\end{filecontents}

\usepackage[autocite=myfootnote]{biblatex}
\bibliography{biblatex-examples.bib}
\begin{document}
\footcite{aksin}
\autocite{aksin}
\footcites{aksin}{aksin}
\autocites{aksin}{aksin}
\end{document}

相关内容