diff --git a/tools/doom/snippets/org-mode/align-math b/tools/doom/snippets/org-mode/align-math index 3906e2f..50287da 100644 --- a/tools/doom/snippets/org-mode/align-math +++ b/tools/doom/snippets/org-mode/align-math @@ -1,6 +1,6 @@ # -*- mode: snippet -*- # name: align-math -# key: BAL +# key: ali # expand-env: ((yas-indent-line 'fixed)) # -- \\begin{align*} diff --git a/tools/emacs.d/init.el b/tools/emacs.d/init.el index 55f3c08..d9aacdd 100644 --- a/tools/emacs.d/init.el +++ b/tools/emacs.d/init.el @@ -42,6 +42,7 @@ (require 'init-file) (require 'init-edit) (require 'init-calendar) +(require 'init-writer) (require 'init-org) (require 'init-markdown) (require 'init-latex) diff --git a/tools/emacs.d/lisp/init-edit.el b/tools/emacs.d/lisp/init-edit.el index 74a9dba..cf43a12 100644 --- a/tools/emacs.d/lisp/init-edit.el +++ b/tools/emacs.d/lisp/init-edit.el @@ -82,7 +82,9 @@ (lambda (orig-fn &rest args) (let ((inhibit-field-text-motion t)) ;; 禁止字段自动换行 (apply orig-fn args)))) - (setq yas-snippet-dirs '("~/.dotfiles/tools/doom/snippets/")) + ;; (setq yas-snippet-dirs '("~/.dotfiles/tools/doom/snippets/")) + (add-to-list 'yas-snippet-dirs "~/.dotfiles/tools/doom/snippets/" t) + (yas-reload-all) ) diff --git a/tools/emacs.d/lisp/init-latex.el b/tools/emacs.d/lisp/init-latex.el index f6b6def..bb2bdae 100644 --- a/tools/emacs.d/lisp/init-latex.el +++ b/tools/emacs.d/lisp/init-latex.el @@ -7,5 +7,26 @@ (kbd "zL") #'texfrag-document) :hook (markdown-mode . texfrag-mode)) +(use-package laas + :hook ( + (LaTeX-mode . laas-mode) + (org-mode . laas-mode)) + :config ; do whatever here + (aas-set-snippets 'laas-mode + ;; set condition! + :cond #'texmathp ; expand only while in math + "nabl" "\\nabla" + "ppart" (lambda () (interactive) + (yas-expand-snippet "\\frac{\\partial $2}{\\partial $1} $0")) + ;; bind to functions! + "Sum" (lambda () (interactive) + (yas-expand-snippet "\\sum_{$1}^{$2} $0")) + "Span" (lambda () (interactive) + (yas-expand-snippet "\\Span($1)$0")) + ;; add accent snippets + :cond #'laas-object-on-left-condition + "qq" (lambda () (interactive) (laas-wrap-previous-object "sqrt"))) + ) + (provide 'init-latex) ;;; init-latex.el ends diff --git a/tools/emacs.d/lisp/init-org.el b/tools/emacs.d/lisp/init-org.el index 408c040..aa9b85f 100644 --- a/tools/emacs.d/lisp/init-org.el +++ b/tools/emacs.d/lisp/init-org.el @@ -15,7 +15,7 @@ (org-display-remote-inline-images 'cache) ; 预览网络图片 ;; Use LaTeX rendering - (org-startup-with-latex-preview nil) + ;; (org-startup-with-latex-preview nil) (org-image-actual-width 600) ;; Conceal on markup markers (org-hide-emphasis-markers t) @@ -42,7 +42,7 @@ ("/" (italic :foreground "green")) ("_" underline) ("=" (org-verbatim verbatim :background "maroon" :foreground "white")) - ("~" (org-code verbatim :background "deep sky blue" :foreground "MidnightBlue")) + ("~" (org-code verbatim :background "maroon" :foreground "white")) ("+" (:strike-through t)))) (dolist (face '((org-level-1 . 1.6) @@ -53,8 +53,7 @@ (org-level-6 . 1.0) (org-level-7 . 1.0) (org-level-8 . 1.0))) - (set-face-attribute (car face) nil :height (cdr face))) - ) + (set-face-attribute (car face) nil :height (cdr face)))) @@ -71,6 +70,12 @@ (setq org-preview-latex-default-process 'dvisvgm) (setq org-format-latex-options (plist-put org-format-latex-options :scale 0.8)) +;; org-appear: Show hidden emphasis markers +;; Just like Obsidian +(use-package org-appear + :hook + (org-mode . org-appear-mode)) + (use-package org-latex-impatient :defer t @@ -125,9 +130,9 @@ (use-package org-modern :ensure t :config - (setopt org-modern-star 'replace - org-modern-replace-stars '("§") - org-modern-hide-stars "§") + ;; (setopt org-modern-star 'replace + ;; org-modern-replace-stars '("§") + ;; org-modern-hide-stars "§") (setopt org-modern-list '((?- . "•"))) (setopt org-modern-timestamp '(" %Y-%m-%d " . " %H:%M ")) (setopt org-modern-block-fringe nil) @@ -265,6 +270,4 @@ :after org :config (org-node-cache-mode)) - - (provide 'init-org) diff --git a/tools/emacs.d/lisp/init-writer.el b/tools/emacs.d/lisp/init-writer.el new file mode 100644 index 0000000..e320c27 --- /dev/null +++ b/tools/emacs.d/lisp/init-writer.el @@ -0,0 +1,7 @@ + +;; TODO +(use-package flyspell) + +(use-package olivetti) + +(provide 'init-writer) diff --git a/tools/emacs.d/snippets b/tools/emacs.d/snippets deleted file mode 120000 index 3a69d5c..0000000 --- a/tools/emacs.d/snippets +++ /dev/null @@ -1 +0,0 @@ -../doom/snippets \ No newline at end of file diff --git a/tools/emacs.d/snippets/org-mode/begin_src b/tools/emacs.d/snippets/org-mode/begin_src new file mode 100644 index 0000000..ac46401 --- /dev/null +++ b/tools/emacs.d/snippets/org-mode/begin_src @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: src +# key: src +# -- + +#+BEGIN_SRC $1 +$2 +#+END_SRC \ No newline at end of file diff --git a/tools/emacs.d/snippets/org-mode/begin_src_elisp b/tools/emacs.d/snippets/org-mode/begin_src_elisp new file mode 100644 index 0000000..6bd3a27 --- /dev/null +++ b/tools/emacs.d/snippets/org-mode/begin_src_elisp @@ -0,0 +1,8 @@ +# -*- mode: snippet -*- +# name: elisp +# key: elisp +# -- + +#+BEGIN_SRC elisp +$1 +#+END_SRC