这是mypaper.Rnw
:
\documentclass[a4paper,11pt]{article}
\begin{document}
\title{}
\author{Ross Ahmed}
\date{\today}
\maketitle
\section{Header}
lorem
<<fig1>>=
library(ggplot2)
ggplot(mtcars, aes(wt, mpg)) + geom_point()
@
\FloatBarrier
\end{document}
我可以使用R
包knitr
将mypaper.Rnw
文件转换为mypaper.tex
文件。然后,我可以使用LaTeX将mypaper.tex
文件转换为mypaper.pdf
。
我正在尝试用make
做同样的事情。
这是我make
文件的内容,提供here
mypaper.tex: R/mypaper.Rnw
cd R;R CMD BATCH mypaper.Rnw
mypaper.pdf: mypaper.tex
pdflatex mypaper.tex
如果我在R
:
system("make mypaper.pdf")
我收到此错误:
make: *** No rule to make target `R/mypaper.Rnw', needed by `mypaper.tex'. Stop.
我哪里错了?我在Mac OSX上
答案 0 :(得分:1)
说:
mypaper.tex: R/mypaper.Rnw
您说文件mypaper.Rnw
位于R
目录中。可以?你不能说它,你只需称它为mypaper.Rnw
。如果你运行ls R/mypaper.Rnw
,你会收到错误吗?
如果它确实位于R
目录中,并且您没有输错任何名称,则可以运行make -r -d
以获取(大量)调试信息,并尝试弄清楚为什么make拒绝使用你的文件。
答案 1 :(得分:0)
我没有使用knitr
的经验所以我使用了一些虚拟代码来生成文件。我无法重现您的错误,因此您的文件结构可能存在一些错误。
我将makefile重写为以下内容,按预期工作:
mypaper.tex: R/mypaper.Rnw
cd R; cp mypaper.Rnw mypaper.tex
mypaper.pdf: mypaper.tex
#cd R is needed before your command
cd R;cp mypaper.tex mypaper.pdf
之前的文件结构:
.
├── makefile
└── R
└── mypaper.Rnw
文件结构:
.
├── makefile
└── R
├── mypaper.pdf
├── mypaper.Rnw
└── mypaper.tex