我已经使用 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 的角度来看这是否是一种好的做法。