我的论文导师希望引用以下格式:
这是正文(作者,2018)1。
- 盖伊作者,乳胶爱,2018 年。DOI:89453XXX:547
bib(la)tex/nat/jurabib/styles 的哪种组合可以实现这一点?
我只能找到这个相关问题:带有作者年份内嵌引用的脚注但脚注没有编号。当然,完整引用应该只在第一次出现时出现在脚注中。我可以手动插入所有脚注,但\bibentry
natbib 不起作用。
其他答案涉及宏页面以实现非常具体的需求,但它应该是“本地”可行的,对吧?此外,现在我在编译时只得到一个数字参考,即使我使用的是作者年份样式(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
每个引用都有一个脚注,但可能会产生脚注冲突。