diff options
Diffstat (limited to '.config/emacs/modules/bd--org.el')
-rw-r--r-- | .config/emacs/modules/bd--org.el | 269 |
1 files changed, 141 insertions, 128 deletions
diff --git a/.config/emacs/modules/bd--org.el b/.config/emacs/modules/bd--org.el index 7e7c2c2..ca68b79 100644 --- a/.config/emacs/modules/bd--org.el +++ b/.config/emacs/modules/bd--org.el @@ -5,18 +5,21 @@ (require 'fill-column) (use-package org + :demand t :hook ((org-mode . (lambda () - (org-indent-mode) - (org-toggle-inline-images) - (fill-column-mode) - (org-latex-preview '(16))))) + (org-indent-mode) + (org-toggle-inline-images) + (fill-column-mode) + (abbrev-mode) + (org-latex-preview '(16))))) :config (setopt org-ellipsis " ▾" - org-babel-python-command "python3" - org-confirm-babel-evaluate nil - org-hide-emphasis-markers t - org-startup-folded 'show3levels) + org-babel-python-command "python3" + org-confirm-babel-evaluate nil + org-hide-emphasis-markers t + org-startup-folded 'show3levels + org-src-window-setup 'current-window) (plist-put org-format-latex-options :scale 1.2) (push '("\\.pdf\\'" . "zathura %s") org-file-apps) (add-hook 'org-babel-after-execute-hook #'org-redisplay-inline-images) @@ -27,35 +30,45 @@ (lisp . t) (scheme . t) (dot . t) - (python . t)))) + (python . t))) + (define-abbrev org-mode-abbrev-table + "lbm" "\\begin{equation*}\n\\begin{bmatrix}\n\\end{bmatrix}\n\\end{equation*}") + (define-abbrev org-mode-abbrev-table + "lca" "\\begin{equation*}\n\\begin{cases}\n\\end{cases}\n\\end{equation*}") + (define-abbrev org-mode-abbrev-table + "gvd" "#+begin_src dot :file images/1.png\ndigraph g {\nrankdir=LR;\n\tnode [shape = doublecircle]; A;\n\tnode [shape = point]; qi\n\tnode[shape=circle];\n}\n#+end_src") + (define-abbrev org-mode-abbrev-table + "les" "\\begin{equation*}\n\\end{equation*}") + (define-abbrev org-mode-abbrev-table + "lbm" "\\begin{equation*}\n\\begin{bmatrix}\n\\end{bmatrix}\n\\end{equation*}")) (use-package ox :config (add-to-list 'org-latex-packages-alist '("" "listings")) (setopt org-latex-toc-command "\\tableofcontents \\clearpage" - org-latex-src-block-backend 'listings - org-latex-image-default-width ".6\\linewidth" - org-export-with-toc nil - org-export-preserve-breaks t - org-latex-classes - '(("article" - "\\PassOptionsToPackage{svgnames}{xcolor} + org-latex-src-block-backend 'listings + org-latex-image-default-width ".6\\linewidth" + org-export-with-toc nil + org-export-preserve-breaks t + org-latex-classes + '(("article" + "\\PassOptionsToPackage{svgnames}{xcolor} \\documentclass[11pt]{article} \\usepackage{listings} \\lstset{frame=single,aboveskip=1em, - framesep=.5em,backgroundcolor=\\color{AliceBlue}, - rulecolor=\\color{Black},framerule=1pt} + framesep=.5em,backgroundcolor=\\color{AliceBlue}, + rulecolor=\\color{Black},framerule=1pt} \\usepackage{xcolor} \\newcommand\\basicdefault[1]{\\scriptsize\\color{Black}\\fontfamily{pcr}\\selectfont} \\lstset{basicstyle=\\basicdefault{\\spaceskip1em}} \\lstset{keywordstyle=\\color{DarkGreen}\\bfseries, - identifierstyle=\\color{DarkRed}, - commentstyle=\\color{DimGray}\\upshape, - stringstyle=\\color{DarkBlue}\\upshape, - emphstyle=\\color{Chocolate}\\upshape, - showstringspaces=false, - columns=fullflexible, - keepspaces=true} + identifierstyle=\\color{DarkRed}, + commentstyle=\\color{DimGray}\\upshape, + stringstyle=\\color{DarkBlue}\\upshape, + emphstyle=\\color{Chocolate}\\upshape, + showstringspaces=false, + columns=fullflexible, + keepspaces=true} \\usepackage{parskip} \\makeatletter \\renewcommand{\\maketitle}{% @@ -72,21 +85,21 @@ citecolor=DarkRed,colorlinks=true} [PACKAGES] [EXTRA]" - ("\\section{%s}" . "\\section*{%s}") - ("\\subsection{%s}" . "\\subsection*{%s}") - ("\\subsubsection{%s}" . "\\subsubsection*{%s}") - ("\\paragraph{%s}" . "\\paragraph*{%s}") - ("\\subparagraph{%s}" . "\\subparagraph*{%s}")) - ("report" "\\documentclass[11pt]{report}" - ("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}") - ("\\section{%s}" . "\\section*{%s}") - ("\\subsection{%s}" . "\\subsection*{%s}") - ("\\subsubsection{%s}" . "\\subsubsection*{%s}")) - ("book" "\\documentclass[11pt]{book}" ("\\part{%s}" . "\\part*{%s}") - ("\\chapter{%s}" . "\\chapter*{%s}") - ("\\section{%s}" . "\\section*{%s}") - ("\\subsection{%s}" . "\\subsection*{%s}") - ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))) + ("\\section{%s}" . "\\section*{%s}") + ("\\subsection{%s}" . "\\subsection*{%s}") + ("\\subsubsection{%s}" . "\\subsubsection*{%s}") + ("\\paragraph{%s}" . "\\paragraph*{%s}") + ("\\subparagraph{%s}" . "\\subparagraph*{%s}")) + ("report" "\\documentclass[11pt]{report}" + ("\\part{%s}" . "\\part*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}") + ("\\section{%s}" . "\\section*{%s}") + ("\\subsection{%s}" . "\\subsection*{%s}") + ("\\subsubsection{%s}" . "\\subsubsection*{%s}")) + ("book" "\\documentclass[11pt]{book}" ("\\part{%s}" . "\\part*{%s}") + ("\\chapter{%s}" . "\\chapter*{%s}") + ("\\section{%s}" . "\\section*{%s}") + ("\\subsection{%s}" . "\\subsection*{%s}") + ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))) (use-package org-agenda :bind @@ -107,10 +120,10 @@ agenda views.") (defvar-local bd/device-list '(("garm" . ?G) - ("heimdallr" . ?H) - ("hodr" . ?M) - ("surt" . ?I) - ("vali" . ?V)) + ("heimdallr" . ?H) + ("hodr" . ?M) + ("surt" . ?I) + ("vali" . ?V)) "Devices for tagging, capturing, and various agenda views.") @@ -119,98 +132,98 @@ agenda views.") ORG-TAG-ALIST, returns a concatenated string representing all the tags ORd or ANDed together." (apply #'concat - (mapcar (lambda (e) - (concat (when or-p "|") (if add? "+" "-") (car e))) - tag-alist))) + (mapcar (lambda (e) + (concat (when or-p "|") (if add? "+" "-") (car e))) + tag-alist))) (setopt org-log-done 'time - org-deadline-warning-days 7 - org-log-into-drawer "history" - org-agenda-restore-windows-after-quit t - org-agenda-show-future-repeats nil - org-agenda-block-separator nil - org-deadline-warning-days 0 - org-todo-keywords - '((sequence "TODO(t)" "NEXT(n!)" "HOLD(h!)" "|" "DONE(d)" "CANC(c)")) - org-tag-alist - `(("noexport" . ?e) + org-deadline-warning-days 7 + org-log-into-drawer "history" + org-agenda-restore-windows-after-quit t + org-agenda-show-future-repeats nil + org-agenda-block-separator nil + org-deadline-warning-days 0 + org-todo-keywords + '((sequence "TODO(t)" "NEXT(n!)" "HOLD(h!)" "|" "DONE(d)" "CANC(c)")) + org-tag-alist + `(("noexport" . ?e) - ("chore" . ?C) - ,@bd/device-list + ("chore" . ?C) + ,@bd/device-list - ("idea" . ?i) - ("programming" . ?p) - ("web" . ?s) - ("writing" . ?w) - ("reading" . ?r) + ("idea" . ?i) + ("programming" . ?p) + ("web" . ?s) + ("writing" . ?w) + ("reading" . ?r) - ,@bd/course-list) - org-refile-targets '(("archived_tasks.org" :maxlevel . 1) - ("agenda_tasks.org" :maxlevel . 1)) - org-agenda-files `(,agenda-file "~/dc/agenda/archived_tasks.org") - org-capture-templates - `(("c" " College") - ("cs" "Software Engineering Theory" entry (file+olp ,agenda-file "CS520") - "* TODO %?\n DEADLINE: %^t") - ("cm" "Combinatorics/Graph Theory" entry (file+olp ,agenda-file "CS575") - "* TODO %?\n DEADLINE: %^t") - ("cc" "Compiler Techniques" entry (file+olp ,agenda-file "CS610") - "* TODO %?\n DEADLINE: %^t") - ("s" " Self") - ("si" "Idea" entry (file+olp ,agenda-file "Idea / Return") - "* TODO %?\n %u") - ("sc" "Context" entry (file+olp ,agenda-file "Idea / Return") - "* TODO %?\n %a") - ("st" "Deadline" entry (file+olp ,agenda-file "Deadline") - "* TODO %?\n DEADLINE: %^t") - ("sb" "Book" entry (file+olp ,agenda-file "Book List") - "* TODO %?\n %u"))) + ,@bd/course-list) + org-refile-targets '(("archived_tasks.org" :maxlevel . 1) + ("agenda_tasks.org" :maxlevel . 1)) + org-agenda-files `(,agenda-file "~/dc/agenda/archived_tasks.org") + org-capture-templates + `(("c" " College") + ("cs" "Software Engineering Theory" entry (file+olp ,agenda-file "CS520") + "* TODO %?\n DEADLINE: %^t") + ("cm" "Combinatorics/Graph Theory" entry (file+olp ,agenda-file "CS575") + "* TODO %?\n DEADLINE: %^t") + ("cc" "Compiler Techniques" entry (file+olp ,agenda-file "CS610") + "* TODO %?\n DEADLINE: %^t") + ("s" " Self") + ("si" "Idea" entry (file+olp ,agenda-file "Idea / Return") + "* TODO %?\n %u") + ("sc" "Context" entry (file+olp ,agenda-file "Idea / Return") + "* TODO %?\n %a") + ("st" "Deadline" entry (file+olp ,agenda-file "Deadline") + "* TODO %?\n DEADLINE: %^t") + ("sb" "Book" entry (file+olp ,agenda-file "Book List") + "* TODO %?\n %u"))) (let ((orphan-view '(tags-todo "-{.*}" - ((org-agenda-overriding-header "\nOrphaned Items\n"))))) + ((org-agenda-overriding-header "\nOrphaned Items\n"))))) (setopt org-agenda-custom-commands - `(("c" "Chores" - ((agenda "" ((org-agenda-entry-types '(:deadline)) - (org-agenda-show-all-dates nil) - (org-agenda-span 21) - (org-agenda-skip-function - '(org-agenda-skip-entry-if 'notregexp - (regexp-opt (cons "chore" (mapcar #'car bd/device-list))))) - (org-agenda-overriding-header "Priority Deadlines (+21d)\n"))) - (tags-todo (concat "chore" (bd/combine-tags bd/device-list nil nil)) - ((org-agenda-overriding-header "\nMundane\n"))) - ,@(mapcar (lambda (e) - `(tags-todo ,(car e) - ((org-agenda-overriding-header - (concat "\nDevice: " ,(capitalize (car e)) "\n"))))) - bd/device-list) - ,orphan-view)) - ("r" "Recreational" - ((tags-todo "+idea" - ((org-agenda-skip-function - '(org-agenda-skip-entry-if 'regexp "chore")) - (org-agenda-overriding-header "Ideas\n"))) - (tags-todo "+reading|+writing" - ((org-agenda-skip-function - '(org-agenda-skip-entry-if 'regexp "chore")) - (org-agenda-overriding-header "\nReading/Writing\n"))) - (tags-todo "+programming|+web" - ((org-agenda-skip-function - '(org-agenda-skip-entry-if 'regexp "chore")) - (org-agenda-overriding-header "\nProgramming\n"))) - ,orphan-view)) - ("s" "College" - ((tags-todo (bd/combine-tags bd/course-list t t) - ((org-agenda-overriding-header "\nAll Courses\n"))) - (agenda "" ((org-agenda-entry-types '(:deadline :scheduled)) - (org-agenda-show-all-dates nil) - (org-agenda-span 15) - (org-scheduled-past-days 7) - (org-agenda-skip-function - '(org-agenda-skip-entry-if 'notregexp - (regexp-opt (mapcar #'car bd/course-list)))) - (org-agenda-overriding-header "\nUpcoming Deadlines (+15d)\n"))) - ,orphan-view)))))) + `(("c" "Chores" + ((agenda "" ((org-agenda-entry-types '(:deadline)) + (org-agenda-show-all-dates nil) + (org-agenda-span 21) + (org-agenda-skip-function + '(org-agenda-skip-entry-if 'notregexp + (regexp-opt (cons "chore" (mapcar #'car bd/device-list))))) + (org-agenda-overriding-header "Priority Deadlines (+21d)\n"))) + (tags-todo (concat "chore" (bd/combine-tags bd/device-list nil nil)) + ((org-agenda-overriding-header "\nMundane\n"))) + ,@(mapcar (lambda (e) + `(tags-todo ,(car e) + ((org-agenda-overriding-header + (concat "\nDevice: " ,(capitalize (car e)) "\n"))))) + bd/device-list) + ,orphan-view)) + ("r" "Recreational" + ((tags-todo "+idea" + ((org-agenda-skip-function + '(org-agenda-skip-entry-if 'regexp "chore")) + (org-agenda-overriding-header "Ideas\n"))) + (tags-todo "+reading|+writing" + ((org-agenda-skip-function + '(org-agenda-skip-entry-if 'regexp "chore")) + (org-agenda-overriding-header "\nReading/Writing\n"))) + (tags-todo "+programming|+web" + ((org-agenda-skip-function + '(org-agenda-skip-entry-if 'regexp "chore")) + (org-agenda-overriding-header "\nProgramming\n"))) + ,orphan-view)) + ("s" "College" + ((tags-todo (bd/combine-tags bd/course-list t t) + ((org-agenda-overriding-header "\nAll Courses\n"))) + (agenda "" ((org-agenda-entry-types '(:deadline :scheduled)) + (org-agenda-show-all-dates nil) + (org-agenda-span 15) + (org-scheduled-past-days 7) + (org-agenda-skip-function + '(org-agenda-skip-entry-if 'notregexp + (regexp-opt (mapcar #'car bd/course-list)))) + (org-agenda-overriding-header "\nUpcoming Deadlines (+15d)\n"))) + ,orphan-view)))))) (provide 'bd--org) |