biblatex,authoryear-icomp:在脚注中用括号括住年份

biblatex,authoryear-icomp:在脚注中用括号括住年份

我使用biblatexcite-styleauthoryear作为脚注,结果是

Chang 等人2005,页1116.

学院指导方针要求

Chang 等人(2005),页1116.

尽管。

为了实现这一点,需要修改哪些文件?到目前为止,我只能找到有关内联引用或参考书目的问题。

我的biblatex选择是:

\usepackage[bibstyle=authoryear, autocite=footnote, dashed=false, firstinits=true,
    citestyle=authoryear-icomp]{biblatex}
\let\cite\autocite

然后我通过 引用~\cite[1116]{chang05x}

答案1

您可以定义\foottextcite基于\textcite(即,带有括号)的宏。

编辑:示例现在使用style=authoryear-icomp

编辑2:添加了autocite=foottext映射\autocite到新选项的代码\foottextcite

\documentclass{article}

\usepackage[style=authoryear-icomp]{biblatex}

% The following is based on \textcite
\DeclareCiteCommand{\foottextcite}[\mkbibfootnote]% [\mkbibfootnote] added
  {\usebibmacro{cite:init}}
  {\usebibmacro{citeindex}%
   \usebibmacro{textcite}}
  {}
  {\usebibmacro{textcite:postnote}}

\DeclareMultiCiteCommand{\foottextcites}[\mkbibfootnote]{\foottextcite}{\multicitedelim}
\DeclareAutoCiteCommand{foottext}[l]{\foottextcite}{\foottextcites}
\ExecuteBibliographyOptions{autocite=foottext}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\textheight=120pt% only for the example

\begin{document}

Some text \autocite{A01,B02}.

\printbibliography

\end{document}

enter image description here

编辑 3:为了完整起见,这里是\foottextcite适合的定义authoryear

% The following is based on \textcite
\DeclareCiteCommand{\foottextcite}[\mkbibfootnote]% [\mkbibfootnote] added
  {\boolfalse{cbx:parens}}
  {\usebibmacro{citeindex}%
   \usebibmacro{textcite}}
  {\ifbool{cbx:parens}
     {\bibcloseparen\global\boolfalse{cbx:parens}}
     {}%
   \multicitedelim}
  {\usebibmacro{textcite:postnote}}

答案2

您可以\textcite在文本引用中使用带括号的 for。如果这是您的首选引用,那么您可以将其设置为\cite命令的默认行为,如下所示:

\let\cite\textcite

相关内容