(作者,年份)在正文中,完整引文在脚注中

(作者,年份)在正文中,完整引文在脚注中

我的论文导师希望引用以下格式:

这是正文(作者,2018)1


  1. 盖伊作者,乳胶爱,2018 年。DOI:89453XXX:547

bib(la)tex/nat/jurabib/styles 的哪种组合可以实现这一点?

我只能找到这个相关问题:带有作者年份内嵌引用的脚注但脚注没有编号。当然,完整引用应该只在第一次出现时出现在脚注中。我可以手动插入所有脚注,但\bibentrynatbib 不起作用。

其他答案涉及宏页面以实现非常具体的需求,但它应该是“本地”可行的,对吧?此外,现在我在编译时只得到一个数字参考,即使我使用的是作者年份样式(https://i.stack.imgur.com/XeREq.jpg)。我尝试编译了几次,但无济于事。

欢迎一切帮助。

答案1

这似乎不是你的教授想要的,但可能足够接近

\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber, citetracker]{biblatex}

\addbibresource{biblatex-examples.bib}

\newbibmacro{fullcite}{%
  \usedriver
    {\DeclareNameAlias{sortname}{default}}
    {\thefield{entrytype}}}

\DeclareFieldFormat{footnote}{\mkbibfootnote{#1}}
\DeclareCiteCommand{\ffparencite}[\mkbibparens]
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \ifciteseen
     {}
     {\printtext[footnote]{\usebibmacro{fullcite}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareMultiCiteCommand{\ffparencites}[\mkbibparens]{\ffparencite}{\multicitedelim}

\DeclareAutoCiteCommand{inlineff}{\ffparencite}{\ffparencites}
\ExecuteBibliographyOptions{autocite=inlineff}

\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}

\begin{document}
\autocite{sigfridsson} and \autocite{sigfridsson}

\autocite{nussbaum,geer}

\printbibliography
\end{document}

代码会自动在第一次引用时添加带有完整参考资料的脚注。脚注位于括号内,以便为案例提供合理的输出\autocite{nussbaum,geer}

在此处输入图片描述

或者,

\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber, citetracker]{biblatex}

\addbibresource{biblatex-examples.bib}

\makeatletter
\newcommand*{\ffparenwrap}[1]{%
  \undef\blx@ffcite
  \mkbibparens{#1}%
  \ifundef\blx@ffcite
    {}
    {\footfullcite{\blx@ffcite}}%
}

\DeclareCiteCommand{\ffparencite}[\ffparenwrap]
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \ifciteseen
     {}
     {\ifundef\blx@ffcite
        {\xdef\blx@ffcite{\thefield{entrykey}}}
        {\xappto\blx@ffcite{,\thefield{entrykey}}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\makeatother

\DeclareMultiCiteCommand{\ffparencites}[\mkbibparens]{\ffparencite}{\multicitedelim}

\DeclareAutoCiteCommand{inlineff}{\ffparencite}{\ffparencites}
\ExecuteBibliographyOptions{autocite=inlineff}

\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}

\begin{document}
\autocite{sigfridsson} and \autocite{sigfridsson}

\autocite{nussbaum,geer}

\printbibliography
\end{document}

确保脚注位于圆括号之外。但为了实现这一点,它必须将多个引用强制合并到一个脚注中。

在此处输入图片描述

如果您将\makeatletter...\makeatother块更改为

\makeatletter
\newcommand*{\ffparenwrap}[1]{%
  \let\blx@ffcite\@empty
  \mkbibparens{#1}%
  \ifdefvoid\blx@ffcite
    {}
    {\forlistloop{\footfullcite}{\blx@ffcite}}%
}

\DeclareCiteCommand{\ffparencite}[\ffparenwrap]
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \ifciteseen
     {}
     {\listxadd\blx@ffcite{\thefield{entrykey}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\makeatother

每个引用都有一个脚注,但可能会产生脚注冲突。

答案2

LyX 2.3 让这一切变得轻而易举。只需在文档设置的“参考书目”选项卡中选择您的设置即可。

文档设置

要在作者和日期之间添加逗号,请使用Biblatex (natbib mode)

然后我手动添加了脚注,这给了我更多的灵活性。

欲了解如何在 LaTeX 中自动完成所有这些操作,请查看 meowe 的回答。

相关内容