"~/projects/origins_of_life/ool.org"
"~/projects/sysadmin/sndservers/sndservers.org"
"~/projects/chaim/chaim.org"
+ "~/projects/chaim/papers/gwas_paper_2012/gwas_paper.org"
"~/projects/fh/fh.org")))
(setq org-global-properties '(("Effort_ALL 0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00")))
(add-hook 'org-clock-out-hook 'bh/remove-empty-drawer-on-clock-out 'append)
+; resolve clocks after 10 minutes of idle; use xprintidle
+(setq org-clock-idle-time 10)
+(setq org-clock-x11idle-program-name "xprintidle")
+
; this is from http://doc.norang.ca/org-mode.html#Capture
; use C-M-r for org mode capture
(global-set-key (kbd "C-M-r") 'org-capture)
"Delete frame at remember finalization"
(progn (if my-org-protocol-flag (delete-frame))
(setq my-org-protocol-flag nil)))
+(defadvice org-capture-refile (around delete-frame-after-refile activate)
+ "Delete frame at remember refile"
+ (if my-org-protocol-flag
+ (progn
+ (setq my-org-protocol-flag nil)
+ ad-do-it
+ (delete-frame))
+ ad-do-it)
+ )
(defadvice org-capture-kill (after delete-frame-at-end activate)
"Delete frame at remember abort"
(progn (if my-org-protocol-flag (delete-frame))
cperl-auto-newline-after-colon nil
cperl-continued-statement-offset 4
cperl-brace-offset -4
+ cperl-continued-brace-offset 0
cperl-label-offset -4
cperl-highlight-variables-indiscriminately t
cperl-electric-lbrace-space nil
- )
-(add-hook 'cperl-mode-hook (lambda () (cperl-set-style "PerlStyle")))
+ cperl-indent-parens-as-block t
+ cperl-tab-always-indent t)
+;(add-hook 'cperl-mode-hook (lambda () (cperl-set-style "PerlStyle")))
(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 ()
;; )
(require 'font-latex)
-(add-to-list 'font-latex-match-reference-keywords "fref")
-(add-to-list 'font-latex-match-reference-keywords "Fref")
-(add-to-list 'font-latex-match-reference-keywords "citep")
-(add-to-list 'font-latex-match-reference-keywords "citet")
-(font-latex-match-reference-make)
-(add-to-list 'font-latex-match-function-keywords "DLA")
-(add-to-list 'font-latex-match-function-keywords "RZ")
-(add-to-list 'font-latex-match-function-keywords "OM")
-(add-to-list 'font-latex-match-function-keywords "DL")
-(add-to-list 'font-latex-match-function-keywords "fixme")
-(add-to-list 'font-latex-match-function-keywords "acs")
-(add-to-list 'font-latex-match-function-keywords "acsp")
-(add-to-list 'font-latex-match-function-keywords "ac")
-(add-to-list 'font-latex-match-function-keywords "acp")
-(add-to-list 'font-latex-match-function-keywords "acl")
-(add-to-list 'font-latex-match-function-keywords "aclp")
-(add-to-list 'font-latex-match-function-keywords "acsu")
-(add-to-list 'font-latex-match-function-keywords "aclu")
-(add-to-list 'font-latex-match-function-keywords "acused")
-(font-latex-match-function-make)
+(setq font-latex-match-reference-keywords
+ '(
+ ("fref" "{")
+ ("Fref" "{")
+ ("citep" "{")
+ ("citet" "{")
+ ("acs" "{")
+ ("acsp" "{")
+ ("ac" "{")
+ ("acp" "{")
+ ("acl" "{")
+ ("aclp" "{")
+ ("acsu" "{")
+ ("aclu" "{")
+ ("acused" "{")
+; ))
+; (setq font-latex-match-warning-keywords
+; '(
+ ("DLA" "{")
+ ("RZ" "{")
+ ("OM" "{")
+ ("DL" "{")
+ ("fixme" "{")))
+
(setq-default TeX-parse-self t)
(setq-default TeX-auto-save t)
(setq-default TeX-master nil)
+;; this doesn't seem to work; not currently sure why
+; (setq font-latex-user-keyword-classes
+; '(("my-warning-commands"
+; (("DLA" "{")
+; ("RZ" "{")
+; ("OM" "{")
+; ("DL" "{")
+; ("fixme" "{")
+; )
+; (:foreground "red" :weight bold :underline (:color foreground-color :style line)))
+; ))
+
+
(defun insert-date ()
"Insert date at point."
(interactive)
(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: ")
(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' -bibtex -use-make -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)
+
+; support ignoring headers in org mode export to latex
+; from http://article.gmane.org/gmane.emacs.orgmode/67692
+(defadvice org-latex-headline (around my-latex-skip-headlines
+ (headline contents info) activate)
+ (if (member "ignoreheading" (org-element-property :tags headline))
+ (setq ad-return-value contents)
+ ad-do-it))
+
; debian stuff
(setq-default debian-changelog-mailing-address "don@debian.org")
(setq-default debian-changelog-full-name "Don Armstrong")
(setq flymake-mode-line mode-line)
(force-mode-line-update)))
+; load sql-indent when sql is loaded
+(eval-after-load "sql"
+ '(load-library "sql-indent"))
+
+; fix up tmux xterm keys
+; stolen from http://unix.stackexchange.com/questions/24414/shift-arrow-not-working-in-emacs-within-tmux
+(if (getenv "TMUX")
+ (progn
+ (let ((x 2) (tkey ""))
+ (while (<= x 8)
+ ;; shift
+ (if (= x 2)
+ (setq tkey "S-"))
+ ;; alt
+ (if (= x 3)
+ (setq tkey "M-"))
+ ;; alt + shift
+ (if (= x 4)
+ (setq tkey "M-S-"))
+ ;; ctrl
+ (if (= x 5)
+ (setq tkey "C-"))
+ ;; ctrl + shift
+ (if (= x 6)
+ (setq tkey "C-S-"))
+ ;; ctrl + alt
+ (if (= x 7)
+ (setq tkey "C-M-"))
+ ;; ctrl + alt + shift
+ (if (= x 8)
+ (setq tkey "C-M-S-"))
+
+ ;; arrows
+ (define-key key-translation-map (kbd (format "M-[ 1 ; %d A" x)) (kbd (format "%s<up>" tkey)))
+ (define-key key-translation-map (kbd (format "M-[ 1 ; %d B" x)) (kbd (format "%s<down>" tkey)))
+ (define-key key-translation-map (kbd (format "M-[ 1 ; %d C" x)) (kbd (format "%s<right>" tkey)))
+ (define-key key-translation-map (kbd (format "M-[ 1 ; %d D" x)) (kbd (format "%s<left>" tkey)))
+ ;; home
+ (define-key key-translation-map (kbd (format "M-[ 1 ; %d H" x)) (kbd (format "%s<home>" tkey)))
+ ;; end
+ (define-key key-translation-map (kbd (format "M-[ 1 ; %d F" x)) (kbd (format "%s<end>" tkey)))
+ ;; page up
+ (define-key key-translation-map (kbd (format "M-[ 5 ; %d ~" x)) (kbd (format "%s<prior>" tkey)))
+ ;; page down
+ (define-key key-translation-map (kbd (format "M-[ 6 ; %d ~" x)) (kbd (format "%s<next>" tkey)))
+ ;; insert
+ (define-key key-translation-map (kbd (format "M-[ 2 ; %d ~" x)) (kbd (format "%s<delete>" tkey)))
+ ;; delete
+ (define-key key-translation-map (kbd (format "M-[ 3 ; %d ~" x)) (kbd (format "%s<delete>" tkey)))
+ ;; f1
+ (define-key key-translation-map (kbd (format "M-[ 1 ; %d P" x)) (kbd (format "%s<f1>" tkey)))
+ ;; f2
+ (define-key key-translation-map (kbd (format "M-[ 1 ; %d Q" x)) (kbd (format "%s<f2>" tkey)))
+ ;; f3
+ (define-key key-translation-map (kbd (format "M-[ 1 ; %d R" x)) (kbd (format "%s<f3>" tkey)))
+ ;; f4
+ (define-key key-translation-map (kbd (format "M-[ 1 ; %d S" x)) (kbd (format "%s<f4>" tkey)))
+ ;; f5
+ (define-key key-translation-map (kbd (format "M-[ 15 ; %d ~" x)) (kbd (format "%s<f5>" tkey)))
+ ;; f6
+ (define-key key-translation-map (kbd (format "M-[ 17 ; %d ~" x)) (kbd (format "%s<f6>" tkey)))
+ ;; f7
+ (define-key key-translation-map (kbd (format "M-[ 18 ; %d ~" x)) (kbd (format "%s<f7>" tkey)))
+ ;; f8
+ (define-key key-translation-map (kbd (format "M-[ 19 ; %d ~" x)) (kbd (format "%s<f8>" tkey)))
+ ;; f9
+ (define-key key-translation-map (kbd (format "M-[ 20 ; %d ~" x)) (kbd (format "%s<f9>" tkey)))
+ ;; f10
+ (define-key key-translation-map (kbd (format "M-[ 21 ; %d ~" x)) (kbd (format "%s<f10>" tkey)))
+ ;; f11
+ (define-key key-translation-map (kbd (format "M-[ 23 ; %d ~" x)) (kbd (format "%s<f11>" tkey)))
+ ;; f12
+ (define-key key-translation-map (kbd (format "M-[ 24 ; %d ~" x)) (kbd (format "%s<f12>" tkey)))
+ ;; f13
+ (define-key key-translation-map (kbd (format "M-[ 25 ; %d ~" x)) (kbd (format "%s<f13>" tkey)))
+ ;; f14
+ (define-key key-translation-map (kbd (format "M-[ 26 ; %d ~" x)) (kbd (format "%s<f14>" tkey)))
+ ;; f15
+ (define-key key-translation-map (kbd (format "M-[ 28 ; %d ~" x)) (kbd (format "%s<f15>" tkey)))
+ ;; f16
+ (define-key key-translation-map (kbd (format "M-[ 29 ; %d ~" x)) (kbd (format "%s<f16>" tkey)))
+ ;; f17
+ (define-key key-translation-map (kbd (format "M-[ 31 ; %d ~" x)) (kbd (format "%s<f17>" tkey)))
+ ;; f18
+ (define-key key-translation-map (kbd (format "M-[ 32 ; %d ~" x)) (kbd (format "%s<f18>" tkey)))
+ ;; f19
+ (define-key key-translation-map (kbd (format "M-[ 33 ; %d ~" x)) (kbd (format "%s<f19>" tkey)))
+ ;; f20
+ (define-key key-translation-map (kbd (format "M-[ 34 ; %d ~" x)) (kbd (format "%s<f20>" tkey)))
+
+ (setq x (+ x 1))
+ ))
+ )
+ )
+
; apparently things like to step on C-;, so we'll use a hack from
; http://stackoverflow.com/questions/683425/globally-override-key-binding-in-emacs/5340797#5340797 to fix this