org-mode-poster/ext/org-mode-poster_dotemacs

225 lines
6.7 KiB
Plaintext

;; This is the .emacs configuration file
;; Large parts of this have been copied from other people
;; PH, 12/1/16
;;----------------------------------------------------------------------
;; Global
;;----------------------------------------------------------------------
;; get rid of yes or no
(fset 'yes-or-no-p 'y-or-n-p)
;; package archives
(require 'package)
(add-to-list 'package-archives
'("org" . "http://orgmode.org/elpa/"))
(add-to-list 'package-archives
'("melpa" . "http://melpa.org/packages/"))
(add-to-list 'package-archives
'("melpa-stable" . "http://stable.melpa.org/packages/"))
(setq package-enable-at-startup nil)
(package-initialize)
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(setq use-package-verbose t)
(setq use-package-always-ensure t)
(eval-when-compile (require 'use-package))
(setq default-fill-column 72)
;; Tell emacs where is your personal elisp lib dir
;(add-to-list 'load-path "~/.emacs.d/lisp/")
;(add-to-list 'load-path "~/.emacs.d/lisp/")
;; keyboard binding to replace M-x
(global-set-key "\C-x\C-m" 'execute-extended-command)
(global-set-key "\C-c\C-m" 'execute-extended-command)
;;----------------------------------------------------------------------
;; org mode
;;----------------------------------------------------------------------
;; remove comments from org document for use with export hook
;; https://emacs.stackexchange.com/questions/22574/orgmode-export-how-to-prevent-a-new-line-for-comment-lines
(defun delete-org-comments (backend)
(loop for comment in (reverse (org-element-map
(org-element-parse-buffer)
'comment 'identity))
do
(setf (buffer-substring (org-element-property :begin comment)
(org-element-property :end comment))
"")))
;; add to export hook
(add-hook 'org-export-before-processing-hook 'delete-org-comments)
;;----------------------------------------------------------------------
;; ess
;;----------------------------------------------------------------------
(require 'ess)
(require 'ess-site)
(setq tab-width 2)
;(whitespace-mode t)
; let ess not ask for starting directory
(setq ess-ask-for-ess-directory nil)
; disable auto complete (takes too long)
(setq ess-use-auto-complete nil)
;(linum-mode t)
(add-hook 'ess-mode-hook
(lambda ()
(whitespace-mode t)
(linum-mode t)
; if you uncomment this and reload .emacs from within an R buffer,
; it should work as a hack
(setq ess-indent-with-fancy-comments nil)
(setq ess-style nil)))
;;----------------------------------------------------------------------
;; Org
;;----------------------------------------------------------------------
(require 'org)
(require 'org-element)
;; window setup
(setq org-agenda-restore-windows-after-quit t)
(setq org-agenda-skip-scheduled-if-done t)
;; use ox-extra to ignore certain headings
(require 'ox-extra)
(ox-extras-activate '(ignore-headlines))
;; disable indenting
(require 'org-indent)
(org-indent-mode -1)
;; we don't want raw inline calls to include a newline
;;(setq org-babel-inline-result-wrap "well, %s")
;; indentation
(defun my-tab-related-stuff ()
; (setq indent-tabs-mode t)
; (setq tab-stop-list (number-sequence 4 200 4))
; (setq default-tab-width 2)
(setq tab-width 2))
; (setq indent-line-function 'insert-tab))
(add-hook 'org-mode-hook 'my-tab-related-stuff)
;; inline results wrapping
(setq org-babel-inline-result-wrap "%s")
;; active Babel languages
(org-babel-do-load-languages
'org-babel-load-languages
'((R . t)
(latex . t)
(dot . t)
(shell . t)
(ditaa . t)
))
;; we trust our own R code so we do not need to confirm
(defun my-org-confirm-babel-evaluate (lang body)
(not (string-match "[Rlatexdotditaashell]" lang ))) ; don't ask for R
(setq org-confirm-babel-evaluate 'my-org-confirm-babel-evaluate)
(require 'ox-latex)
;;; XeLaTeX customisations
;; remove "inputenc" from default packages as it clashes with xelatex
(setf org-latex-default-packages-alist
(remove '("AUTO" "inputenc" t) org-latex-default-packages-alist))
;(setq org-latex-pdf-process '("latexmk -pdf
; -pdflatex='xelatex -shell-escape -interaction nonstopmode' -bibtex -f %f "))
(setq org-latex-pdf-process
'("latexmk -pdflatex='xelatex -interaction nonstopmode' -pdf -bibtex -f %f"))
;; avoid hypersetup
(setq org-latex-with-hyperref nil)
;; latex templates
;\\usepackage[authoryear]{natbib}
(add-to-list 'org-latex-classes
'("myarticle"
"\\documentclass[12pt]{article}
\\usepackage[labelfont=bf]{caption}
\\usepackage{times}
[NO-DEFAULT-PACKAGES]"
("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
;; latex templates
(add-to-list 'org-latex-classes
'("mybeamerxl"
"\\documentclass[presentation,20pt]{beamer}
\\usetheme{default}
\\usepackage[authoryear]{natbib}
[NO-DEFAULT-PACKAGES]"))
(add-to-list 'org-latex-classes
'("mybeamerposter"
"\\documentclass[final]{beamer}
\\usetheme{ph}
\\usepackage[orientation=portrait,size=a0,scale=1.4]{beamerposter}
\\usepackage[absolute,overlay]{textpos}
\\usepackage[authoryear]{natbib}
[NO-DEFAULT-PACKAGES]"))
(add-to-list 'org-latex-classes
'("mybeamerm"
"\\documentclass[presentation]{beamer}
\\usetheme{default}
\\usepackage[authoryear]{natbib}
[NO-DEFAULT-PACKAGES]"))
(add-to-list 'org-latex-classes
'("cv"
"\\documentclass[10pt]{extarticle}
\\usepackage[authoryear]{natbib}
[NO-DEFAULT-PACKAGES]"))
(setq org-latex-listings 'minted)
'(org-export-latex-listings-langs
(quote ((emacs-lisp "Lisp")
(lisp "Lisp")
(clojure "Lisp")
(c "C")
(cc "C++")
(fortran "fortran")
(perl "Perl")
(cperl "Perl")
(python "Python")
(ruby "Ruby")
(html "HTML")
(xml "XML")
(tex "TeX")
(latex "TeX")
(shell-script "bash")
(gnuplot "Gnuplot")
(ocaml "Caml")
(caml "Caml")
(sql "SQL")
(sqlite "sql")
(R-mode "R"))))
(setq org-latex-minted-options
'(("linenos=true") ("bgcolor=lightgray")))
; set timestamp format
;;----------------------------------------------------------------------
;; bibtex
;;----------------------------------------------------------------------
(require 'bibtex)
(require 'org-ref)
(require 'org-ref-pubmed)
(require 'org-ref-wos)
(require 'org-ref-scopus)
(setq reftex-default-bibliography '("master.bib"))
(setq org-ref-default-bibliography '("master.bib"))