을 사용하여 .tex
파일에서 PDF를 생성합니다.LaTeX 레퍼런스와 Makefile
내 LaTeX 파일에서 참조가 사용 된 경우. 때때로 나는
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
같은 내가 다시 실행 라텍스이 참조 문제를 해결할 수 있습니다 명령을 컴파일 것을 알 수 있지만, 내 Makefile
에, %.pdf
은 따라서 단지가 해결되지 않습니다 다시 make
을 실행 %.tex
에 따라 달라집니다 문제 (.tex
파일에서 변경된 사항 없음). 다시 PDF를 다시 생성하려면 make clean
해야합니다.
은 여기 내 Makefile
TEX := $(wildcard *.tex)
default: $(TEX:.tex=.pdf)
%.pdf: %.tex
xelatex $<
.PHONY: clean
clean:
rm -v *.aux *.toc *.log *.out
어떻게이 문제를 해결하기 위해인가? 고맙습니다.
UPDATE :
여기가 .PHONY
로 변경합니다
- 구글에서
default
대상을 발견 몇 가지 생각을합니다. 어떤 좋은 해결책이 아닌가? (거기에 라텍스 파일이 있기 때문에 하나의 파일 만 다시 컴파일하면 됨) %.aux
을 포함하도록%.pdf
의 의존성을 변경하십시오. 하지만 GNU make에서 가능한지 모르겠습니다. (존재하는 경우%.aux
파일에 따라 다름, 그렇지 않으면%.aux
에 대한 의존성을 무시하십시오.)grep
을.log
파일에 작성하고 특정 경고를 찾으십시오. 존재하는 경우 compile 명령을 다시 실행하십시오.
대부분의 훌륭한 TeX 배포판의 일부인 [latexmk] (http://ctan.tug.org/pkg/latexmk)를 보시면 도움이 될 것입니다. –