首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为LaTeX跳转到创建键绑定

为LaTeX跳转到创建键绑定
EN

Stack Overflow用户
提问于 2013-04-14 21:53:28
回答 1查看 2.1K关注 0票数 2

有什么想法吗?如何将其转换为“跳转到PDF”的全局设置键?

代码语言:javascript
复制
(defun aquamacs-latex-viewer-support ()
"Support for Skim as LaTeX viewer if present."
 (add-to-list 'TeX-command-list
     '("Jump to PDF" 
       "%V" TeX-run-discard-or-function nil t :help "Run Viewer") 'append)

右键单击上下文菜单有几个有用的选项,我想我已经跟踪到这个文件:/Applications/Aquamacs.app/Contents/Resources/lisp/aquamacs/auctex-config.el。但是,我可能错了?

我认为这将比简单地生成pdf更复杂--即:

代码语言:javascript
复制
(global-set-key (kbd "<f7>") 'TeX-command-master)

我现在离它更近了一步--这个init.el配置可以在OSX山狮上运行的最新版本的Emacs (通用二进制文件)上工作--所以现在把它转换成键盘快捷键要容易得多。这将将视图选项重新配置为pdf。下面是我得到它的线程的链接(由Ricardo编写):https://tex.stackexchange.com/questions/11613/launching-an-external-pdf-viewer-from-emacs-auctex-on-a-mac-osx-fails

代码语言:javascript
复制
(setq TeX-view-program-selection '((output-pdf "Skim")))

(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)

(setq TeX-source-correlate-method 'synctex)

(add-hook 'LaTeX-mode-hook
      (lambda()
        (add-to-list 'TeX-expand-list
             '("%q" skim-make-url))))

(defun skim-make-url () (concat
        (TeX-current-line)
        " "
        (expand-file-name (funcall file (TeX-output-extension) t)
            (file-name-directory (TeX-master-file)))
        " "
        (buffer-file-name)
))

(setq TeX-view-program-list
  '(("Skim" "/Applications/Skim.app/Contents/SharedSupport/displayline %q")))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-30 18:50:07

这个解决方案是not依赖于使用Aquamacs --也就是说,一种Emacs的通用风味就足够了。对于带有包auctex-11.86的OSX版本的Emacs (雪豹和山狮),tex.el中的下列代码行会影响查看*.pdf文件:

第1028行:("Evince“("evince”(模式-io-correlated“-p %(outpage)")”%o“)

第1119行:(输出-pdf "Evince")

Skim.app被广泛认为是OSX *.tex文档的最合适的*.pdf查看器,因为它能够在检测到*.pdf文件的变化时自动更新显示,还因为它能够使用反向搜索(即命令+移位+左键)在鼠标被单击的精确点跳回文本编辑器。

由于OSX社区没有广泛使用Evince,所以工作是要么修改tex.el,要么修改init.el。tex.el中甚至有一个表示法,说明开发人员需要协调他们的工作,以实现在OSX系统上查看*.pdf。

下面是对init.el的修改,其中包括我自己选择的键盘快捷键。当前版本的auctex-11.86已经为'TeX-view (C)设置了键盘快捷键。注意:下面的代码将View配置为跳转到PDF,并且启用了synctex,所以任何想要在没有synctex的情况下拥有快速视图的人都需要稍微不同的配置。我创建的键盘快捷键是用于构建的F7;用于跳转到pdf的F8;用于清理的F9,但留下*.pdf和*.tex。

将来,我计划编写一些代码,将-output-目录选项使用到/tmp,并自动将*.pdf复制回工作目录,这样就没有必要进行清理了。TexLive目前不支持-aux-目录选项,因此前面的解决方案是消除清理过程的最佳选择。

代码语言:javascript
复制
(global-set-key (kbd "<f7>") 'TeX-command-master) ;; need to set a default for this to work.
(global-set-key (kbd "<f8>") 'TeX-view) ;; jump to *.pdf with synctex (or C-c C-v)
(global-set-key (kbd "<f9>") 'TeX-clean) ;; clean, but leave the *.pdf

(setq TeX-PDF-mode t)

(setq TeX-view-program-selection '((output-pdf "Skim")))

(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)

(setq TeX-source-correlate-method 'synctex)

(add-hook 'LaTeX-mode-hook
    (lambda()
        (add-to-list 'TeX-expand-list
            '("%q" skim-make-url))))

(defun skim-make-url () (concat
    (TeX-current-line)
    " "
    (expand-file-name (funcall file (TeX-output-extension) t)
        (file-name-directory (TeX-master-file)))
    " "
    (buffer-file-name)
))

(setq TeX-view-program-list
    '(("Skim" "/Applications/Skim.app/Contents/SharedSupport/displayline %q")))

另请参阅:

https://tex.stackexchange.com/questions/111834/auctex-output-directory-copy-pdf-to-working-directory

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16004805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档