乳胶模式Cc Cc
势必:
(TeX-command-master &optional OVERRIDE-CONFIRM)
通常这种交互功能运行的命令,也许是一个LaTeX编译, 请求确认 。
在tex-buf.el
记载:
如果前缀参数OVERRIDE-CONFIRM给出,确认将取决于它是积极的,而不是在`TeX的命令清单”的条目。
这是一个有点神秘,我和读Ch v TeX-command-list
并没有帮助。
我怎样才能通过前缀参数“TEX-命令大师”,使我避免所有的确认请求?
Answer 1:
看看Emacs的文档 ,以了解前缀参数。 在一般情况下,你可以通过一个命令铜的前缀参数后跟一个数字。 对于一个位数,也可以只键入元后跟数字。 因此,要通过积极的前缀参数TeX-command-master
,您可以键入:
M-1 CC CC
然而,这实际上会增加一个小缓冲区的确认,也就是将要使用的shell命令编译LaTeX的来源。 如果没有前缀的说法,一个相关的命令,默认是用于这一点。
如果你想避免对使用该命令的问题,你可以绑定无证可变TeX-command-force
以“乳胶”通过:
(setq TeX-command-force "LaTeX")
然而,这将有你CC CC基本上结合了“乳胶”命令的缺点是,你不能使用任何其他命令,如“中文提供”或“查看”。
除此之外,乳胶模式不允许CC CC的任何定制。 你最好的选择是要么提醒功能TeX-command-query
或CC CC绑定到一个包装函数来设置TeX-command-force
动态。 后者很可能是更好的选择,如果你也想自动保存的缓冲区。
Answer 2:
看来,神秘OVERRIDE-CONFIRM
继续。 与此同时研究员建议,如果我们是管不了TeX-command-master
,我们可以简单地把它改写。
在我的版本,根据他,如果缓存不会被修改,外部观察者启动; 如果缓冲器被修改编译器运行。 一切都没有确认保存或运行指定的命令。
(defun my-run-latex ()
(interactive)
(if (buffer-modified-p)
(progn
(setq TeX-save-query nil)
(TeX-save-document (TeX-master-file))
(TeX-command "LaTeX" 'TeX-master-file -1))
(TeX-view)))
当然,你可以结合my-run-latex
到任何按键绑定。
所述视用户的角度,这是我自己的问题的解决方案。 难道我点击关闭标签? 好了,好奇的人来看我仍然有兴趣了解神秘TeX-command-master
技术性问题。
如果有人碰巧知道...
PS是的, TeX-save-query
重写保存文件的要求,也与TeX-command-master
,那就是Cc Cc
。 但是,你仍然会被要求确认命令操作。
Answer 3:
构建和查看
再次,这种解决方案,而不是修改的行为TeX-command-master
,重写它。 该命令的改写版本,命名为build-view
,遵循相当简单的逻辑。
- 如果LaTeX的文件缓冲区没有修饰,它运行在默认浏览器;
- 如果缓冲区是脏的,它运行在默认的LaTeX的编译器和,生成后,会打开默认浏览器的输出。
下面的代码:
(defun build-view ()
(interactive)
(if (buffer-modified-p)
(progn
(let ((TeX-save-query nil))
(TeX-save-document (TeX-master-file)))
(setq build-proc (TeX-command "LaTeX" 'TeX-master-file -1))
(set-process-sentinel build-proc 'build-sentinel))
(TeX-view)))
(defun build-sentinel (process event)
(if (string= event "finished\n")
(TeX-view)
(message "Errors! Check with C-`")))
现在,您可以键入Mx build-view
,并开始构建告诉视图进程或将其与新的按键绑定,如“F2”关联:
(add-hook 'LaTeX-mode-hook '(lambda () (local-set-key (kbd "<f2>") 'build-view)))
注:由于泰勒的建议, TeX-save-query
变量发生局部变化,所以老Cc Cc
/ TeX-command-master
不受影响,将继续要求确认。
请编辑此代码,使其更好或更容易阅读!
Answer 4:
我困惑了所述覆盖CONFIRM位了一段时间,并无法弄清楚它是如何工作的。 如果你想在你的文件自动运行乳胶,而不打扰一下先保存,或确认要乳胶(而不是视图,中文提供等),你可以使用这样的功能:
(defun my-run-latex ()
(interactive)
(TeX-save-document (TeX-master-file))
(TeX-command "LaTeX" 'TeX-master-file -1))
绑定这东西好用,你仍然会有Cc Cc
当你想使用默认的处理命令。 您可能需要修改的TeX-command
行,如果“乳胶”是不是你要拨打的处理器。
Answer 5:
如果你只是希望编译没有一个确认对话框乳胶源,只需添加以下到您的.emacs:
(setq TeX-command-force "")
然后,您可以编译CC CC源,它不会要求确认。 这种解决方案的唯一的问题是,你不能再更改命令,但与大多数文件,你不会想。 我可能表明,在同一时间,你可以将它添加到你的.emacs甚至更多的灵活性,给你一个CC CC相当于前者的行为:
(define-key LaTeX-mode-map "\C-c\C-a"
;;; 'a' for ask, change to anything you want
(lambda (arg) (interactive "P")
(let ((TeX-command-force nil))
(TeX-command-master arg))))
然后,您可以就在您的文档以外的地方工作,做了CX CS,CC CC然后抄送简历看到它。 像其他人建议你也可以做同样的save命令,并自动保存上编译,但我的一些文件是在CVS,所以我避免在投入挂钩。
感谢伊万对这个一些帮助 - 不知道他是在计算器上
Answer 6:
我认为这个问题的要点是“我怎么快速编译从AUCTeX我的TeX文档,而无需所有的按键和确认?”
我的回答是使用latexmk命令,而不是试图强迫AUCTeX做到这一点。
latexmk -pdf -PVC myfile.tex
latexmk将监控有问题的文件,并尽快将其保存重建它。 如果你使用一个很好的PDF阅读器,它会注意到在PDF中的变化,并立即重新显示出来。 在OS X,脱脂效果很好这一点。
文章来源: Emacs/AUCTeX prefix arguments