我正在尝试使用以下Makefile来编译LaTeX项目。
# LaTeX Makefile
FILE=Tesis
all: $(FILE).pdf
.PHONY: clean
clean:
rm *.aux *.blg *.out *.bbl *.log *.dvi *.idx *.lof *.toc *.pdf
$(FILE).pdf: $(FILE).tex
$(FILE).tex: Generalidades.tex Analisis.tex Diseno.tex Construccion.tex Conclusiones.tex Tesis.bib
latex $(FILE).tex
bibtex $(FILE)
latex $(FILE)
dvipdfm $(FILE).dvi
文件Tesis.pdf不存在。但是在跑完之后我得到了:
make: Nothing to be done for `all'
有什么问题?感谢。
答案 0 :(得分:1)
你的依赖
$(FILE).pdf: $(FILE).tex
没有与之关联的规则 - 它缺少一系列缩进行,告诉make
如何从.tex
文件制作PDF。这意味着它总是是最新的。
另一方面,你的第二个依赖:
$(FILE).tex: Generalidades.tex Analisis.tex ...
latex $(FILE).tex
说'$(FILE).tex依赖于Generalidades.tex Analisis.tex ...,并使它[即.tex文件]更新,运行latex'。那不是你的意思。
尝试
$(FILE).pdf: $(FILE).tex Generalidades.tex Analisis.tex ...
latex $(FILE).tex
...
(顺便说一句,如果你使用pdflatex
,那么你可以直接从.tex
来源生成PDF文件。你必须使用.pdf
数字而不是{{1} }},但很容易将.eps
数字转换为.eps
)。