如何更改默认编译器?

如何更改默认编译器?

我已经使用 LaTeX 大约一年了,并且对 TextMate 相当熟练。我目前正在尝试使用 Emacs 和 AucTeX。我安装了入门套件Keiran Healy 提供的。一切似乎都运行良好(所有包都在那里并且可用),但我无法编译 .tex 文件。我收到以下错误:

Running `LaTeX' on `test' with ``xelatex --synctex=1 -interaction=nonstopmode "\input" test.tex''
/bin/sh: xelatex: command not found
LaTeX exited abnormally with code 127 at Thu Apr 26 21:02:58

我猜想这可能是一个很容易修复的问题,但我在这里搜索时找不到解决方案。当我在 Textmate 中编译文件时,它说它正在使用 pdfTeX。我想我会使用它,因为我以前没有遇到过任何问题。任何可以帮助我启动和运行的帮助都将不胜感激。

答案1

您可以使用M-x customize-variable。然后输入TeX-engine并再次按回车键。然后您可以从 TeX 引擎列表中进行选择并保存您的选择。如果您需要向列表中添加条目,则可以使用变量来实现TeX-engine-alist。您可以在此处找到所有选项:http://www.gnu.org/software/auctex/manual/auctex/Processor-Options.html

答案2

我必须设置 Emacs 的路径:它与终端使用的路径不同。我所做的是:

  • 在终端中我查看了env(具体来说PATH)的值
  • 在 Emacs 中,我输入M-x setenv, variable = PATH
  • 我粘贴了与终端中相同的值,现在我可以毫无问题地进行编译。

答案3

$HOME.MacOSX/environment.plist多年来,我一直将 Emacs 与 Mac OS X 一起使用,因此我使用包含我想要设置的所有环境变量的文件。该文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>LANG</key>
    <string>de_DE.UTF-8</string>
    <key>MM_CHARSET</key>
    <string>UTF-8</string>
    <key>PATH</key>
    <string>/opt/local/bin:/opt/local/sbin:/Applications/Emacs.app/Contents/MacOS/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/texbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/Developer/Tools:/Users/brf/bin</string>
    <key>PYTHONSTARTUP</key>
    <string>/Users/brf/.pythonrc.py</string>
    <key>PYTHONPATH</key>
    <string>/Users/brf/lib/Python</string>
</dict>
</plist>

Emacs 读取此文件。其他一些程序则不读取。因此,我必须读取.bashrc符号链接到的设置.profile。因此,两个文件都以如下方式开始:

export PATH=$(defaults read "${HOME}/.MacOSX/environment" PATH)
export LANG=$(defaults read "${HOME}/.MacOSX/environment" LANG)
export MM_CHARSET=$(defaults read "${HOME}/.MacOSX/environment" MM_CHARSET)
export PYTHONSTARTUP=$(defaults read "${HOME}/.MacOSX/environment" PYTHONSTARTUP)
export PYTHONPATH=$(defaults read "${HOME}/.MacOSX/environment" PYTHONPATH) 

您的设置可能有所不同。优点是仅在一个文件中设置环境变量。以任何方式打开的 Emacs(我使用 23.4.1)都会找到您的 PATH。

答案4

如果您在 emacs 中打开一个 shell(Mx shell),那么您可以检查 emacs 中的 PATH 变量是什么。根据上面人们的说法,问题在于 emacs shell 不知道您的路径。解决此问题的一种方法是在 kjhealy 的 emacs-starter-kit 中的个人 .org 文件中添加一些内容。您可以添加:

    *** PATH settings
    Emacs doesn't seem to see the user's choice of PATH, 
    which should be set in .bash_profile, 
    so we have to set the path here.  
    Below is the directory for latex executables in MacTeX-2011.

    #+srcname: path-settings
    #+begin_src emacs-lisp 
      (setenv "PATH" (concat "/usr/local/bin:/usr/texbin:" (getenv "PATH")))
    #+end_src

我想知道从 ESK 的角度来看这是否是一种好的做法。

相关内容