最简单的方式
那当然是使用 tectonic了,这家伙把latex那一堆简化成了一个可执行文件,后面的事情都替我们自动做了,简直不要太省心!
releases页面下载对应平台的压缩包,然后解压后(就一个可执行文件)放到环境变量中,完事!
;; init.el
(setq org-latex-pdf-process '("tectonic -Z shell-escape %f"))
怎么导出
当然是在Org文件中,按C-c C-e l o了。正常来说,你就看到用你的PDF阅读器打开了一个漂亮的PDF文件。
但是!中文不显示或者乱码
别慌,两种方法可以解决。
方法一,添加LATEX_HEADER
这种方案仅对当前的Org文件生效,换一个文件就又不行了。具体为,在Org文件的开头添加如下的代码:
#+LATEX_HEADER: \usepackage{ctex}
方法二,配置文件
你肯定不喜欢方法一,所以方法二就来了。全局生效。在init.el文件中添加如下代码即可。
(add-to-list 'org-latex-packages-alist '("" "ctex"))
哎呀,导出的内容有的行超出了页宽
比如aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa你导出一下看看,一定超出了页宽。
请教了一些人,搜索了一些资料后发现也有两种方案可用。
方案一,使用\-来添加可接受的折行
例如aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
那么就只会在出现 \- 的地方尝试折行。
方案二,使用seqsplit包
跟上面的ctex一样,我们使用上面的方法二:
;; init.el
(add-to-list 'org-latex-packages-alist '("" "seqsplit"))
在使用到的地方用seqsplit宏包裹一下内容即可自动的进行折行:
\seqsplit{aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa}
代码块导出:高亮与边框
;; init.el
(setq org-latex-listings 'minted)
(add-to-list 'org-latex-packages-alist '("" "minted"))
;; 指定高亮的主题
#+LATEX_HEADER: \usemintedstyle{tango}
;; 指定是否折行,是否显示行号,是否显示边框
#+ATTR_LATEX: :options frame=lines,numbers=left,breaklines
#+begin_src Python
import os
#+end_src
持续学习,持续记录中