(Vim+latex) \ll을 사용하여 프로젝트 디렉터리에서 단일 tex 파일을 컴파일하는 방법

(Vim+latex) \ll을 사용하여 프로젝트 디렉터리에서 단일 tex 파일을 컴파일하는 방법

Vim+latex를 사용하고 있습니다. 내 프로젝트 디렉토리에는 또 다른 별도의 tex 파일(예: 그림을 그리는 데 필요한 tikz/PGF 파일)이 있습니다. \ll을 입력하면 현재 파일을 컴파일하는 대신 시스템이 프로젝트 파일을 컴파일합니다. 현재 파일을 컴파일하도록 시스템에 지시할 수 있습니까?

정말 감사합니다!

답변1

일부에서는 이것이 해결 방법으로 간주될 수 있지만 귀하의 목적에는 효과가 있을 것이라고 생각합니다. 로부터LaTeX-Suite 참조:

LaTeX-Suite가 새 LaTeX 파일을 열 때마다 현재 파일 디렉터리에서 위쪽으로(파일 시스템의 루트까지) 검색하여 파일을 찾는지 확인하여 해당 파일이 다중 파일 프로젝트의 일부인지 확인하려고 시도합니다. *.latexmain 형식입니다. 그러한 파일이 발견되면 현재 파일이 더 큰 프로젝트의 일부인 것으로 간주됩니다.

*.latexmain이것이 의미하는 바는 서로 다른 디렉터리 수준에 있는 경우 프로젝트당 여러 개의 파일을 가질 수 있다는 것입니다 .

mydoc.tex따라서 기본 문서 와 별도의 파일을 이라고 부르겠습니다 myfig.tex. 디렉토리 구조를 다음과 같이 설정하면:

project-dir/
    mydoc.tex
    mydoc.latexmain
    myfig/
        myfig.tex
        myfig.latexmain
    myfiles/
        ch01.tex
        ch02.tex

모든 것이 원하는 대로 작동해야 합니다. myfig.tex가 활성 버퍼이고 를 누르면 LaTeX \ll-Suite가 을 찾아 myfig.latexmain컴파일합니다 myfig.tex. mydoc.tex활성 버퍼인 경우 mydoc.latexmain검색되고 문서가 컴파일됩니다. myfiles/활성 버퍼가 있는 경우 LaTeX-Suite는 *.latexmain현재 디렉터리에서 파일을 찾지 못하고 한 수준 위로 이동합니다. 그런 다음 mydoc.latexmain원하는 대로 문서를 찾아 컴파일합니다 .

유일한 변경 사항은 문서 텍스트의 소스가 포함된 파일에 있습니다. 나는 당신이 사용하고 있다고 가정합니다

\includegraphics{myfig} 

그림 파일의 컴파일된 출력을 문서에 포함합니다. 이제 파일이 다른 디렉터리에 있으므로 이를 상대 경로로 변경해야 합니다. 그래픽이 레벨에서 포함된 project-dir/경우

\includegraphics{myfig/myfig}

또는 그래픽이 레벨에 포함된 경우 다음 myfiles/을 사용하세요 .

\includegraphics{../myfig/myfig}

컴파일된 출력을 포함합니다.

이 접근 방식은 여러 그림 파일로도 확장될 수 있습니다. *.latexmain디렉터리 트리를 위쪽으로 탐색하는 동안 항상 적절한 항목이 먼저 발견되도록 각 그림에 대해 다른 디렉터리를 도입하기만 하면 됩니다.

즉, 많은 그림 파일에 대해 이 작업을 수행해야 하는 경우 디렉터리 구조가 지나치게 빨리 복잡해질 수 있습니다. TikZ의 외부화 방법(현재 Ch. 50)을 살펴보는 것이 더 나을 수도 있습니다.pgf수동).

관련 정보