mirror of
https://github.com/willemml/dotfiles.nix.git
synced 2025-04-12 19:27:17 +00:00
Moves Org and LaTeX config to its own module
This commit is contained in:
parent
6d25682e9f
commit
5689e42246
5 changed files with 304 additions and 262 deletions
287
home-manager/modules/tex.nix
Normal file
287
home-manager/modules/tex.nix
Normal file
|
@ -0,0 +1,287 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
enabled = config.custom.enableOrgTex;
|
||||
in {
|
||||
options.custom.enableOrgTex = lib.mkEnableOption "Enable Emacs Org and LaTeX configuration";
|
||||
config = lib.mkIf enabled (let
|
||||
aspellPackage = pkgs.aspellWithDicts (d: [d.en d.en-science d.en-computers d.fr]);
|
||||
texliveset = pkgs.texlive.combine {
|
||||
inherit
|
||||
(pkgs.texlive)
|
||||
scheme-basic
|
||||
babel
|
||||
amscls
|
||||
amsmath
|
||||
biber
|
||||
biblatex
|
||||
biblatex-mla
|
||||
block
|
||||
cancel
|
||||
caption
|
||||
capt-of
|
||||
csquotes
|
||||
enotez
|
||||
enumitem
|
||||
etex
|
||||
etoolbox
|
||||
fancyhdr
|
||||
float
|
||||
fontaxes
|
||||
graphics
|
||||
hanging
|
||||
hyperref
|
||||
latex
|
||||
latexindent
|
||||
latexmk
|
||||
logreq
|
||||
metafont
|
||||
mlacls
|
||||
newtx
|
||||
pdflscape
|
||||
pdfpages
|
||||
preprint
|
||||
psnfss
|
||||
ragged2e
|
||||
titlesec
|
||||
tools
|
||||
translations
|
||||
ulem
|
||||
url
|
||||
wrapfig
|
||||
xstring
|
||||
xkeyval
|
||||
;
|
||||
};
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
texliveset
|
||||
aspellPackage
|
||||
gnuplot
|
||||
plantuml
|
||||
];
|
||||
|
||||
programs.emacs.extraPackages = let
|
||||
org-auctex = pkgs.emacsPackages.trivialBuild rec {
|
||||
pname = "org-auctex";
|
||||
version = "e1271557b9f36ca94cabcbac816748e7d0dc989c";
|
||||
|
||||
buildInputs = [pkgs.emacsPackages.auctex];
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "karthink";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-cMAhwybnq5HA1wOaUqDPML3nnh5m1iwEETTPWqPbAvw=";
|
||||
};
|
||||
};
|
||||
in (with pkgs.emacsPackages; [
|
||||
org-auctex
|
||||
auctex
|
||||
cdlatex
|
||||
citeproc
|
||||
graphviz-dot-mode
|
||||
ivy-bibtex
|
||||
gnuplot
|
||||
htmlize
|
||||
org-auctex
|
||||
org-contrib
|
||||
org-download
|
||||
pdf-tools
|
||||
plantuml-mode
|
||||
]);
|
||||
|
||||
home.file.".emacs.d/org-init.el".text =
|
||||
/*
|
||||
elisp
|
||||
*/
|
||||
''
|
||||
(require 'cdlatex)
|
||||
(require 'citeproc)
|
||||
(require 'gnuplot)
|
||||
(require 'gnuplot-context)
|
||||
(require 'graphviz-dot-mode)
|
||||
(require 'htmlize)
|
||||
(require 'ivy-bibtex)
|
||||
(require 'ob-dot)
|
||||
(require 'ob-emacs-lisp)
|
||||
(require 'ob-gnuplot)
|
||||
(require 'ob-matlab)
|
||||
(require 'ob-python)
|
||||
(require 'ob-shell)
|
||||
(require 'oc)
|
||||
(require 'oc-basic)
|
||||
(require 'oc-csl)
|
||||
(require 'oc-natbib)
|
||||
(require 'org-auctex)
|
||||
(require 'org-contrib)
|
||||
(require 'org-download)
|
||||
(require 'ox-latex)
|
||||
(require 'ox-publish)
|
||||
(require 'pdf-tools)
|
||||
(require 'plantuml-mode)
|
||||
(require 'tex)
|
||||
|
||||
(autoload 'gnuplot-mode "gnuplot" "Gnuplot major mode" t)
|
||||
(autoload 'gnuplot-make-buffer "gnuplot" "open a buffer in gnuplot-mode" t)
|
||||
(setq auto-mode-alist (append '(("\\.gp$" . gnuplot-mode)) auto-mode-alist))
|
||||
|
||||
(define-key graphviz-dot-mode-map (kbd "C-c C-y") 'graphviz-dot-indent-graph)
|
||||
|
||||
(defvar zotero-bibliography (expand-file-name "zotero.bib" org-directory))
|
||||
|
||||
(defvar ivy-bibtex-bibliography (list zotero-bibliography))
|
||||
(setq reftex-default-bibliography (list zotero-bibliography))
|
||||
(setq bibtex-completion-pdf-field "file")
|
||||
|
||||
(add-hook 'LaTeX-mode-hook 'turn-on-cdlatex)
|
||||
(add-hook 'LaTeX-mode (lambda ()
|
||||
(turn-on-reftex)))
|
||||
(setq TeX-PDF-mode t
|
||||
TeX-auto-save t
|
||||
TeX-parse-self t)
|
||||
|
||||
(setq org-babel-octave-shell-command "octave -q")
|
||||
|
||||
(setq org-babel-python-command "python3.10")
|
||||
(setq-default python-indent-guess-indent-offset-verbose nil)
|
||||
(defun my/org-babel-execute:python-session (body params)
|
||||
"Initiate a python session before executing org babel blocks that use sessions.
|
||||
BODY is the content of the org-babel block and PARAMS are any parameters specified."
|
||||
(let ((session-name (cdr (assq :session params))))
|
||||
(when (not (eq session-name "none"))
|
||||
(org-babel-python-initiate-session session-name))))
|
||||
(advice-add #'org-babel-execute:python :before #'my/org-babel-execute:python-session)
|
||||
|
||||
(defun my/indent-org-block-automatically ()
|
||||
"Indent the current org code block."
|
||||
(interactive)
|
||||
(when (org-in-src-block-p)
|
||||
(org-edit-special)
|
||||
(indent-region (point-min) (point-max))
|
||||
(org-edit-src-exit)))
|
||||
(defun my/org-force-open-current-window ()
|
||||
"Open a link using 'org-open-at-point' in current window."
|
||||
(interactive)
|
||||
(let ((org-link-frame-setup
|
||||
(quote
|
||||
((vm . vm-visit-folder)
|
||||
(vm-imap . vm-visit-imap-folder)
|
||||
(gnus . gnus)
|
||||
(file . find-file)
|
||||
(wl . wl)))
|
||||
))
|
||||
(org-open-at-point)))
|
||||
(defun my/follow-org-link (arg)
|
||||
"Follow a link in orgmode If ARG is given.
|
||||
Opens in new window otherwise opens in current window."
|
||||
(interactive "P")
|
||||
(if arg
|
||||
(org-open-at-point)
|
||||
(my/org-force-open-current-window)))
|
||||
(defun krofna-hack ()
|
||||
"Toggle latex fragments after exiting closing them."
|
||||
(when (looking-back (rx "$ "))
|
||||
(save-excursion
|
||||
(backward-char 1)
|
||||
(org-latex-preview))))
|
||||
|
||||
|
||||
(global-set-key (kbd "C-c n a") 'org-agenda)
|
||||
|
||||
(setq org-agenda-start-on-weekday nil)
|
||||
|
||||
(define-key org-mode-map (kbd "C-c C-o") 'my/follow-org-link)
|
||||
(define-key org-mode-map (kbd "C-c C-y") 'my/indent-org-block-automatically)
|
||||
(define-key org-mode-map (kbd "C-c ]") 'org-cite-insert)
|
||||
|
||||
(add-hook 'org-babel-after-execute-hook 'org-redisplay-inline-images)
|
||||
(add-hook 'org-mode-hook 'visual-line-mode)
|
||||
(add-hook 'org-mode-hook 'org-cdlatex-mode)
|
||||
(add-hook 'org-mode-hook
|
||||
(lambda ()
|
||||
(add-hook 'post-self-insert-hook #'krofna-hack 'append 'local)))
|
||||
|
||||
(add-to-list 'org-latex-classes
|
||||
'("mla"
|
||||
"\\documentclass{mla}"
|
||||
("\\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
|
||||
'("letter"
|
||||
"\\documentclass{letter}"
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")))
|
||||
|
||||
(plist-put org-format-latex-options :scale 3)
|
||||
|
||||
(setq org-agenda-files (list org-directory (expand-file-name "ubc" org-directory)))
|
||||
(setq org-agenda-tags-column 0)
|
||||
(setq org-auto-align-tags nil)
|
||||
(setq org-fold-catch-invisible-edits 'show-and-error)
|
||||
(setq org-cite-export-processors '((t basic)))
|
||||
(setq org-cite-global-bibliography (list zotero-bibliography))
|
||||
(setq org-confirm-babel-evaluate nil)
|
||||
(setq org-ellipsis "…")
|
||||
(setq org-export-with-tags nil)
|
||||
(setq org-hide-emphasis-markers t)
|
||||
(setq org-highlight-latex-and-related '(latex))
|
||||
(setq org-html-head-include-default-style nil)
|
||||
(setq org-html-head-include-scripts nil)
|
||||
(setq org-html-validation-link nil)
|
||||
(setq org-image-actual-width 300)
|
||||
(setq org-insert-heading-respect-content t)
|
||||
(setq org-latex-pdf-process '("latexmk -pdflatex='pdflatex -interaction nonstopmode' -pdf -bibtex -f %f"))
|
||||
(setq org-pretty-entities t)
|
||||
(setq org-preview-latex-default-process 'dvisvgm)
|
||||
(setq org-special-ctrl-a/e t)
|
||||
(setq org-src-fontify-natively t)
|
||||
(setq org-src-preserve-indentation t)
|
||||
(setq org-src-tab-acts-natively t)
|
||||
(setq org-src-window-setup 'current-window)
|
||||
(setq org-tags-column 0)
|
||||
|
||||
(setq org-agenda-time-grid
|
||||
'((daily today require-timed)
|
||||
(800 1000 1200 1400 1600 1800 2000)
|
||||
" ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄"))
|
||||
|
||||
(setq org-exports-dir (expand-file-name "exports" org-directory))
|
||||
|
||||
(setq org-publish-project-alist
|
||||
(list (cons "html"
|
||||
(list :base-directory org-directory
|
||||
:base-extension "org"
|
||||
:htmlized-source t
|
||||
:recursive t
|
||||
:publishing-directory org-exports-dir
|
||||
:publishing-function 'org-html-publish-to-html))
|
||||
(cons "pdf"
|
||||
(list :base-directory org-directory
|
||||
:base-extension "org"
|
||||
:recursive t
|
||||
:publishing-directory org-exports-dir
|
||||
:publishing-function 'org-latex-publish-to-pdf))
|
||||
(cons "all" '(:components ("html" "pdf")))))
|
||||
|
||||
(add-hook 'org-mode-hook 'org-auctex-mode)
|
||||
|
||||
(add-hook 'dired-mode-hook 'org-download-enable)
|
||||
(setq-default org-download-image-dir (expand-file-name "images" org-directory))
|
||||
|
||||
(add-hook 'org-mode-hook 'org-modern-mode)
|
||||
|
||||
(setq-default pdf-view-display-size 'fit-width)
|
||||
(defvar pdf-annot-activate-created-annotations t)
|
||||
|
||||
(setq plantuml-default-exec-mode 'executable)
|
||||
'';
|
||||
});
|
||||
}
|
|
@ -23,4 +23,16 @@ in rec {
|
|||
MAILDIR = "${config.home.homeDirectory}/Maildir";
|
||||
};
|
||||
};
|
||||
|
||||
custom.enableOrgTex = lib.mkDefault true;
|
||||
|
||||
home.file = {
|
||||
".config/nixpkgs/config.nix".text = ''
|
||||
# -*-nix-*-
|
||||
{
|
||||
nixpkgs.config.allowUnfreePredicate = (_: true);
|
||||
allowUnfree = true;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,53 +17,6 @@
|
|||
yarn
|
||||
];
|
||||
octave-wp = pkgs.octave.withPackages (p: with p; [symbolic]);
|
||||
texliveset = pkgs.texlive.combine {
|
||||
inherit
|
||||
(pkgs.texlive)
|
||||
scheme-basic
|
||||
babel
|
||||
amscls
|
||||
amsmath
|
||||
biber
|
||||
biblatex
|
||||
biblatex-mla
|
||||
block
|
||||
cancel
|
||||
caption
|
||||
capt-of
|
||||
csquotes
|
||||
enotez
|
||||
enumitem
|
||||
etex
|
||||
etoolbox
|
||||
fancyhdr
|
||||
float
|
||||
fontaxes
|
||||
graphics
|
||||
hanging
|
||||
hyperref
|
||||
latex
|
||||
latexindent
|
||||
latexmk
|
||||
logreq
|
||||
metafont
|
||||
mlacls
|
||||
newtx
|
||||
pdflscape
|
||||
pdfpages
|
||||
preprint
|
||||
psnfss
|
||||
ragged2e
|
||||
titlesec
|
||||
tools
|
||||
translations
|
||||
ulem
|
||||
url
|
||||
wrapfig
|
||||
xstring
|
||||
xkeyval
|
||||
;
|
||||
};
|
||||
fenix-rust = pkgs.fenix.combine (with pkgs.fenix; [
|
||||
latest.toolchain
|
||||
targets.thumbv7em-none-eabihf.latest.rust-std
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
pkgs,
|
||||
...
|
||||
}: let
|
||||
aspellPackage = pkgs.aspellWithDicts (d: [d.en d.en-science d.en-computers d.fr]);
|
||||
emacsPackage =
|
||||
(pkgs.emacsPackagesFor pkgs.emacs29).emacsWithPackages
|
||||
(epkgs:
|
||||
|
@ -19,19 +18,6 @@
|
|||
sha256 = "sha256-6aX2S4cUop1rdxweIF5f1qrgNmYd1mtWgT9T1Q1s2h8=";
|
||||
};
|
||||
};
|
||||
org-auctex = epkgs.trivialBuild rec {
|
||||
pname = "org-auctex";
|
||||
version = "e1271557b9f36ca94cabcbac816748e7d0dc989c";
|
||||
|
||||
buildInputs = [epkgs.auctex];
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "karthink";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-cMAhwybnq5HA1wOaUqDPML3nnh5m1iwEETTPWqPbAvw=";
|
||||
};
|
||||
};
|
||||
lean4-mode = epkgs.trivialBuild rec {
|
||||
pname = "lean4-mode";
|
||||
version = "d1c936409ade7d93e67107243cbc0aa55cda7fd5";
|
||||
|
@ -52,9 +38,6 @@
|
|||
in [
|
||||
all-the-icons
|
||||
all-the-icons-dired
|
||||
auctex
|
||||
cdlatex
|
||||
citeproc
|
||||
company-mode
|
||||
company-sourcekit
|
||||
counsel
|
||||
|
@ -64,11 +47,7 @@
|
|||
f
|
||||
flycheck
|
||||
format-all
|
||||
gnuplot
|
||||
graphviz-dot-mode
|
||||
htmlize
|
||||
ivy
|
||||
ivy-bibtex
|
||||
lean4-mode
|
||||
lsp-mode
|
||||
lua-mode
|
||||
|
@ -78,12 +57,7 @@
|
|||
nix-mode
|
||||
nix-update
|
||||
org
|
||||
org-auctex
|
||||
org-contrib
|
||||
org-download
|
||||
org-modern
|
||||
pdf-tools
|
||||
plantuml-mode
|
||||
polymode
|
||||
poly-org
|
||||
rustic
|
||||
|
@ -95,9 +69,6 @@
|
|||
yasnippet
|
||||
])
|
||||
++ (with pkgs; [
|
||||
aspellPackage
|
||||
gnuplot
|
||||
plantuml
|
||||
sqlite
|
||||
]));
|
||||
in {
|
||||
|
|
|
@ -60,51 +60,31 @@
|
|||
|
||||
(require 'all-the-icons)
|
||||
(require 'all-the-icons-dired)
|
||||
(require 'cdlatex)
|
||||
(require 'citeproc)
|
||||
(require 'company)
|
||||
(require 'counsel)
|
||||
(require 'edit-indirect)
|
||||
(require 'editorconfig)
|
||||
(require 'eglot)
|
||||
(require 'format-all)
|
||||
(require 'gnuplot)
|
||||
(require 'gnuplot-context)
|
||||
(require 'graphviz-dot-mode)
|
||||
(require 'htmlize)
|
||||
(require 'ivy)
|
||||
(require 'ivy-bibtex)
|
||||
(require 'lean4-mode)
|
||||
(require 'magit)
|
||||
(require 'meow)
|
||||
(require 'nix-mode)
|
||||
(require 'nix-update)
|
||||
(require 'ob-dot)
|
||||
(require 'ob-emacs-lisp)
|
||||
(require 'ob-gnuplot)
|
||||
(require 'ob-matlab)
|
||||
(require 'ob-python)
|
||||
(require 'ob-shell)
|
||||
(require 'oc)
|
||||
(require 'oc-basic)
|
||||
(require 'oc-csl)
|
||||
(require 'oc-natbib)
|
||||
(require 'org)
|
||||
(require 'org-auctex)
|
||||
(require 'org-contrib)
|
||||
(require 'org-download)
|
||||
(require 'org-modern)
|
||||
(require 'ox-latex)
|
||||
(require 'ox-publish)
|
||||
(require 'pdf-tools)
|
||||
(require 'plantuml-mode)
|
||||
(require 'polymode)
|
||||
(require 'rustic)
|
||||
(require 'rust-ts-mode)
|
||||
(require 'swiper)
|
||||
(require 'tex)
|
||||
(require 'yasnippet)
|
||||
|
||||
(let ((org-config (expand-file-name "~/.emacs.d/org-init.el")))
|
||||
(when (file-exists-p org-config)
|
||||
(load-file org-config))
|
||||
)
|
||||
|
||||
(setq org-directory (expand-file-name "~/Documents/org"))
|
||||
|
||||
(add-hook 'dired-mode-hook 'all-the-icons-dired-mode)
|
||||
|
@ -140,12 +120,6 @@
|
|||
(add-to-list 'format-all-default-formatters '("Nix" alejandra))
|
||||
(setq-default format-all-formatters format-all-default-formatters)
|
||||
|
||||
(autoload 'gnuplot-mode "gnuplot" "Gnuplot major mode" t)
|
||||
(autoload 'gnuplot-make-buffer "gnuplot" "open a buffer in gnuplot-mode" t)
|
||||
(setq auto-mode-alist (append '(("\\.gp$" . gnuplot-mode)) auto-mode-alist))
|
||||
|
||||
(define-key graphviz-dot-mode-map (kbd "C-c C-y") 'graphviz-dot-indent-graph)
|
||||
|
||||
(global-set-key (kbd "C-c C-r") 'ivy-resume)
|
||||
(add-hook 'after-init-hook 'ivy-mode)
|
||||
|
||||
|
@ -159,21 +133,6 @@
|
|||
'((ivy-bibtex . ivy--regex-ignore-order)
|
||||
(t . ivy--regex-plus)))
|
||||
|
||||
(defvar zotero-bibliography (expand-file-name "zotero.bib" org-directory))
|
||||
|
||||
(defvar ivy-bibtex-bibliography (list zotero-bibliography))
|
||||
(setq reftex-default-bibliography (list zotero-bibliography))
|
||||
(setq bibtex-completion-pdf-field "file")
|
||||
|
||||
(add-hook 'LaTeX-mode-hook 'turn-on-cdlatex)
|
||||
(add-hook 'LaTeX-mode (lambda ()
|
||||
(turn-on-reftex)))
|
||||
(setq TeX-PDF-mode t
|
||||
TeX-auto-save t
|
||||
TeX-parse-self t)
|
||||
|
||||
|
||||
|
||||
(defun meow-setup ()
|
||||
"Initialize meow-edit for colemak."
|
||||
(setq meow-cheatsheet-layout meow-cheatsheet-layout-colemak)
|
||||
|
@ -279,149 +238,9 @@
|
|||
|
||||
(add-to-list 'auto-mode-alist '("\\.nix$" . poly-nix-mode))
|
||||
|
||||
|
||||
;; Automatically update hash for nix fetch functions
|
||||
(define-key nix-mode-map (kbd "C-c C-u") 'nix-update-fetch)
|
||||
|
||||
(setq org-babel-octave-shell-command "octave -q")
|
||||
|
||||
(setq org-babel-python-command "python3.10")
|
||||
(setq-default python-indent-guess-indent-offset-verbose nil)
|
||||
(defun my/org-babel-execute:python-session (body params)
|
||||
"Initiate a python session before executing org babel blocks that use sessions.
|
||||
BODY is the content of the org-babel block and PARAMS are any parameters specified."
|
||||
(let ((session-name (cdr (assq :session params))))
|
||||
(when (not (eq session-name "none"))
|
||||
(org-babel-python-initiate-session session-name))))
|
||||
(advice-add #'org-babel-execute:python :before #'my/org-babel-execute:python-session)
|
||||
|
||||
(defun my/indent-org-block-automatically ()
|
||||
"Indent the current org code block."
|
||||
(interactive)
|
||||
(when (org-in-src-block-p)
|
||||
(org-edit-special)
|
||||
(indent-region (point-min) (point-max))
|
||||
(org-edit-src-exit)))
|
||||
(defun my/org-force-open-current-window ()
|
||||
"Open a link using 'org-open-at-point' in current window."
|
||||
(interactive)
|
||||
(let ((org-link-frame-setup
|
||||
(quote
|
||||
((vm . vm-visit-folder)
|
||||
(vm-imap . vm-visit-imap-folder)
|
||||
(gnus . gnus)
|
||||
(file . find-file)
|
||||
(wl . wl)))
|
||||
))
|
||||
(org-open-at-point)))
|
||||
(defun my/follow-org-link (arg)
|
||||
"Follow a link in orgmode If ARG is given.
|
||||
Opens in new window otherwise opens in current window."
|
||||
(interactive "P")
|
||||
(if arg
|
||||
(org-open-at-point)
|
||||
(my/org-force-open-current-window)))
|
||||
(defun krofna-hack ()
|
||||
"Toggle latex fragments after exiting closing them."
|
||||
(when (looking-back (rx "$ "))
|
||||
(save-excursion
|
||||
(backward-char 1)
|
||||
(org-latex-preview))))
|
||||
|
||||
|
||||
(global-set-key (kbd "C-c n a") 'org-agenda)
|
||||
|
||||
(setq org-agenda-start-on-weekday nil)
|
||||
|
||||
(define-key org-mode-map (kbd "C-c C-o") 'my/follow-org-link)
|
||||
(define-key org-mode-map (kbd "C-c C-y") 'my/indent-org-block-automatically)
|
||||
(define-key org-mode-map (kbd "C-c ]") 'org-cite-insert)
|
||||
|
||||
(add-hook 'org-babel-after-execute-hook 'org-redisplay-inline-images)
|
||||
(add-hook 'org-mode-hook 'visual-line-mode)
|
||||
(add-hook 'org-mode-hook 'org-cdlatex-mode)
|
||||
(add-hook 'org-mode-hook
|
||||
(lambda ()
|
||||
(add-hook 'post-self-insert-hook #'krofna-hack 'append 'local)))
|
||||
|
||||
(add-to-list 'org-latex-classes
|
||||
'("mla"
|
||||
"\\documentclass{mla}"
|
||||
("\\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
|
||||
'("letter"
|
||||
"\\documentclass{letter}"
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")))
|
||||
|
||||
(plist-put org-format-latex-options :scale 3)
|
||||
|
||||
(setq org-agenda-files (list org-directory (expand-file-name "ubc" org-directory)))
|
||||
(setq org-agenda-tags-column 0)
|
||||
(setq org-auto-align-tags nil)
|
||||
(setq org-fold-catch-invisible-edits 'show-and-error)
|
||||
(setq org-cite-export-processors '((t basic)))
|
||||
(setq org-cite-global-bibliography (list zotero-bibliography))
|
||||
(setq org-confirm-babel-evaluate nil)
|
||||
(setq org-ellipsis "…")
|
||||
(setq org-export-with-tags nil)
|
||||
(setq org-hide-emphasis-markers t)
|
||||
(setq org-highlight-latex-and-related '(latex))
|
||||
(setq org-html-head-include-default-style nil)
|
||||
(setq org-html-head-include-scripts nil)
|
||||
(setq org-html-validation-link nil)
|
||||
(setq org-image-actual-width 300)
|
||||
(setq org-insert-heading-respect-content t)
|
||||
(setq org-latex-pdf-process '("latexmk -pdflatex='pdflatex -interaction nonstopmode' -pdf -bibtex -f %f"))
|
||||
(setq org-pretty-entities t)
|
||||
(setq org-preview-latex-default-process 'dvisvgm)
|
||||
(setq org-special-ctrl-a/e t)
|
||||
(setq org-src-fontify-natively t)
|
||||
(setq org-src-preserve-indentation t)
|
||||
(setq org-src-tab-acts-natively t)
|
||||
(setq org-src-window-setup 'current-window)
|
||||
(setq org-tags-column 0)
|
||||
|
||||
(setq org-agenda-time-grid
|
||||
'((daily today require-timed)
|
||||
(800 1000 1200 1400 1600 1800 2000)
|
||||
" ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄"))
|
||||
|
||||
(setq org-exports-dir (expand-file-name "exports" org-directory))
|
||||
|
||||
(setq org-publish-project-alist
|
||||
(list (cons "html"
|
||||
(list :base-directory org-directory
|
||||
:base-extension "org"
|
||||
:htmlized-source t
|
||||
:recursive t
|
||||
:publishing-directory org-exports-dir
|
||||
:publishing-function 'org-html-publish-to-html))
|
||||
(cons "pdf"
|
||||
(list :base-directory org-directory
|
||||
:base-extension "org"
|
||||
:recursive t
|
||||
:publishing-directory org-exports-dir
|
||||
:publishing-function 'org-latex-publish-to-pdf))
|
||||
(cons "all" '(:components ("html" "pdf")))))
|
||||
|
||||
(add-hook 'org-mode-hook 'org-auctex-mode)
|
||||
|
||||
(add-hook 'dired-mode-hook 'org-download-enable)
|
||||
(setq-default org-download-image-dir (expand-file-name "images" org-directory))
|
||||
|
||||
(add-hook 'org-mode-hook 'org-modern-mode)
|
||||
|
||||
(setq-default pdf-view-display-size 'fit-width)
|
||||
(defvar pdf-annot-activate-created-annotations t)
|
||||
|
||||
(setq plantuml-default-exec-mode 'executable)
|
||||
|
||||
(define-key eglot-mode-map (kbd "C-c C-y") 'eglot-format-buffer)
|
||||
(define-key eglot-mode-map (kbd "C-c C-a") 'eglot-code-actions)
|
||||
(setq eglot-extend-to-xref t)
|
||||
|
|
Loading…
Add table
Reference in a new issue