Aquamacs 컴파일 단축키

Aquamacs 컴파일 단축키

파일만 컴파일할 수 있는 단축키를 만드는 방법이 있나요 .tex?

LaTeX 컴파일의 경우 단축키를 사용하고 있습니다 ^C ^C. 기본적으로 '라텍스'가 표시되거나 가끔 '보기'가 표시됩니다. 'latex'로 설정되어 있으면 Enter 키만 누르고 'view'로 설정하면 컴파일하려면 'latex'를 입력해야 합니다. 그런 다음 필요한 경우 ^C ^V확인하는 데 사용합니다 pdf.

이것은 제가 가장 자주 사용하는 작업이지만 뒤에 명시적으로 'latex'를 입력하는 것은 꽤 짜증나는 작업입니다 ^C ^C. 저는 Emacs와 Aquamacs의 초보자입니다(일주일 동안만 사용했습니다).

답변1

도구 모음에서 LaTeX 버튼을 클릭하기만 하면 됩니다. :)

여기에 이미지 설명을 입력하세요

또는 Command-O를 사용하여 파일을 열고 다음으로 이동하세요.

<HOME>/Library/Preferences/Aquamacs Emacs

그리고 엽니다 Preferences.el(Aquamacs에서는 파일보다 선호됨 .emacs). 하단에 추가

(add-hook
 'LaTeX-mode-hook
 (lambda ()
  (local-set-key
  (kbd "C-c c")
   (lambda nil
    (interactive)
    (progn
     (TeX-save-document
      (TeX-master-file)
     )
    (TeX-command "LaTeX" (quote TeX-master-file) -1))))))

아이콘을 클릭하여 실행되는 동일한 기능을 에 바인딩합니다 C-c c. C-c v보기 위해 바인딩된 유사한 작업을 추가할 수 있습니다.

(add-hook
 'LaTeX-mode-hook
 (lambda ()
  (local-set-key
  (kbd "C-c v")
  (lambda nil (interactive)
   (TeX-command "View" (quote TeX-master-file) -1)))))

답변2

저는 Aquamacs를 사용하고 있는데 같은 질문이 있습니다. Sean Allred의 게시물은 제가 찾고 있던 답변을 찾는 데 도움이 되었습니다. 내가 추가하고 싶은 유일한 것은 Aquamacs만 사용하는 경우 파일을 편집하는 것이 더 낫다는 것입니다.

Preference.el
에 위치한
~/라이브러리/기본 설정/Aquamacs\ Emacs/
파일에 아래 코드를 추가하면 명령 시퀀스
참조 캘리포니아
기본 컴파일러를 실행한 다음 출력을 미리보기로 보냅니다. 이 코드 조각은 다음에서 복사되었습니다.http://www.emacswiki.org/emacs/TN#toc8TEX-texify 섹션 아래에 있습니다.

    ('tex-buf 필요)
(TeX-command-default (이름)을 거부하세요
  "사용할 다음 TeX 명령입니다. 대부분의 코드는 `TeX-command-query'에서 도난당했습니다."
  (cond ((if (문자열과 동일한 이름 TeX-지역)
                 (TeX-check-files(연결 이름 "."(TeX-output-extension))
                          (목록 이름)
                          TeX 파일 확장자)
               (TeX-저장-문서(TeX-마스터-파일)))
             TeX 명령-기본값)
            ((그리고 (memq major-mode '(doctex-mode latex-mode))
                  (TeX-check-files (연결 이름 ".bbl")
                           (맵카 '자동차
                               (LaTeX-참고문헌 목록))
                           BibTeX 파일 확장자))
             ;; 여기서도 bst 파일을 확인해야 합니다.
             TeX 명령-BibTeX)
            ((TeX-process-get-변수 이름
                           'TeX 명령-다음
                           TeX 명령-표시))
            (TeX 명령-표시)))


(TeX-texify-Show t "TeX-texify 끝에서 보기 명령을 시작하시겠습니까?" :type 'boolean :group 'TeX-command)
(defcustom TeX-texify-max-runs-same-command 5 "동일 명령의 최대 실행 수" :type 'integer :group 'TeX-command)

(TeX-texify-sentinel을 비활성화했습니다(&선택적 proc sentinel).
  "비대화형! 현재 LaTeX 프로세스의 표준 센티넬을 호출하세요.
아직 뭔가 남아 있다면 다음 라텍스 명령을 시작하세요."
  (세트 버퍼(프로세스 버퍼 프로세스))
  (TeX-texify-sentinel proc sentinel을 호출하세요)
  (let ((case-fold-search nil))
    ((문자열 일치 "\\(finished\\|exited\\)" 센티널일 때)
      (세트 버퍼 TeX 명령 버퍼)
      ((plist-get TeX-error-report-switches (인턴 (TeX-마스터 파일))이 아닌 경우))
    (TeX-texify)))))

(TeX-texify를 거부함()
  "모든 일을 끝내세요."
  (인터렉티브)
  (let ((nextCmd (TeX-명령어-기본 (TeX-마스터-파일))))
    프로세스)
    (if (및 (null TeX-texify-Show)
         (nextCmd TeX-command-Show와 동일))
    ((대화형으로 호출된 '모든 경우)
      ("TeX-texify: 아무것도 할 일이 없습니다." 메시지))
      (TeX 명령 nextCmd 'TeX-마스터-파일)
      (언제 (또는 (대화형으로 호출됨) '아무거나)
        (null(boundp 'TeX-texify-count-same-command))
        (null(boundp 'TeX-texify-last-command))
        (null(nextCmd TeX-texify-last-command와 동일)))
    (mapc 'make-local-variable'(TeX-texify-sentinel TeX-texify-count-same-command TeX-texify-last-command))
    (setq TeX-texify-count-same-command 1))
      (if (>= TeX-texify-count-same-command TeX-texify-max-runs-same-command)
      ("TeX-texify: %S가 이미 %d번 수행되었습니다. 더 이상 수행하고 싶지 않습니다." TeX-texify-last-command TeX-texify-count-same-command 메시지)
    (setq TeX-texify-count-same-command (1+ TeX-texify-count-same-command))
    (setq TeX-texify-last-command nextCmd)
    (및 (null(nextCmd TeX-command-Show와 동일))
         (setq proc(get-buffer-process(현재 버퍼)))
         (setq TeX-texify-sentinel(프로세스-센티널 proc))
         (set-process-sentinel proc 'TeX-texify-sentinel))))))

(추가 후크 'LaTeX-mode-hook'(lambda () (local-set-key (kbd "Cc Ca") 'TeX-texify)))

답변3

특정 키 시퀀스를 제외하고(그것이 있다는 것을 알고 있지만찾다it) 다음과 같이 작동합니다.

(add-hook
 'LaTeX-mode-hook
 (lambda ()
   (local-set-key
    (kbd "C-c c")
    (lambda (&optional arg)
      "Run the current document through LaTeX."
      (interactive "p")
      (kmacro-exec-ring-item
       (quote ([3 3 76 97 84 101 88 return] 0 "%d"))
       arg)))

이는 키 시퀀스를 C-c c실행되는 키보드 매크로에 바인딩합니다 C-c C-c LaTeX RET.


궁금하시다면, 아니요, 제가 직접 이 중요한 부분을 만든 것은 아닙니다. 저는 C-x (키보드 매크로를 시작한 다음 를 입력 C-c C-c LaTeX RET하고 C-c )매크로를 완료하곤 했습니다. 그런 다음 C-x C-k n매크로 이름을 지정한 다음 M-x insert-kbd-macro내 내부에서 실행했습니다 .emacs(보통 에서 찾을 수 있음 C-x C-f ~/.emacs).

를 사용하여 매크로를 키 시퀀스에 바인딩한 local-set-key다음 이를 LaTeX-mode후크에 추가하여 를 입력할 때마다 실행되도록 합니다 LaTeX-mode.

답변4

또는 TeXMaker의 Quick Build와 마찬가지로 다음 항목을 에 배치 .emacs하고 모든 작업이 연속적으로 자동으로 수행되도록 할 수 있습니다.

(require 'tex-buf)
(defun TeX-command-default (name)
  "Next TeX command to use. Most of the code is stolen from `TeX-command-query'."
  (cond ((if (string-equal name TeX-region)
                 (TeX-check-files (concat name "." (TeX-output-extension))
                          (list name)
                          TeX-file-extensions)
               (TeX-save-document (TeX-master-file)))
             TeX-command-default)
            ((and (memq major-mode '(doctex-mode latex-mode))
                  (TeX-check-files (concat name ".bbl")
                           (mapcar 'car
                               (LaTeX-bibliography-list))
                           BibTeX-file-extensions))
             ;; We should check for bst files here as well.
             TeX-command-BibTeX)
            ((TeX-process-get-variable name
                           'TeX-command-next
                           TeX-command-Show))
            (TeX-command-Show)))


(defcustom TeX-texify-Show t "Start view-command at end of TeX-texify?" :type 'boolean :group 'TeX-command)
(defcustom TeX-texify-max-runs-same-command 5 "Maximal run number of the same command" :type 'integer :group 'TeX-command)

(defun TeX-texify-sentinel (&optional proc sentinel)
  "Non-interactive! Call the standard-sentinel of the current LaTeX-process.
If there is still something left do do start the next latex-command."
  (set-buffer (process-buffer proc))
  (funcall TeX-texify-sentinel proc sentinel)
  (let ((case-fold-search nil))
    (when (string-match "\\(finished\\|exited\\)" sentinel)
      (set-buffer TeX-command-buffer)
      (unless (plist-get TeX-error-report-switches (intern (TeX-master-file)))
    (TeX-texify)))))

(defun TeX-texify ()
  "Get everything done."
  (interactive)
  (let ((nextCmd (TeX-command-default (TeX-master-file)))
    proc)
    (if (and (null TeX-texify-Show)
         (equal nextCmd TeX-command-Show))
    (when  (called-interactively-p 'any)
      (message "TeX-texify: Nothing to be done."))
      (TeX-command nextCmd 'TeX-master-file)
      (when (or (called-interactively-p 'any)
        (null (boundp 'TeX-texify-count-same-command))
        (null (boundp 'TeX-texify-last-command))
        (null (equal nextCmd TeX-texify-last-command)))
    (mapc 'make-local-variable '(TeX-texify-sentinel TeX-texify-count-same-command TeX-texify-last-command))
    (setq TeX-texify-count-same-command 1))
      (if (>= TeX-texify-count-same-command TeX-texify-max-runs-same-command)
      (message "TeX-texify: Did %S already %d times. Don't want to do it anymore." TeX-texify-last-command TeX-texify-count-same-command)
    (setq TeX-texify-count-same-command (1+ TeX-texify-count-same-command))
    (setq TeX-texify-last-command nextCmd)
    (and (null (equal nextCmd TeX-command-Show))
         (setq proc (get-buffer-process (current-buffer)))
         (setq TeX-texify-sentinel (process-sentinel proc))
         (set-process-sentinel proc 'TeX-texify-sentinel))))))

(add-hook 'LaTeX-mode-hook '(lambda () (local-set-key (kbd "C-c C-a") 'TeX-texify)))

이는 키 시퀀스를 C-c C-a다음에 바인딩합니다.TeX-texify이는 현재 문서를 생성하는 데 필요한 모든 컴파일 단계를 거치는 바인딩합니다. 뻔뻔하게도 훔쳐간이맥스 위키.

관련 정보