尽管 bibunits 声称与 natbib 兼容,但我仍在努力实现bibunits
合作。natbib
(为了提供一些背景信息,最后,我希望制作章节书目,其中每个章节都有一个单独的.bib
文件。)
问题是,要么我将其放置\usepackage{natbib}
在之前 \usepackage{bibunits}
,在这种情况下编译可以工作,但来自 natbib 的任何选项(例如 authoryear)都会被完全忽略。
我需要做什么/添加什么才能让 bibunits 按照我的意愿使用作者年份样式?
虽然上述顺序看起来很自然,至少可以生成完整的文档,但我也尝试了相反的顺序:
如果我反转顺序(bibunits 在 natbib 之前),编译会失败(在 overleaf 和 texstudio 中)。更准确地说,似乎在第一次运行(处理 bu1.aux 之后)时,它会生成一个 pdf,其中文本中的 ? 代替引文,并且后续运行要么继续运行而不会终止并且没有错误消息,要么只是产生错误Package natbib Error: Bibliography not compatible with author-year citations. ...mmand\NAT@force@numbers{}\NAT@force@numbers
即使不使用 natbib 的 authoryear 选项也会出现后一种错误。
示例如下,或者使用此 overleaf 链接: https://www.overleaf.com/read/spdfhstxqrtr
\documentclass{article}
\usepackage[round,authoryear]{natbib}
\bibliographystyle{ecta}
\usepackage{bibunits}
\usepackage{filecontents}
\begin{filecontents}{mybib.bib}
@ARTICLE{Meyer2000,
AUTHOR="Bernd Meyer",
TITLE="A constraint-based framework for diagrammatic reasoning",
JOURNAL="Applied Artificial Intelligence",
VOLUME= "14",
ISSUE = "4",
PAGES= "327--344",
YEAR=2000
}
@ARTICLE{Codishetal2000,
AUTHOR="M. Codish and K. Marriott and C.K. Taboch",
TITLE="Improving program analyses by structure untupling",
JOURNAL="Journal of Logic Programming",
VOLUME= "43",
ISSUE = "3",
PAGES= "251--263",
YEAR=2000
}
\end{filecontents}
\begin{document}
\begin{bibunit}
References to the \TeX book \cite{Meyer2000}
and to Lamport’s \LaTeX\ book, which appears
only in the references \citep{Codishetal2000}.
\putbib[mybib]
\end{bibunit}
\end{document}
我确实意识到了这个问题:bibunits 和 natbib是相关的,但似乎并不相同(无论风格如何我都无法让它工作),而且问题不完整,没有工作示例等,所以我希望可以问我问的问题。
答案1
没关系,我似乎忽略了显而易见的事实:
\begin{bibunit}[ecta]
usepackage{bibunits}
(或任何想要的风格)都可以(但当然需要遵循 )。