emacs下org-mode导出pdf时pdflatex无法找到的问题解决方案

配置环境

  1. Deepin15.6(Linux)
  2. emacs25.2

发现的问题

  1. 系统没有找到pdflatex命令,org-mode无法导出latex的pdf

解决步骤

  1. 安装texlive2018,因为pdflatex是texlive中的工具之一,texlive是tex的一个发行版
  2. 在emacs中设置可执行路径(exec-path),和环境变量(PATH)

安装texlive2018

安装所需要的依赖包

sudo apt-get install libdigest-perl-md5-perl perl-tk

获取texlive2018镜像

  1. 获取镜像地址

挂载镜像并安装

sudo mount -o loop texlive2018.iso /mnt/  
cd /mnt/  
sudo ./install-tl

提示选项下,输入“I”即可进行下载

配置环境变量

  1. 在 ~/.bash.profile 下添加如下内容

    export MANPATH= MANPATH:/usr/local/texlive/2018/texmfdist/doc/manexportINFOPATH= M A N P A T H : / u s r / l o c a l / t e x l i v e / 2018 / t e x m f − d i s t / d o c / m a n e x p o r t I N F O P A T H = {INFOPATH}:/usr/local/texlive/2018/texmf-dist/doc/info
    export PATH=${PATH}:/usr/local/texlive/2018/bin/x86_64-linux/

  2. 保存后, 执行命令

    source ~/.bash_profile

卸载镜像

sudo umount /mnt

测试

test.latex:

\documentclass{ctexart}
\begin{document}
    $ \prod_{k=1}^n k=n! $
    \end{document}

输入命令进行测试:

xelatex test.latex

打开对应的pdf文档查看即可

配置emacs的环境变量

因为在Linux下,emacs不会加载zsh中的环境变量,因此需要需要设置“PATH”变量,才能通过“C-c C-e l p”键生成并导出latex的pdf文件,否则会提示错误,无法找到pdflatex文件
在“.emacs”文件下,或自己的配置文件下添加如下内容

(setenv "PATH"
        (concat
         "/usr/local/texlive/2018/bin/x86_64-linux" ":"
         (getenv  "PATH")
         )
    )
(let (
        (mypaths
         '(
           "/usr/local/texlive/2018/bin/x86_64-linux"
           ))
        )
    (setq exec-path (append exec-path mypaths) )
    )

其中,”exec-path“变量是可执行文件路径
此处具体可参考设置环境变量与可执行文件路径

结语

  1. emacs真是很让人折腾,但是折腾成功之后,自信心也是满满的,希望自己坚持使用,坚持使用org-mode管理日常,写博客。
  2. 参考文章
    • linux下安装texlive2017
    • Emacs: Set Environment Variables within Emacs

你可能感兴趣的:(emacs)