2

我在knitr子文档中包含参考书目时遇到问题。我希望能够在子文档中引用我的主要参考书目中的文章,但参考书目出现在主要文档之后,而不是在子文档之后。如果我只\bibliography在主文档中包含该命令,则无法正确解析子文档中的引用。例子:

主要.Rnw:

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\begin{document}
This is the main doc.

<<child-demo, child='child.Rnw'>>=
@
\bibliography{mylib}
\end{document}

孩子.Rnw:

This is the child \cite{myref}.

mylib.bib:

@article{myref,
 title = {frobnosticating froo filters}
 volume = {21},
 journal = {Frobnification},
 author = {John Q. Smith}
 month = jan,
 year = {2004}
}

我的compile脚本包含:

#!/usr/bin/env Rscript
library(knitr)
knit('main.Rnw', tangle=TRUE)
knit('main.Rnw', tangle=FALSE)
for ( i in c(1,2,3)) {
  system('pdflatex main')
  system('bibtex main')
}

运行compile产生:

出去

如何使子文档包含主要参考书目中的参考文献?

4

1 回答 1

2

首先,您在 : 中遗漏了几个逗号mylib.bib

@article{myref,
 title = {frobnosticating froo filters},
 volume = {21},
 journal = {Frobnification},
 author = {John Q. Smith},
 month = {jan},
 year = {2004}
}

然后您没有指定参考书目样式:

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\begin{document}
This is the main doc.

<<child-demo, child='child.Rnw'>>=
@
\bibliography{mylib}
\bibliographystyle{plain}
\end{document}
于 2015-06-26T21:23:25.307 回答