Библиография в дочерних документах по вязанию

У меня возникли проблемы с включением библиографии в knitr дочерний документ. Я хочу иметь возможность ссылаться на статьи из моей основной библиографии в дочернем документе, но чтобы библиография отображалась после основного документа, а не дочернего. Если я включаю только команду \bibliography в основной документ, ссылки в дочернем документе анализируются неправильно. Пример:

main.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.биб:

@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 производит:

out

Как сделать так, чтобы дочерний документ включал ссылки из основной библиографии?


person ben    schedule 25.06.2015    source источник
comment
Это не вопрос о латексе; это вязальный вопрос. На stackoverflow есть тысячи вопросов с тегами Knitr.   -  person ben    schedule 26.06.2015
comment
Как вы составили основной документ? Чтобы разрешить ссылки, обычно вам нужно пройти скучный процесс pdflatex, bibtex, pdflatex и pdflatex, если только вы не используете инструменты, достаточно умные для разрешения ссылок.   -  person Yihui Xie    schedule 26.06.2015
comment
@Yihui - добавил к вопросу мой скрипт компиляции.   -  person ben    schedule 26.06.2015
comment
Оказывается, это это вопрос о LaTeX...   -  person Yihui Xie    schedule 27.06.2015


Ответы (1)


Во-первых, вы пропустили несколько запятых в 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}
person Yihui Xie    schedule 26.06.2015