配置Emacs org-mode利用latex生成pdf文件

来源:互联网 发布:java是脚本语言吗 编辑:程序博客网 时间:2024/06/05 17:48

Table of Contents

  • 1 Background
    • 1.1 关于更新org mode
  • 2 配置
  • 3 使用
  • 4 用org生成的此文pdf版

1 Background

我用的texlive2011+ubuntu+xelatex+emacs23.3+org7.8.11

1.1 关于更新org mode

23.3.自带的org-mode 好像 不行。下载最新的org-mode:http://orgmode.org/org-7.8.11.zip

.emacs中加入: (setq load-path (cons "org-7.8.11所在目录/lisp" load-path))

2 配置

在.emacs中加入以下代码1,2,3

;; org-mode(setq load-path (cons "~/.emacs.d/org-7.8.11/lisp" load-path))(add-hook 'org-mode-hook (lambda () (setq truncate-lines nil)))(require 'org-install)(require 'org-latex);; 使用xelatex一步生成PDF(setq org-latex-to-pdf-process'("xelatex -interaction nonstopmode %f""xelatex -interaction nonstopmode %f"));; code执行免应答(Eval code without confirm)(setq org-confirm-babel-evaluate nil);; Auctex(setq TeX-auto-save t)(setq TeX-parse-self t)(setq-default TeX-master nil)(defun org-mode-article-modes ()  (reftex-mode t)  (and (buffer-file-name)       (file-exists-p (buffer-file-name))       (reftex-parse-all)))(add-hook 'org-mode-hook          (lambda ()            (if (member "REFTEX" org-todo-keywords-1)                (org-mode-article-modes))))(unless (boundp 'org-export-latex-classes)  (setq org-export-latex-classes nil))(add-to-list 'org-export-latex-classes             '("cn-article"               "\\documentclass[10pt,a4paper]{article}\\usepackage{graphicx}\\usepackage{xcolor}\\usepackage{xeCJK}\\usepackage{lmodern}\\usepackage{verbatim}\\usepackage{fixltx2e}\\usepackage{longtable}\\usepackage{float}\\usepackage{tikz}\\usepackage{wrapfig}\\usepackage{soul}\\usepackage{textcomp}\\usepackage{listings}\\usepackage{geometry}\\usepackage{algorithm}\\usepackage{algorithmic}\\usepackage{marvosym}\\usepackage{wasysym}\\usepackage{latexsym}\\usepackage{natbib}\\usepackage{fancyhdr}\\usepackage[xetex,colorlinks=true,CJKbookmarks=true,linkcolor=blue,urlcolor=blue,menucolor=blue]{hyperref}\\usepackage{fontspec,xunicode,xltxtra}\\setmainfont[BoldFont=Adobe Heiti Std]{Adobe Song Std}  \\setsansfont[BoldFont=Adobe Heiti Std]{AR PL UKai CN}  \\setmonofont{Bitstream Vera Sans Mono}  \\newcommand\\fontnamemono{AR PL UKai CN}%等宽字体\\newfontinstance\\MONO{\\fontnamemono}\\newcommand{\\mono}[1]{{\\MONO #1}}\\setCJKmainfont[Scale=0.9]{Adobe Heiti Std}%中文字体\\setCJKmonofont[Scale=0.9]{Adobe Heiti Std}\\hypersetup{unicode=true}\\geometry{a4paper, textwidth=6.5in, textheight=10in,marginparsep=7pt, marginparwidth=.6in}\\definecolor{foreground}{RGB}{220,220,204}%浅灰\\definecolor{background}{RGB}{62,62,62}%浅黑\\definecolor{preprocess}{RGB}{250,187,249}%浅紫\\definecolor{var}{RGB}{239,224,174}%浅肉色\\definecolor{string}{RGB}{154,150,230}%浅紫色\\definecolor{type}{RGB}{225,225,116}%浅黄\\definecolor{function}{RGB}{140,206,211}%浅天蓝\\definecolor{keyword}{RGB}{239,224,174}%浅肉色\\definecolor{comment}{RGB}{180,98,4}%深褐色\\definecolor{doc}{RGB}{175,215,175}%浅铅绿\\definecolor{comdil}{RGB}{111,128,111}%深灰\\definecolor{constant}{RGB}{220,162,170}%粉红\\definecolor{buildin}{RGB}{127,159,127}%深铅绿\\punctstyle{kaiming}\\title{}\\fancyfoot[C]{\\bfseries\\thepage}\\chead{\\MakeUppercase\\sectionmark}\\pagestyle{fancy}\\tolerance=1000[NO-DEFAULT-PACKAGES][NO-PACKAGES]"("\\section{%s}" . "\\section*{%s}")("\\subsection{%s}" . "\\subsection*{%s}")("\\subsubsection{%s}" . "\\subsubsection*{%s}")("\\paragraph{%s}" . "\\paragraph*{%s}")("\\subparagraph{%s}" . "\\subparagraph*{%s}")));; 使用Listings宏包格式化源代码(只是把代码框用listing环境框起来,还需要额外的设置)(setq org-export-latex-listings t);; Options for \lset command(reference to listing Manual)(setq org-export-latex-listings-options      '(        ("basicstyle" "\\color{foreground}\\small\\mono")           ; 源代码字体样式        ("keywordstyle" "\\color{function}\\bfseries\\small\\mono") ; 关键词字体样式        ("identifierstyle" "\\color{doc}\\small\\mono")        ("commentstyle" "\\color{comment}\\small\\itshape")         ; 批注样式        ("stringstyle" "\\color{string}\\small")                    ; 字符串样式        ("showstringspaces" "false")                                ; 字符串空格显示        ("numbers" "left")                                          ; 行号显示        ("numberstyle" "\\color{preprocess}")                       ; 行号样式        ("stepnumber" "1")                                          ; 行号递增        ("backgroundcolor" "\\color{background}")                   ; 代码框背景色        ("tabsize" "4")                                             ; TAB等效空格数        ("captionpos" "t")                                          ; 标题位置 top or buttom(t|b)        ("breaklines" "true")                                       ; 自动断行        ("breakatwhitespace" "true")                                ; 只在空格分行        ("showspaces" "false")                                      ; 显示空格        ("columns" "flexible")                                      ; 列样式        ("frame" "single")                                          ; 代码框:阴影盒        ("frameround" "tttt")                                       ; 代码框: 圆角        ("framesep" "0pt")        ("framerule" "8pt")        ("rulecolor" "\\color{background}")        ("fillcolor" "\\color{white}")        ("rulesepcolor" "\\color{comdil}")        ("framexleftmargin" "10mm")        ));; Make Org use ido-completing-read for most of its completing prompts.(setq org-completion-use-ido t);; 各种Babel语言支持(org-babel-do-load-languages 'org-babel-load-languages '((R . t)   (emacs-lisp . t)   (matlab . t)   (C . t)   (perl . t)   (sh . t)   (ditaa . t)   (python . t)   (haskell . t)   (dot . t)   (latex . t)   (js . t)   ));; 导出Beamer的设置;; allow for export=>beamer by placing #+LaTeX_CLASS: beamer in org files;;-----------------------------------------------------------------------------(add-to-list 'org-export-latex-classes             ;; beamer class, for presentations             '("beamer"               "\\documentclass[11pt,professionalfonts]{beamer}\\mode\\usetheme{{{{Warsaw}}}}%\\usecolortheme{{{{beamercolortheme}}}}\\beamertemplateballitem\\setbeameroption{show notes}\\usepackage{graphicx}\\usepackage{tikz}\\usepackage{xcolor}\\usepackage{xeCJK}\\usepackage{amsmath}\\usepackage{lmodern}\\usepackage{fontspec,xunicode,xltxtra}\\usepackage{polyglossia}\\setmainfont{Times New Roman}\\setCJKmainfont{DejaVu Sans YuanTi}\\setCJKmonofont{DejaVu Sans YuanTi Mono}\\usepackage{verbatim}\\usepackage{listings}\\institute{{{{beamerinstitute}}}}\\subject{{{{beamersubject}}}}"               ("\\section{%s}" . "\\section*{%s}")               ("\\begin{frame}[fragile]\\frametitle{%s}"                "\\end{frame}"                "\\begin{frame}[fragile]\\frametitle{%s}"                "\\end{frame}")))(setq ps-paper-type 'a4      ps-font-size 16.0      ps-print-header nil      ps-landscape-mode nil)

3 使用

在欲导出成pdf的org文件开始位置加上以下代码:

#+LATEX_CLASS: cn-article

其中cn-article是以上代码:

(add-to-list 'org-export-latex-classes             '("cn-article"

中起我的名字(当然你也可以改成自己的)。同理在导出成幻灯片的org文件开始位置必须加上

#+LATEX_CLASS: beamer

4 用org生成的此文pdf版

下载

Footnotes:

1 此配置参考了:http://tangboyun.ixiezi.com/index.php/2011/05/latex-export-in-emacs-org-mode

2 需要将和font有关的设置成自己系统上的字体,可以用fc-list查看

3 关于多文件管理配置可以参考我的博文:http://blog.csdn.net/pfanaya/article/details/7669313

Date: 2012-06-16 18:35:23 CST

Author: visaya fan

Org version 7.8.11 with Emacs version 23

Validate XHTML 1.0
原创粉丝点击