在 Mac OS X 上使用 pdfsync 时出现 emacsclient 问题

在 Mac OS X 上使用 pdfsync 时出现 emacsclient 问题

我正在尝试在 emacs 和 skim 之间同步,这是我参考的网站:https://stackoverflow.com/questions/7899845/emacs-synctex-skim-how-to-correctly-set-up-syncronization-none-of-the-exi

按照指南,我可以进行设置,在 emacs/AUCTeX 上按住 Shift-Cmd-Click 来启动 skim.app,但是,我无法进行向后同步。当我在 Skim.app 上单击 Shift-Cmd-Click 时,什么也没有发生。这是 skim.app 中的配置。

在此处输入代码

我检查了反向同步是否可以与其他编辑器一起使用,例如TextMate,所以问题似乎出在emacsclient。我(server-start)在 init.el 中。

我再次检查了使用M-x server-startemacs 命令启动服务器的情况,这是我从emacsclient命令中得到的结果:

a> emacsclient -s server a.tex 
emacsclient: connect: Connection refused
emacsclient: error accessing socket "/tmp/emacs501/server

使用提示Emacs:使用 emacsclient没有帮助,因为我发现没有server-socket-name分配变量。

似乎错误的是emacsclient -s server a.tex尝试使用/tmp/emacs501/serverserver-socket-dir指向"/var/folders/sj/6xmft7c105ngpzh4dv9kc2dc0000gn/T//emacs501"。我将服务器文件复制\tmp/emacs501到重新启动时出现此错误:

a> emacsclient -s server a.tex 
emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
emacsclient: error accessing socket "/tmp/emacs501/server"smcho@smcho mass2015> emacsclient -s server mass2015.tex 
Waiting for Emacs...
-emacs-pid 19104
-error Unknown&_command:&_/Users/me/Desktop/a/a.tex

可能出了什么问题?如何使其emacsclient工作以及如何检查它是否正常工作?

答案1

在命令行中,应该指定 emacsclient 的位置。

在此处输入图片描述

其他设置

latexmkrc

如果要使用 latexmk,则应在中添加这些配置设置~/.latexmkrc

$pdflatex = 'pdflatex -interaction=nonstopmode -synctex=1 %O %S';
$pdf_previewer = 'open -a skim';
$clean_ext = 'bbl rel %R-blx.bib %R.synctex.gz';

emacs 设置 AucTeX

;; AucTeX
(setq TeX-auto-save t)
(setq TeX-parse-self t)
(setq-default TeX-master nil)
(add-hook 'LaTeX-mode-hook 'visual-line-mode)
(add-hook 'LaTeX-mode-hook 'flyspell-mode)
(add-hook 'LaTeX-mode-hook 'LaTeX-math-mode)
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
(setq reftex-plug-into-AUCTeX t)
(setq TeX-PDF-mode t)

(add-hook 'LaTeX-mode-hook
          (lambda () (local-set-key (kbd "<S-s-mouse-1>") #'TeX-view))
          )
(setq TeX-PDF-mode t)

;; Use Skim as viewer, enable source <-> PDF sync
;; make latexmk available via C-c C-c
;; Note: SyncTeX is setup via ~/.latexmkrc (see below)
(add-hook 'LaTeX-mode-hook (lambda ()
  (push
    '("latexmk" "latexmk -pdf %s" TeX-run-TeX nil t
      :help "Run latexmk on file")
    TeX-command-list)))
(add-hook 'TeX-mode-hook '(lambda () (setq TeX-command-default "latexmk")))

;; use Skim as default pdf viewer
;; Skim's displayline is used for forward search (from .tex to .pdf)
;; option -b highlights the current line; option -g opens Skim in the background  
(setq TeX-view-program-selection '((output-pdf "PDF Viewer")))
(setq TeX-view-program-list
     '(("PDF Viewer" "/Applications/Skim.app/Contents/SharedSupport/displayline -b -g %n %o %b")))
(server-start)     

参考

相关内容