Я пишу свою диссертацию в LaTeX, и, так как вещи стали немного длиннее на мой вкус, я разделил их на несколько файлов. Давайте назовем их thesis.tex
, intro.tex
, mat_n_met.tex
, rslts.tex
и discsn.tex
. Я связал intro.tex
, mat_n_met.tex
, rslts.tex
и discsn.tex
через thesis.tex
с \ include {intro}
(и так далее ...).
Я также создал отдельный файл с именем r_crunching.Rnw
(который я запускаю через Sweave), который содержит чанк, который запускает R-скрипт с анализом данных, и чанки, которые производят вывод pdf графиков, которые я встраиваю через \ includegraphics
(например, rslts.tex
). Все еще следует?
Если я запусту Rnw (то есть я переименую rslts.tex
в rslts.Rnw
) без «ссылки» на чанк со сценарием R, вы будете получить ошибку Sweave ()
о том, что ссылка в \ Sexpr {}
не существует. Есть ли способ, без объединения всех файлов в один .Rnw, вызвать \ Sexpr {}
в скажем rslts.Rnw
?
Другие методы, как это сделать, это приветствуется.
Забудьте на секунду, что вы имеете дело с Sweave, и просто подумайте о проблеме с латексом, для которой \ include
и \ includeonly
предлагают решения . Попробуйте это с помощью нескольких простых тестовых файлов.
Как только вы это выясните, снова добавьте Sweave в микс, и он будет работать так же, как Sweave после «простого» шага предварительной обработки, хотя и очень умного.
один достаточно очевидный ответ - использовать makefile, возможно, с использованием пакета cachesweave, для обработки соответствующих файлов в нужном порядке.