
방금 이거 우연히 발견했어요에 대한 블로그 게시물rubber
그리고 생각했습니다: "정확히 그게 하는 일이 아닌가 latexmk
?" 그래서 이제 저는 궁금합니다. 그렇지 않나요? 아니면 차이점이 있나요?
답변1
고무에는 latexmk에서 제공하지 않는(아직?) 다음과 같은 기능이 있는 것 같습니다.
- 고무LaTeX 로그 파일을 구문 분석합니다., 이를 필터링하고 "관련" 메시지(경고, 오류)만 보기 좋게 인쇄합니다. 고무는 항상 LaTeX를 실행합니다.비대화형 모드, latexmk에는 추가 스위치나 구성이 필요한 것 같습니다.
- 고무로 당신은 가질 수 있습니다LaTeX 소스 코드의 주석으로 구성 옵션; latexmk에는 보조 구성 파일이 필요합니다.
- 가장 중요한 것은 고무를 사용하면 올바른 값을 지정할 수 있다는 것입니다.TEXINPUTS, BIBINPUTS, BSTINPUTS 등앞서 언급한 구성 옵션을 사용하여 각 문서에 대해 latexmk는 이러한 환경 변수가 이미 적절하게 정의되어 있을 것으로 예상하는 것 같습니다.
물론 이러한 문제 중 상당수는 일부 래퍼 스크립트와 보조 파일을 사용하여 해결할 수 있습니다. 그리고 분명히 고무가 제공하지 않는 latexmk의 많은 기능이 있습니다.
답변2
고무에 비해 latexmk의 중요한 장점 중 하나는 latexmk가 종속 파일을 훨씬 더 안정적으로 감지한다는 것입니다. 내가 할 수 있는 한 최선을 다해, Rubber는 tex 파일을 구문 분석하고 , 매크로를 찾아 종속 파일을 \input
결정 \include
합니다 \includegraphics
. 그러나 이러한 매크로가 다른 매크로 안에 묻혀 있으면 Rubber는 종속 파일을 올바르게 감지하지 못합니다. 예를 들어,
\newcommand\try[1]{\input{#1}}
\try{sub}
sub.tex
고무는 그것이 종속 파일인지 감지하지 못합니다 . 따라서 파일이 sub.tex
변경되면 고무는 컴파일을 다시 실행해야 함을 감지하지 못합니다.
대신 Latexmk는 로그 파일을 구문 분석하고 -recorder
( pdf
) 옵션을 사용하여 latex
종속 파일을 확인합니다.
답변3
Latexmk는 또한 텍스트가 저장되자마자 PDF를 (스마트하게) 다시 컴파일하는 자동 미리보기 기능을 제공합니다.
예를 들어 makefile과의 긴밀한 통합과 같은 고급 기능도 있습니다.