2011-12-01 5 views
0

LaTeX 결과를 Emacs 창에 표시하기 위해 preview-latex를 사용합니다. 내가 미리보기를 사용하여 코드와 출력을 앞뒤로 전환합니다. 그러나 라텍스 코드 (실수로, 의도 한 라인을 하나 또는 두 개 놓친 경우)가 아니라면 preview-at-point는 모든 것을 컴파일하려고 시도하고 "다른"윈도우를 불러오고 실패합니다. 이 모든 과정을 통해 작업 속도가 느려집니다.Emacs preview-latex

제 질문은 어떻게하면이 컴파일 (시도)을 비활성화 할 수 있습니까? 전환이 가능하지 않으면 미리보기가 아무 것도하지 않아야합니다. 미리보기 - 라텍스 설정이 있습니까? 아니면 내가 대체 할 수있는 함수일까요?

error in process sentinel: LaTeX found no preview images 

덕분에,

답변

1

실제 작업은 그래서 우리는 어떤 경우에 무 조작 할 것을 조언 해 줄 수 있습니다 preview-region하여 수행됩니다. 사전 미리보기를 미리 알 수있는 방법이 없다고 생각하기 때문에 완벽하지는 않습니다. 미리보기 할 환경이나 매크로를 사용자가 지정할 수 있습니다. 예를 들어 수학 미리보기 만 신경 쓰면 previewable-environments 개를 제거 할 수 있습니다.

(defvar previewable-environments 
    "List of environments that should be previewed." 
    '("tabular" "tabular*" "tikzpicture" "...")) 

(defadvice preview-region (around preview-at-point-no-long-pauses activate) 
    "Make `preview-at-point' a no-op if mark is inactive and point is not on a preview." 
    (when (or (not (eq this-command 'preview-at-point)) 
      (TeX-active-mark) 
      (texmathp) 
      (member (LaTeX-current-environment) previewable-environments)) 
    ad-do-it)) 
0

허용 대답에 변화 : 어떤 수학 조각에 아닙니다 때 방정식에있는 경우 코드는 미리보기 토글을 유발하지만, 나는 또한 전체 문서처럼 미리 할 것입니다. 그 코드는

(defvar previewable-environments 
    "List of environments that should be previewed." 
    '("tabular" "tabular*" "tikzpicture" "...")) 

(defadvice preview-region (around preview-at-point-no-long-pauses activate) 
    "Make `preview-at-point' a no-op if mark is inactive and point is not on a preview." 
    (message "preview-region") 
    (if (or (not (eq this-command 'preview-at-point)) 
      (TeX-active-mark) 
      (texmathp) 
      (member (LaTeX-current-environment) previewable-environments)) 
    ad-do-it 
    (preview-section) 
    ) 
) 
입니다.