+
+(defun my/fix-inline-images ()
+ (when org-inline-image-overlays
+ (org-redisplay-inline-images)))
+
+(add-hook 'org-babel-after-execute-hook 'my/fix-inline-images)
+
+;; use xelatex to preview with imagemagick
+(add-to-list 'org-preview-latex-process-alist
+ '(xelateximagemagick
+ :programs ("xelatex" "convert")
+ :description "pdf > png"
+ :message "you need to install xelatex and imagemagick"
+ :use-xcolor t
+ :image-input-type "pdf"
+ :image-output-type "png"
+ :image-size-adjust (1.0 . 1.0)
+ :latex-compiler ("xelatex -interaction nonstopmode -output-directory %o %f")
+ :image-converter ("convert -density %D -trim -antialias %f -quality 100 %O"))
+ )
+;; use xelatex by default
+(setq org-preview-latex-default-process 'xelateximagemagick)
+
+; from http://orgmode.org/Changes.html
+(defun my/org-repair-property-drawers ()
+ "Fix properties drawers in current buffer.
+ Ignore non Org buffers."
+ (interactive)
+ (when (eq major-mode 'org-mode)
+ (org-with-wide-buffer
+ (goto-char (point-min))
+ (let ((case-fold-search t)
+ (inline-re (and (featurep 'org-inlinetask)
+ (concat (org-inlinetask-outline-regexp)
+ "END[ \t]*$"))))
+ (org-map-entries
+ (lambda ()
+ (unless (and inline-re (org-looking-at-p inline-re))
+ (save-excursion
+ (let ((end (save-excursion (outline-next-heading) (point))))
+ (forward-line)
+ (when (org-looking-at-p org-planning-line-re) (forward-line))
+ (when (and (< (point) end)
+ (not (org-looking-at-p org-property-drawer-re))
+ (save-excursion
+ (and (re-search-forward org-property-drawer-re end t)
+ (eq (org-element-type
+ (save-match-data (org-element-at-point)))
+ 'drawer))))
+ (insert (delete-and-extract-region
+ (match-beginning 0)
+ (min (1+ (match-end 0)) end)))
+ (unless (bolp) (insert "\n"))))))))))))
+
+; from https://emacs.stackexchange.com/questions/909/how-can-i-have-an-agenda-timeline-view-of-multiple-files
+(defun org-agenda-timeline-all (&optional arg)
+ (interactive "P")
+ (with-temp-buffer
+ (dolist (org-agenda-file org-agenda-files)
+ (insert-file-contents org-agenda-file nil)
+ (end-of-buffer)
+ (newline))
+ (write-file "/tmp/timeline.org")
+ (org-agenda arg "L")))
+(define-key org-mode-map (kbd "C-c t") 'org-agenda-timeline-all)
+
+(provide 'org-mode-configuration)