;;; ~/.doom.d/+org.el -*- lexical-binding: t; -*- ;; Org mode configuration ;; (setq org-ellipsis " ▼ ") ;; Cycle through header visibility (after! evil-org (remove-hook 'org-tab-first-hook #'+org-cycle-only-current-subtree-h)) ;; Disable completion (set-company-backend! 'org-mode nil) ;; Turn off line numbers (add-hook! 'org-mode-hook (display-line-numbers-mode -1)) ;; Add timestamp to DONE task (setq org-log-done 'time) ;; Print babel results to the buffer and export them (setq org-babel-default-header-args '((:session . "default") (:results . "output") (:exports . "both") (:cache . "no") (:noweb . "no") (:hlines . "no") (:tangle . "no")) org-babel-default-lob-header-args '((:exports . "both"))) ;; Enter writeroom-mode in all org files (add-hook! 'org-mode-hook 'global-writeroom-mode) (add-hook! 'org-mode-hook 'visual-line-mode) ;; Respect LANGUAGE export variable (add-to-list 'org-latex-packages-alist '("AUTO" "babel" t ("pdflatex"))) ;; Don't evaluate code blocks on export (setq org-export-use-babel nil) ;; Speed up agenda startup (setq org-agenda-dim-blocked-tasks nil) ;; Open file with folded headlines (setq org-startup-folded t) ;; Add tufte-handout to LaTeX classes (after! ox-latex (add-to-list 'org-latex-classes '("tufte-handout" "\\documentclass{tufte-handout}" ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}")))) ;; Add org-plain-latex (after! ox-latex (add-to-list 'org-latex-classes '("org-plain-latex" "\\documentclass{article} [NO-DEFAULT-PACKAGES] [PACKAGES] [EXTRA]" ("\\section{%s}" . "\\section*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}") ("\\paragraph{%s}" . "\\paragraph*{%s}") ("\\subparagraph{%s}" . "\\subparagraph*{%s}")))) ;; Prettify code block export (use-package! engrave-faces-latex :after ox-latex) (setq org-latex-src-block-backend 'engraved) ;; Add citeproc and metadata-file options to ox-pandoc (after! ox-pandoc (add-to-list 'org-pandoc-valid-options 'citeproc) (add-to-list 'org-pandoc-valid-options 'metadata-file)) ;; Allow referencing by label in org-ref (setq org-latex-prefer-user-labels t) ;; Extend pomodoro length to 45/15 (setq org-pomodoro-length '45 org-pomodoro-short-break-length '15 org-pomodoro-long-break-length '30 org-pomodoro-time-format "%.2m min" org-pomodoro-keep-killed-pomodoro-time t) ;; Save org-download images to an assets directory (after! org-download (setq org-download-image-dir "assets/" org-attach-auto-tag nil)) ;; Show images by default with a limited width (setq org-startup-with-inline-images t org-image-actual-width 600) ;; Use a modern look (use-package! org-modern :hook (org-mode . org-modern-mode) :config (setq org-modern-star ["⁖"])) (add-hook! 'org-agenda-finalize-hook #'org-modern-agenda) ;; Configure a better split and some default for org-noter (after! org-noter (setq org-noter-always-create-frame nil org-noter-doc-split-fraction '(0.7 . 0.3) org-noter-default-heading-title " " org-noter-separate-notes-from-heading nil)) ;; Show latex preview automatically and increase its size (setq org-startup-with-latex-preview t org-format-latex-options (plist-put org-format-latex-options :scale 3.0)) ;; Close tags automatically (after! smartparens (sp-with-modes 'org-mode (sp-local-pair "*" "*") (sp-local-pair "_" "_") (sp-local-pair "/" "/") (sp-local-pair "~" "~") (sp-local-pair "$" "$"))) ;; Show raw latex when the cursor on the expression (add-hook! 'org-mode-hook 'org-fragtog-mode) ;; Save bibtex to annotated bibliography with category selection (setq org-goto-interface 'outline-path-completion org-goto-max-level 1) (use-package! org-capture-ref) ;; HACK Fix search folded sections (setq org-fold-core-style 'overlays) (evil-select-search-module 'evil-search-module 'evil-search)