* README :README: ** 简介 org2ctex 是一个 org-mode 工具,它å¯ä»¥å¸®åŠ© org-mode 䏿–‡ç”¨æˆ·ç®€å•快速的 é…ç½® "org->latex->pdf" 工作环境。 注æ„, è¿™ä¸ªå·¥å…·åªæ˜¯è®© 䏿–‡ pdf *基本æ£ç¡®* 的生æˆï¼Œå¦‚æžœä½ éœ€è¦ç”Ÿæˆ *完美* çš„ä¸æ–‡ pdf, 就需è¦èŠ±æ—¶é—´æ·±å…¥çš„äº†è§£ä¸‹é¢å·¥å…·ï¼š 1. TeX 系统,比如:TexLive 2. Ctex å®åŒ…以åŠå…¶ç›¸å…³å·¥å…·ï¼ˆå®žçް䏿–‡ LaTeX çš„ä¸»è¦æ–¹å¼ï¼‰ 3. ox-latex.el (org-mode çš„ Latex 导出模å—) å¦å¤–需è¦ç”¨æˆ·äº†è§£çš„问题是:TeX 的引擎有许多ç§ç±»ï¼Œæ¯”如: pdftex, xetex 或者 luatex, æ¯ä¸€ç§å¼•æ“Žéƒ½æœ‰ç‰¹æ®Šçš„ä¸æ–‡è®¾ç½®ï¼Œox-latex å¯ä»¥é€šè¿‡è®¾ç½®æ¥æ”¯æŒä¸Šè¿°æ‰€æœ‰ TeX 引擎, 而 org2ctex *硬绑定* 到 xetex, *åªæ”¯æŒ xetex* , å› ä¸º xetex å¯ä»¥ 通过 xft æ¥è°ƒç”¨ç³»ç»Ÿä¸çš„å—ä½“ï¼Œä¸æ–‡é…置比较容易,但 xetex ç”Ÿæˆ pdf 的速度比较慢, *我在这里告诉大家,ä¸è¦å› 为 org2ctex 的方便而é™åˆ¶äº†è‡ªå·±çš„æ€è·¯ï¼* [[./snapshots/org2ctex.gif]] ** 下载并安装 Texlive *** 下载 Tex Live ISO é•œåƒ TeX Live æ”¯æŒ Linux,Windows ä»¥åŠ MacOX å¤šç§æ“作系统,安装方å¼å¤šç§å¤šæ ·ï¼Œ 由于我这里网络ä¸å¤ªç¨³å®šï¼Œæ‰€ä»¥æˆ‘选择通过 Tex Live ISO æ¥å®‰è£… Tex Live (文件大å°å¤§çº¦3G), Tex Live 主站访问速度很慢,建议åŒå¦ä»¬ä½¿ç”¨å›½å†…镜åƒï¼Œè®¸å¤š Linux 镜åƒç«™ç‚¹éƒ½åŒæ—¶åŒ…å« CTAN。 大家å¯ä»¥åœ¨ http://www.cnbeta.com/articles/194758.htm 列出的镜åƒç«™ç‚¹ä¸å¯»æ‰¾ “CTAN†å目录,两个比较好用的 CTAN 镜åƒï¼š 1. ä¸å›½ç§‘å¦æŠ€æœ¯å¤§å¦é•œåƒï¼šhttp://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/ 2. 清åŽå¤§å¦é•œåƒï¼šhttp://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/Images/ *** 挂载已ç»ä¸‹è½½çš„ ISO é•œåƒ 1. 下载安装 [[http://wincdemu.sysprogs.org/][wincdemu]], winmount 或者 DAEMON Tools, 这类工具å¯ä»¥å°† ISO 文件挂载到一个盘符,比直接解压缩快速方便。 2. å°† ISO é•œåƒæŒ‚载到 “Z:\†*** è¿è¡Œå®‰è£…ç¨‹åº 1. 打开 “Z†盘。 2. *完全安装* 请è¿è¡Œ “install-tl.batâ€ï¼Œè¿™ç§æ–¹å¼æ¯”较çœå¿ƒï¼Œä½†å¾ˆå 空间。 3. *定制安装* 请è¿è¡Œ “install-tl-advanced.batâ€ ï¼Œè¿™ç§æ–¹å¼ç›¸å¯¹éº»çƒ¦ï¼Œä½†èŠ‚çœå®‰è£…时间和硬盘空间。 æ³¨ï¼šå®‰è£…çš„æ—¶å€™å»ºè®®å…³é—æ€æ¯’软件。 *** è®¾ç½®å®‰è£…å‚æ•° è¿è¡Œå®‰è£…程åºåŽï¼Œä¼šå¼¹å‡ºä¸€ä¸ªçª—å£ï¼ˆæ¯”较丑陋)用于设置安装选项,在 “选择安装方案†选项ä¸é€‰æ‹© “scheme-smallâ€ï¼Œ 其它选项ä¸å˜ï¼Œç„¶åŽå¼€å§‹å®‰è£…ï¼ˆå®‰è£…å¤§æ¦‚éœ€è¦ 5 分钟左å³ï¼‰ã€‚ [[./snapshots/advanced-install.gif]] *** 安装所需è¦çš„ Latex å®åŒ… **** ç¬¬ä¸€ç§æ–¹å¼ï¼šä½¿ç”¨ Tex Live 管ç†å™¨å›¾å½¢ç•Œé¢å®‰è£… [[./snapshots/install-latex-package-with-gui.gif]] 1. è¿è¡Œ Tex Live 管ç†å™¨ï¼š 开始 > ç¨‹åº > Tex Live 2015 > Tex Live Manager 2. 载入本地å®åŒ…仓库:tlmgr > è½½å…¥å…¶å®ƒä»“åº“ï¼Œåœ¨å¼¹å‡ºçš„å¯¹è¯æ¡†ä¸é€‰æ‹© “choose local directoryâ€ï¼Œè½½å…¥æœ¬åœ°ä»“库 “Z:â€ã€‚ 3. 安装所需å®åŒ…: collection-langcjk, collection-langchinese, ctex, ctex-faq, bibtex8, environ, trimspaces, zhnumber, wrapfig, capt-of, latexmk, dvipng, dvisvgm **** ç¬¬äºŒç§æ–¹å¼ï¼šä½¿ç”¨ tlmge 命令安装 1. è¿è¡Œ window CMD 2. 设置 Latex å®åŒ…仓库 #+BEGIN_EXAMPLE tlmgr option repository Z: #+END_EXAMPLE 3. 更新设置 #+BEGIN_EXAMPLE tlmgr update -all #+END_EXAMPLE 4. 安装所需å®åŒ… #+BEGIN_EXAMPLE tlmgr install collection-langcjk collection-langchinese ctex ctex-faq bibtex8 environ trimspaces zhnumber wrapfig capt-of latexmk dvipng dvisvgm #+END_EXAMPLE ** 安装 org2ctex 1. é…ç½® melpa: http://melpa.org/#/getting-started 2. M-x package-install RET org2ctex RET ** é…ç½® org2ctex #+BEGIN_EXAMPLE (require 'org2ctex) (org2ctex-toggle t) #+END_EXAMPLE ** 高级设置 *** 如何选择默认 class 设置å˜é‡ `org2ctex-latex-default-class', 默认有四个选项 å¯ä»¥é€‰æ‹©: "ctexart", "ctexrep", "ctexbook" å’Œ "beamer", 用户å¯ä»¥é€šè¿‡è®¾ç½® `org2ctex-latex-classes' æ¥æ·»åŠ æ›´å¤šçš„ class é…置。 *** å¦‚ä½•æ·»åŠ Latex å®åŒ… 设置 `org2ctex-latex-packages-alist', 这个å˜é‡çš„设置方å¼å’Œ `org-latex-packages-alist' ä¸€æ ·ï¼Œè¯·å‚考 org 手册。 *** 如何导出 org2ctex çš„é…ç½® 使用 `org2ctex-insert-configure-template' åœ¨å½“å‰ buffer çš„å…‰æ ‡å¤„ æ’入一段 Emacs é…置代ç , 这段 elisp 代ç 的功能和 org2ctex 的功能 *åŸºæœ¬ä¸€æ ·* , 用户å¯ä»¥æŠŠè¿™æ®µä»£ç åšä¸ºè‡ªå·±çš„ org 䏿–‡é…ç½®æ¥è¿›ä¸€æ¥è°ƒæ•´ä¼˜åŒ–。 *** 如何ç¦ç”¨è‡ªåŠ¨è®¾ç½® LaTeX å—体功能 Org2ctex 默认会æœç´¢å½“å‰ç³»ç»Ÿ *å¯ç”¨* çš„å—体,æ¥è‡ªåŠ¨è®¾ç½® LaTeX å—体, 但å—体显示效果未必好,用户å¯ä»¥ä½¿ç”¨ä¸‹é¢çš„ä»£ç æ¥ç¦ç”¨è¿™ä¸ªåŠŸèƒ½ã€‚ #+BEGIN_EXAMPLE (setq org2ctex-latex-fonts nil) #+END_EXAMPLE ** 如何设置 LaTeX 片æ–预览功能 1. ç¡®ä¿ Emacs å¯ä»¥æ˜¾ç¤º png 文件,具体å‚考:ftp://ftp.gnu.org/gnu/emacs/windows/README 2. 安装 [[http://www.imagemagick.org/][imagemagick]] å’Œ [[http://ghostscript.com/][ghostscript]] 3. 设置 Emacs #+BEGIN_EXAMPLE ;; (setq org-latex-create-formula-image-program 'dvipng) ;速度很快,但 *默认* 䏿”¯æŒä¸æ–‡ (setq org-latex-create-formula-image-program 'imagemagick) ;速度较慢,但支æŒä¸æ–‡ (setq org-format-latex-options (plist-put org-format-latex-options :scale 2.0)) ;调整 LaTeX é¢„è§ˆå›¾ç‰‡çš„å¤§å° (setq org-format-latex-options (plist-put org-format-latex-options :html-scale 2.5)) ;调整 HTML æ–‡ä»¶ä¸ LaTeX 图åƒçš„å¤§å° #+END_EXAMPLE ** 常è§é”™è¯¯æŽ’查和解决 *** 我使用 MSYS2 内置的 Emacs, æ— æ³•æ‰¾åˆ° texlive 相关的命令 MSYS2 默认ä¸è¯»å– window 系统的 PATH 设置,用户å¯ä»¥æ›´æ”¹ MSYS2 çš„å¿«æ·æ–¹å¼ï¼Œä¸ºå¿«æ·æ–¹å¼æ·»åŠ "-full-path" 傿•° (å³å‡»å¿«æ·æ–¹å¼ï¼Œé€‰æ‹© “属性â€ï¼Œæ›´æ”¹ â€œç›®æ ‡â€ï¼‰ 比如: #+BEGIN_EXAMPLE "C:\msys32\msys2_shell.cmd -mingw32 -full-path" #+END_EXAMPLE *** è½¬æ¢æ—¶å—体åå—ä¹±ç ç¡®ä¿ org æºæ–‡ä»¶ä¿å˜ä¸º UTF-8 æ ¼å¼ï¼ŒGBK æ ¼å¼çš„æ–‡ä»¶å¤„ç†èµ·æ¥æœ‰é—®é¢˜ã€‚ *** 䏿–‡ç›®å½•下的 org æ–‡ä»¶æ— æ³•è½¬æ¢ä¸º pdf 文件 这个问题å¯ä»¥ä½¿ç”¨ latexmk 命令é…åˆ "%b.tex" (仅仅使用文件åï¼Œè€Œä¸æ˜¯æ–‡ä»¶çš„ç»å¯¹è·¯å¾„) æ¥è§„é¿ï¼Œæ¯”如: #+BEGIN_EXAMPLE (setq org2ctex-latex-commands '("latexmk -xelatex -gg -pdf %b.tex")) #+END_EXAMPLE *** 缺少必è¦çš„ Latex å®åŒ… **** è¡¨çŽ°å½¢å¼ 1. message buffer䏿œ‰ç±»ä¼¼è¾“出 #+BEGIN_EXAMPLE Processing LaTeX file ./export-org-file-to-pdf-with-ctex.tex... PDF file ./export-org-file-to-pdf-with-ctex.pdf wasn't produced #+END_EXAMPLE 2. *Org PDF LaTeX Output* buffer 䏿œ‰ç±»ä¼¼è¾“出 #+BEGIN_EXAMPLE ... (c:/texlive/2015/texmf-dist/tex/generic/oberdiek/ltxcmds.sty) (c:/texlive/2015/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty (c:/texlive/2015/texmf-dist/tex/generic/oberdiek/infwarerr.sty) (c:/texlive/2015/texmf-dist/tex/generic/oberdiek/etexcmds.sty (c:/texlive/2015/texmf-dist/tex/generic/oberdiek/ifluatex.sty)))) (c:/texlive/2015/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty)) (c:/texlive/2015/texmf-dist/tex/latex/tools/longtable.sty) ! LaTeX Error: File `wrapfig.sty' not found. Type X to quit or <RETURN> to proceed, or enter new name. (Default extension: sty) Enter file name: ! Emergency stop. <read *> l.8 \usepackage {rotating}^^M No pages of output. ... #+END_EXAMPLE **** è§£å†³æ–¹å¼ #+BEGIN_EXAMPLE ! LaTeX Error: File `wrapfig.sty' not found. #+END_EXAMPLE 这个错误æç¤ºè¯´æ˜Žï¼Œä½ 安装的 Tex Live 䏿²¡æœ‰åŒ…å« wrapfig.sty 这个文件,需è¦ä½ 安装,解决方å¼ï¼š 1. 直接试ç€å®‰è£… “wrapfig†å®åŒ… #+BEGIN_EXAMPLE tlmgr option repository Z: tlmgr update -all tlmgr install wrapfig #+END_EXAMPLE 2. 如果没有找到 “wrapfig†å®åŒ…ï¼Œä½ éœ€è¦æ‰¾åˆ°å“ªä¸ªå®åŒ…åŒ…å« wrapfig.sty,一个简å•的方å¼å°±æ˜¯ç”¨ google æœç´¢ wrapfig.sty,一般会有相关的信æ¯ã€‚