]> git.donarmstrong.com Git - emacs.git/commitdiff
add smartquotes and xelatex stuff
authorDon Armstrong <don@donarmstrong.com>
Sat, 12 Oct 2013 21:43:33 +0000 (14:43 -0700)
committerDon Armstrong <don@donarmstrong.com>
Sat, 12 Oct 2013 21:43:33 +0000 (14:43 -0700)
.emacs

diff --git a/.emacs b/.emacs
index d7c020438055bead98f14e194597d198641dddf0..dae268c5ba8ca77d10ecb0d04fe7e0b023bc4560 100644 (file)
--- a/.emacs
+++ b/.emacs
@@ -321,6 +321,11 @@ Argument DESCRIPTION MIME description."
 (add-hook 'LaTeX-mode-hook 'outline-minor-mode)   ; with AUCTeX LaTeX mode
 (add-hook 'latex-mode-hook 'outline-minor-mode)   ; with Emacs latex mode
 
+; use smart quotes by default instead of `` and ''
+; taken from http://kieranhealy.org/esk/kjhealy.html
+(setq TeX-open-quote "“")
+(setq TeX-close-quote "”")
+
 ;; (TeX-add-style-hook
 ;;  "latex"
 ;;  (lambda ()
@@ -549,7 +554,6 @@ Argument DESCRIPTION MIME description."
   (interactive)
   (org-open-link-from-string (format "[[notes:%s]]" (reftex-citation t))))
 
-
 (defun open-research-paper (bibtexkey)
   "Open a paper by bibtex key"
   (interactive "bibtex key: ")
@@ -579,6 +583,86 @@ Argument DESCRIPTION MIME description."
 (setq-default org-directory "/home/don/org-mode/")
 (setq-default org-mobile-inbox-for-pull "/home/don/org-mode/from-mobile.org")
 
+;; org latex
+;; stolen from http://kieranhealy.org/esk/kjhealy.html
+(require 'org-latex)   
+;; Choose either listings or minted for exporting source code blocks.
+;; Using minted (as here) requires pygments be installed. To use the
+;; default listings package instead, use
+;; (setq org-latex-listings t)
+;; and change references to "minted" below to "listings"
+(setq org-latex-listings 'minted)
+
+;; default settings for minted code blocks
+(setq org-latex-minted-options
+      '(;("frame" "single")
+        ("bgcolor" "bg") ; bg will need to be defined in the preamble of your document. It's defined in org-preamble-pdflatex.sty and org-preamble-xelatex.sty below.
+        ("fontsize" "\\small")
+        ))
+;; turn off the default toc behavior; deal with it properly in headers to files.
+(defun org-latex-no-toc (depth)  
+  (when depth
+    (format "%% Org-mode is exporting headings to %s levels.\n"
+            depth)))
+(setq org-latex-format-toc-function 'org-latex-no-toc)
+
+(require 'ox-latex)
+(add-to-list 'org-latex-classes
+             '("memarticle"
+               "\\documentclass[11pt,oneside,article]{memoir}\n"
+               ("\\section{%s}" . "\\section*{%s}")
+               ("\\subsection{%s}" . "\\subsection*{%s}")
+               ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
+               ("\\paragraph{%s}" . "\\paragraph*{%s}")
+               ("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
+
+(add-to-list 'org-latex-classes
+             '("membook"
+               "\\documentclass[11pt,oneside]{memoir}\n"
+               ("\\chapter{%s}" . "\\chapter*{%s}")
+               ("\\section{%s}" . "\\section*{%s}")
+               ("\\subsection{%s}" . "\\subsection*{%s}")
+               ("\\subsubsection{%s}" . "\\subsubsection*{%s}")))
+
+;; Originally taken from Bruno Tavernier: http://thread.gmane.org/gmane.emacs.orgmode/31150/focus=31432
+;; but adapted to use latexmk 4.22 or higher.  
+(defun my-auto-tex-cmd ()
+  "When exporting from .org with latex, automatically run latex,
+                     pdflatex, or xelatex as appropriate, using latexmk."
+  (let ((texcmd)))
+  ;; default command: pdflatex 
+  (setq texcmd "latexmk -pdflatex='pdflatex -synctex=1 --shell-escape --' -pdf %f")        
+  ;; pdflatex -> .pdf
+  (if (string-match "LATEX_CMD: pdflatex" (buffer-string))
+      (setq texcmd "latexmk -pdflatex='pdflatex -synctex=1 --shell-escape' -pdf %f"))
+  ;; xelatex -> .pdf
+  (if (string-match "LATEX_CMD: xelatex" (buffer-string))
+      (setq texcmd "latexmk -pdflatex='xelatex -syntex=1 --shell-escape' -pdf %f"))
+  ;; LaTeX compilation command
+  (setq org-latex-to-pdf-process (list texcmd)))
+
+(add-hook 'org-latex-after-initial-vars-hook 'my-auto-tex-cmd)
+
+;; Default packages included in /every/ tex file, latex, pdflatex or xelatex
+(setq org-latex-packages-alist
+      '(("" "graphicx" t)
+        ("" "longtable" nil)
+        ("" "float" )))
+
+;; Custom packages
+(defun my-auto-tex-parameters ()
+  "Automatically select the tex packages to include. See https://github.com/kjhealy/latex-custom-kjh for the support files included here."
+  ;; default packages for ordinary latex or pdflatex export
+  (setq org-latex-default-packages-alist
+        '(("AUTO" "inputenc" t)
+          ("minted,minion" "org-preamble-pdflatex" t)))        
+  ;; Packages to include when xelatex is used
+  (if (string-match "LATEX_CMD: xelatex" (buffer-string))
+      (setq org-latex-default-packages-alist
+            '(("minted" "org-preamble-xelatex" t) ))))
+
+(add-hook 'org-latex-after-initial-vars-hook 'my-auto-tex-parameters)
+
 ; debian stuff
 (setq-default debian-changelog-mailing-address "don@debian.org")
 (setq-default debian-changelog-full-name "Don Armstrong")