我正在尝试为便携式emacs链接到便携式LaTeX编译器和R for Sweave创建快捷方式,但我对使用的语言知之甚少.emacs(这是Lisp?)
目前我使用fullpath-relative-to-current-file从http://xahlee.org/emacs/elisp_relative_path.html获取的路径.emacs(USBDRIVE/Documents获取),然后获取编译器的相对路径并调用它,buffer-file-name其中包括完整路径和文件名,包括扩展名的扩展名:
(global-set-key (kbd "C-c s")
(lambda ()
(interactive)
(cond ((string-equal (file-name-extension (buffer-file-name)) "tex")
(shell-command (concat (fullpath-relative-to-current-file "../PortableApps/miktex/miktex/bin/pdflatex ") buffer-file-name)))
)
(cond ((string-equal (file-name-extension (buffer-file-name)) "Rnw")
(shell-command (concat (fullpath-relative-to-current-file "../PortableApps/R/R-2.14.1/bin/R CMD Sweave ") buffer-file-name " --pdf")))
)
)
)
Run Code Online (Sandbox Code Playgroud)
这允许我用来C-c s在tex文件和SweaveRnw文件上运行LaTeX .现在我想包括对bibtex的调用,但为此我需要文件的文件名和路径,tex没有扩展名.我怎样才能做到这一点?