我按照http://juanjose.garciaripoll.com/blog/latex-with-emacs-on-windows 配置了,现在能从tex定位到pdf去,但不能Sumatra返回到tex代码上去,每次双击pdf,都会报emacsclietw句柄错误
如果我把sumatra里头的命令改成emacs.exe的话,就会新建一个新的emacs应用
请问有没有配置成功的呢?
我按照http://juanjose.garciaripoll.com/blog/latex-with-emacs-on-windows 配置了,现在能从tex定位到pdf去,但不能Sumatra返回到tex代码上去,每次双击pdf,都会报emacsclietw句柄错误
如果我把sumatra里头的命令改成emacs.exe的话,就会新建一个新的emacs应用
请问有没有配置成功的呢?
你把 sumatra 命令路径中的/
改为\
试试
我一直都在用 synctex,可以从 pdf 跳到 TeX 文件上。但是比较好奇你说的正向定位。点击 TeX 文件跳到 pdf 上?
因为我一直都在用 org 导出 pdf,这个功能对我意义不大。
我说的正向就这样,我设定了shift加鼠标右键进行跳转
(setq TeX-source-correlate-start-server t)
emacs端还缺一句这个,现在好了,sumatra端还是用emacsclientw.exe的路径
我也试试,这个要是能在 org 和 pdf 进行就好了
你绑定到 shift+鼠标右键的函数名称是什么?
Edit:我试出来了,就是 TeX-view
但是我的TeX-source-correlate-start-server
的值是设为nil
的,一样可以正向反向搜索。因为我用的是 Linux 的缘故?
maybe,我还没在linux上测试,我记得配合evince很好弄
是的,有些事情在 Linux 上面做是比在 Windows 上面容易些
请问你的org导pdf的工作流是怎么样的呢?主要用来做什么呢?我这里是为了做课件的,公式太多了。
写文章或者做课件都可以的,没有什么特别的,就是 LaTeX 都写成 latex-fragment 的形式,方便预览。为了方便编辑,我自己还写了一个 org-edit-latex 插件,现在在 melpa 上。
但是我发现用 org 写比较麻烦的地方是,一旦调整章节位置以后,所生成的 PDF 文档中 Reference link 全都指向错误的位置,这个比较令人头痛。不知道有没有什么好的解决办法。用 AucTeX 写是不是没有这方面的问题?
PS:用 edit-server 编辑论坛帖子简直停不下来啊,总想一直写下去
刚才看了下,使用edit-server有啥特别的好处么?我在windows上用了autohotkey,模拟了大量emacs键位
好处是显而易见的,你在用 emacs 的时候所有那些函数,Snippets,modes 都可以用在这里,而不仅仅是移动光标的快捷键。
写论坛帖子的时候自动补全不要太爽
缺点就是我还没有想好怎样插图
写帖子的时候能用snippet,有代码高亮(论坛上高亮有点问题),方便缩进。而且他用的是 evil ,本身系统也是linux,能用readline快捷键。
一个小例子说明用 edit-server 的优越性:
(add-hook 'edit-server-edit-mode-hook (lambda () (goto-char (point-max)) (evil-hybrid-state)))
这样我编辑帖子的时候就自动切换到 hybrid-state,并且将光标移动到帖子的末尾。
PS: 在 chrome 插件上我设置的是双击编辑。
PPS:这个帖子好像楼歪得有点远。
说实话,这个latex跟pdf之间互相跳转的功能看似很酷,然而我却不觉得这有什么作用,自己的代码,还不知道哪儿对应着哪儿吗?我也用 emacs 写 latex 代码。
道理就和能用记事本写为什么还要用Emacs一样。
Emacs用户花了一个小时写一段代码解决一个小操作,但是这个操作能节约不下万次。
写毕业论文就有用了
这个是可以在tex的文件里直接跳转到pdf文件,但是跳转位置不对要怎么解决 另外,我在pdf里面双击文字跳转不到emacs,没有反应,下面是在sumtra pdf里面设置的,不知道对不对:
"C:\TC\Software\Emacs\Emacs-64bit\bin\emacsclientw.exe" -n +%l "%f"
还有,怎么实现在org与pdf之间的跳转啊?
(setq TeX-PDF-mode t)
(setq TeX-source-correlate-mode t)
(setq TeX-source-correlate-method 'synctex)
(setq TeX-view-program-list
'(("Sumatra PDF" ("\"c:/Program Files/SumatraPDF/SumatraPDF.exe\" -reuse-instance"
(mode-io-correlate " -forward-search %b %n -inverse-search \"c:/Users/kirchhoff/Desktop/emacs/bin/emacsclientw.exe -n +%%l %%f\"") " %o"))))
(eval-after-load 'tex
'(progn
(assq-delete-all 'output-pdf TeX-view-program-selection)
(add-to-list 'TeX-view-program-selection '(output-pdf "Sumatra PDF"))))
;; ctrl+shitf 从pdf跳回emacs
(add-hook 'LaTeX-mode-hook
#'(lambda ()
(add-to-list 'TeX-command-list '("XeLaTeX" "%`xelatex --synctex=1%(mode)%' %t" TeX-run-TeX nil t))
(setq TeX-command-extra-options "-file-line-error -shell-escape")
(setq TeX-command-default "XeLaTeX")
(setq TeX-save-query nil ) ;; 这一行不用确认保存就开始执行编译;
))
(setq TeX-view-program-selection '(((output-dvi style-pstricks) "dvips and start") (output-dvi "Yap") (output-pdf "SumatraPDF") (output-html "start")))
(setq TeX-output-view-style '(("^dvi$" "^pstricks$\\|^pst-\\|^psfrag$" "dvips %d -o && start \"\" %f") ("^dvi$" "." "yap -1 %dS %d") ("^pdf$" "." "c:/Program Files/SumatraPDF/SumatraPDF.exe -reuse-instance \"\" %o") ("^html?$" "." "start \"\" %o")))
(setq TeX-source-correlate-start-server t)
;; 相当关键, pdf调回的成败在此一句
(add-hook 'LaTeX-mode-hook
(lambda () (local-set-key (kbd "<S-mouse-3>") #'TeX-view)) ;shift+鼠标右键
)
)
这么弄的话,不用设置Sumatra pdf,你C-c C-c后产生的Sumatra实例里会自动填好 另外,org和pdf我没弄过