\ 입력시 TeX- 삽입-매크로 속도 향상


10

에서 latex-mode내가 사용하는 경우 TeX-insert-macro종류에 \input{...} 매크로를 Auctex 편리하게 위대 파일 이름 완성을 제공합니다. 그러나 emacs가 거의 1 분 동안 가난한 작은 노트북에 매달려 있기 때문에 완성 목록을 컴파일하기 위해 많은 장소를 검색하는 것 같습니다.

TeX-insert-macro멍청한 파일 이름 완성을 제공 하는 방법이 있습니까?
"멍청하다"는 전화를 걸 때받는 것을 의미합니다 find-file. 대부분의 경우 입력하려는 파일은 하나의 디렉토리 밖에 없으므로 괜찮습니다.

이것이 가능하지 않다면 속도를 높이는 다른 방법이 있습니까? 매크로를
삽입하면 \include파일 이름 목록이 훨씬 짧아 매크로에 해당 목록을 사용하는 방법이있을 수 \input 있습니다.


도 있습니다 cdlatex-insert-filenamecdlatex 패키지와 함께 제공한다. 그래픽 파일을 그림 환경에 삽입하는 데 도움이됩니다.
Vamsi

답변:


6

몇 가지 해결책이 있습니다.

먼저이 동작을 사용자 정의하는 변수가 있습니다 TeX-arg-input-file-search.

TeX-arg-input-file파일을 검색해야하는 경우 값이 t이면 TeX의 검색 경로에있는 파일을 검색하여 완료하도록 제공합니다. 그런 다음 파일 이름은 디렉토리와 확장자없이 삽입됩니다. 값이 nil 인 경우 파일 이름을 수동으로 지정할 수 있으며 현재 버퍼 파일의 디렉토리에 상대적인 경로와 확장자로 삽입됩니다. 값이 ask인 경우 TeX-arg-input-file호출 될 때마다 사용할 메소드를 요청합니다 .

이 문서는 충분히 명확하지 않지만 문서를 설정 nil하여 작업을 수행하는 것 같습니다.

(setq TeX-arg-input-file-search nil)

이 변수는 전화를 모든 기능에 영향 TeX-arg-input-file을 포함하여, input, includeusepackage. 후자의 경우이 동작은 예상치 못한 것일 수 있습니다.

그리고이 모든 기능에 대한 작업을해야 더 해키 솔루션입니다 : TeX-arg-input-file있습니다 local(이 플래그가 예를 들어 설정을위한이 동작에 대한 플래그를 t위한 include).

분명히 명령에 다른 항목을 추가하여 다른 설정을 무시할 수 있습니다.

(add-hook 'LaTeX-mode-hook 
  (lambda nil 
     (TeX-add-symbols '("input" (TeX-arg-input-file "File" t)))))

emacs 세션이 오래 지속되는 경우 마지막 해결 방법은 간단하게 진행하는 것입니다. "파일 검색"단계는 결과를 캐시하므로 세션 당 한 번만 호출해야합니다.


대박! 나는 약간의 핵을 기대하고 있었다.
Malabarba

1
Hmpf, 해킹이 실제로 진행 된 것처럼 보입니다. 내 편집 내용을 참조하십시오. 해키 솔루션이 귀하의 요구에 더 잘 맞는 경우 답변을 다시 정리할 수 있도록 알려주십시오.
T. Verron

1
바람직하지 않은 패키지를 사용하는 것이 옳습니다. 업데이트 해 주셔서 감사합니다. 실제로 결과를 캐시하지만 ~ 1 분의 지연은 버퍼 당 한 번이라도 귀찮게하기에 충분합니다.
Malabarba

1
내용을 정리했습니다. 코드를 다시 살펴보면, 내가 잘못했습니다 TeX-global-input-files(검색 결과를 포함하는 변수)는 버퍼 로컬이 아니므로 검색은 emacs session 당 한 번만 발생해야합니다 . 비동기식으로 발생할 수 있다면 이것이 더 흥미로울 수도 있지만 ~ 1 분의 동결은 실제로 너무 길다.
T. Verron
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.