我正在使用opcit
包来生成脚注样式的引用。有时我有两个同一位作者的参考书目条目,如果我在文本中引用它们,后续\cite
命令将只重现“op.cit”引用,而不会对这两个来源进行任何区分。有办法解决这个问题吗?此外,有没有更优雅的方法来自动生成脚注样式的引用?
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{hyperref}
\usepackage{mathtools}
\usepackage[american]{babel}
\usepackage{natbib}
\usepackage[hyperref]{opcit}
\begin{document}
Blah Blah.\footnote{\cite{test}, and \cite{random}} Blah Blah.\cite{test}
\nobibliography{testbib}{}
\end{document}
参考书目包含以下内容:
@article{random,
Author = {Test Test},
Date-Added = {2015-07-26 11:01:54 +0000},
Date-Modified = {2015-07-26 11:13:15 +0000},
Journal = {Random Year},
Title = {Random Paper},
Year = {2004}}
@article{test,
Author = {Test Test},
Date-Added = {2015-07-26 11:00:45 +0000},
Date-Modified = {2015-07-26 11:02:25 +0000},
Journal = {Test Journal},
Title = {TestTitle},
Year = {2002}}
输出“Test, op.cit.”不区分Test (2002)和Test (2004)。
答案1
这是一个解决方案biblatex
(并fnpct
在连续的命令之间添加逗号footcite
)。我不得不重新定义一个引用宏,以便获得loc. cit.
而不是默认的ibid
:
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{mathtools}
\usepackage[american]{babel}
\usepackage{filecontents}
\begin{filecontents}{mytestbib.bib}
@article{random,
Author = {Test Test},
Date-Added = {2015-07-26 11:01:54 +0000},
Date-Modified = {2015-07-26 11:13:15 +0000},
Journal = {Random Year},
Title = {Random Paper},
Year = {2004}}
%
@article{test,
Author = {Test Test},
Date-Added = {2015-07-26 11:00:45 +0000},
Date-Modified = {2015-07-26 11:02:25 +0000},
Journal = {Test Journal},
Title = {TestTitle},
Year = {2002}}
\end{filecontents}
\usepackage[bibstyle=authoryear, citestyle=authoryear-icomp, natbib, backend=biber]{biblatex}
\addbibresource{mytestbib.bib}
\usepackage{fnpct}
\AdaptNoteOpt\footcite\multfootcite
\usepackage[colorlinks, citecolor=blue]{hyperref}
\renewbibmacro*{cite:ibid}{%
\printtext[bibhyperref]{\bibstring[\mkibid]{opcit}}%
\ifloccit
{\global\booltrue{cbx:loccit}}
{}}
\addbibresource{mytestbib.bib}
\begin{document}
\vspace*{0.55\textheight}
Citations in a first order:
Blah Blah.\footcite{random}\footcite{test}
Blah Blah.\footcite{test}\bigskip
Citations in the reverse order:
Blah Blah.\footcite{test}\footcite{ random}
Blah Blah.\footcite{test}\bigskip
Grouped citations:
Blah Blah.\footcites{random, test}
Blah Blah.\footcite{test}\bigskip
\printbibliography
\end{document}