feat(emacs): more LaTeX & turn off org src indentation for now

This commit is contained in:
Pavel Korytov 2021-04-18 15:43:22 +03:00
parent 9592cad3af
commit 81efbdf272
3 changed files with 119 additions and 51 deletions

View file

@ -109,22 +109,24 @@
:after evil
:config
(evil-collection-init
'(eww
dired
company
vterm
flycheck
profiler
cider
explain-pause-mode
notmuch
custom
xref
eshell
helpful
compile
comint
magit)))
'(eww
dired
debug
edebug
company
vterm
flycheck
profiler
cider
explain-pause-mode
notmuch
custom
xref
eshell
helpful
compile
comint
magit)))
(defun minibuffer-keyboard-quit ()
"Abort recursive edit.
@ -478,6 +480,7 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
(use-package yasnippet
:straight t
:config
(setq yas-triggers-in-field t)
(yas-global-mode 1))
(use-package yasnippet-snippets
@ -847,6 +850,7 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
(setq org-startup-indented t)
(setq org-return-follows-link t)
(setq org-src-tab-acts-natively nil)
(add-hook 'org-mode-hook 'smartparens-mode)
(add-hook 'org-agenda-mode-hook
(lambda ()
@ -874,7 +878,7 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
(org-babel-jupyter-override-src-block "python")
(add-hook 'org-src-mode-hook
(lambda ()
(hs-minor-mode -1)
;; (hs-minor-mode -1)
;; (electric-indent-local-mode -1)
(highlight-indent-guides-mode -1)))
(setq my/org-latex-scale 1.75)
@ -942,7 +946,8 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
(add-hook 'org-mode-hook
(lambda ()
(rainbow-delimiters-mode 0)
(electric-indent-local-mode -1)))
;; (electric-indent-local-mode -1)
))
(add-to-list 'evil-emacs-state-modes 'org-agenda-mode)
(require 'evil-org-agenda)
(evil-org-agenda-set-keys))
@ -1327,6 +1332,8 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
("v" . "\\psi")
("g" . "\\omega")))
(setq my/latex-greek-prefix "'")
;; The same for capitalized letters
(dolist (elem my/greek-alphabet)
(let ((key (car elem))
@ -1344,7 +1351,7 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
'latex-mode
(mapcar
(lambda (elem)
(list (concat "'" (car elem)) (cdr elem) (concat "Greek letter " (car elem))))
(list (concat my/latex-greek-prefix (car elem)) (cdr elem) (concat "Greek letter " (car elem))))
my/greek-alphabet))
(setq my/english-alphabet
'("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))
@ -1353,12 +1360,28 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
(when (string-equal elem (downcase elem))
(add-to-list 'my/english-alphabet (upcase elem))))
(setq my/latex-mathbb-prefix "`")
(yas-define-snippets
'latex-mode
(mapcar
(lambda (elem)
(list (concat "`" elem) (concat "\\mathbb{" elem "}")))
my/english-alphabet)))
(list (concat my/latex-mathbb-prefix elem) (concat "\\mathbb{" elem "}") (concat "Mathbb letter " elem)))
my/english-alphabet))
(setq my/latex-math-symbols
'(("x" . "\\times")
("." . "\\cdot")))
(setq my/latex-math-prefix "''")
(yas-define-snippets
'latex-mode
(mapcar
(lambda (elem)
(let ((key (car elem))
(value (cdr elem)))
(list (concat my/latex-math-prefix key) value (concat "Math symbol " value))))
my/latex-math-symbols)))
(use-package ivy-bibtex
:commands (ivy-bibtex)
@ -1418,6 +1441,8 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
("v" . "\\psi")
("g" . "\\omega")))
(setq my/latex-greek-prefix "'")
;; The same for capitalized letters
(dolist (elem my/greek-alphabet)
(let ((key (car elem))
@ -1435,7 +1460,7 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
'latex-mode
(mapcar
(lambda (elem)
(list (concat "'" (car elem)) (cdr elem) (concat "Greek letter " (car elem))))
(list (concat my/latex-greek-prefix (car elem)) (cdr elem) (concat "Greek letter " (car elem))))
my/greek-alphabet))
(setq my/english-alphabet
@ -1445,13 +1470,30 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
(when (string-equal elem (downcase elem))
(add-to-list 'my/english-alphabet (upcase elem))))
(setq my/latex-mathbb-prefix "`")
(yas-define-snippets
'latex-mode
(mapcar
(lambda (elem)
(list (concat "`" elem) (concat "\\mathbb{" elem "}")))
(list (concat my/latex-mathbb-prefix elem) (concat "\\mathbb{" elem "}") (concat "Mathbb letter " elem)))
my/english-alphabet))
(setq my/latex-math-symbols
'(("x" . "\\times")
("." . "\\cdot")))
(setq my/latex-math-prefix "''")
(yas-define-snippets
'latex-mode
(mapcar
(lambda (elem)
(let ((key (car elem))
(value (cdr elem)))
(list (concat my/latex-math-prefix key) value (concat "Math symbol " value))))
my/latex-math-symbols))
(use-package markdown-mode
:straight t
:mode "\\.md\\'"
@ -1543,7 +1585,7 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
(setq lsp-java-jdt-download-url "https://download.eclipse.org/jdtls/milestones/0.57.0/jdt-language-server-0.57.0-202006172108.tar.gz"))
(add-hook 'java-mode-hook #'smartparens-mode)
(add-hook 'java-mode-hook #'hs-minor-mode)
;; (add-hook 'java-mode-hook #'hs-minor-mode)
(my/set-smartparens-indent 'java-mode)
(use-package clojure-mode

View file

@ -3,6 +3,5 @@
# key: eq*
# --
\begin{equation*}
$1
\end{equation*}
$0
$0
\end{equation*}

View file

@ -147,6 +147,7 @@ As with other files in the repo, parts prefixed with (OFF) are not used but kept
- [[#import-sty][Import *.sty]]
- [[#greek-letters][Greek letters]]
- [[#english-letters][English letters]]
- [[#math-symbols][Math symbols]]
- [[#markdown][Markdown]]
- [[#plantuml][PlantUML]]
- [[#languagetool][LanguageTool]]
@ -388,22 +389,24 @@ I don't enable the entire package, just the modes I need.
:after evil
:config
(evil-collection-init
'(eww
dired
company
vterm
flycheck
profiler
cider
explain-pause-mode
notmuch
custom
xref
eshell
helpful
compile
comint
magit)))
'(eww
dired
debug
edebug
company
vterm
flycheck
profiler
cider
explain-pause-mode
notmuch
custom
xref
eshell
helpful
compile
comint
magit)))
#+end_src
** More keybindigs
The main keybindigs setup is positioned after evil mode to take the latter into account.
@ -963,6 +966,7 @@ References:
(use-package yasnippet
:straight t
:config
(setq yas-triggers-in-field t)
(yas-global-mode 1))
(use-package yasnippet-snippets
@ -970,7 +974,6 @@ References:
(general-imap "M-TAB" 'company-yasnippet)
#+end_src
** Time trackers
A bunch of timetrackers I use.
@ -1477,6 +1480,7 @@ Use the built-in org mode.
(setq org-startup-indented t)
(setq org-return-follows-link t)
(setq org-src-tab-acts-natively nil)
(add-hook 'org-mode-hook 'smartparens-mode)
(add-hook 'org-agenda-mode-hook
(lambda ()
@ -1508,7 +1512,8 @@ Use the built-in org mode.
(add-hook 'org-mode-hook
(lambda ()
(rainbow-delimiters-mode 0)
(electric-indent-local-mode -1)))
;; (electric-indent-local-mode -1)
))
(add-to-list 'evil-emacs-state-modes 'org-agenda-mode)
(require 'evil-org-agenda)
(evil-org-agenda-set-keys))
@ -1590,7 +1595,7 @@ Turn of some minor modes in source blocks.
#+begin_src emacs-lisp :tangle no :noweb-ref org-lang-setup
(add-hook 'org-src-mode-hook
(lambda ()
(hs-minor-mode -1)
;; (hs-minor-mode -1)
;; (electric-indent-local-mode -1)
(highlight-indent-guides-mode -1)))
#+end_src
@ -2231,7 +2236,8 @@ References:
"C-c t" 'orgtbl-mode)
<<init-greek-latex-snippets>>
<<init-english-latex-snippets>>)
<<init-english-latex-snippets>>
<<init-math-latex-snippets>>)
#+end_src
**** BibTeX
#+begin_src emacs-lisp
@ -2273,7 +2279,7 @@ A function to import =.sty= files to the LaTeX document.
(_ nil))))))))
#+end_src
**** Greek letters
Autogenerate snippets for greek letters.
Autogenerate snippets for greek letters. I have a few blocks like this because it's faster & more flexible than usual yasnippet snippets.
Noweb points to the AUCTeX config block.
@ -2303,6 +2309,8 @@ Noweb points to the AUCTeX config block.
("v" . "\\psi")
("g" . "\\omega")))
(setq my/latex-greek-prefix "'")
;; The same for capitalized letters
(dolist (elem my/greek-alphabet)
(let ((key (car elem))
@ -2320,7 +2328,7 @@ Noweb points to the AUCTeX config block.
'latex-mode
(mapcar
(lambda (elem)
(list (concat "'" (car elem)) (cdr elem) (concat "Greek letter " (car elem))))
(list (concat my/latex-greek-prefix (car elem)) (cdr elem) (concat "Greek letter " (car elem))))
my/greek-alphabet))
#+end_src
**** English letters
@ -2332,13 +2340,32 @@ Noweb points to the AUCTeX config block.
(when (string-equal elem (downcase elem))
(add-to-list 'my/english-alphabet (upcase elem))))
(setq my/latex-mathbb-prefix "`")
(yas-define-snippets
'latex-mode
(mapcar
(lambda (elem)
(list (concat "`" elem) (concat "\\mathbb{" elem "}")))
(list (concat my/latex-mathbb-prefix elem) (concat "\\mathbb{" elem "}") (concat "Mathbb letter " elem)))
my/english-alphabet))
#+end_src
**** Math symbols
#+begin_src emacs-lisp :noweb-ref init-math-latex-snippets
(setq my/latex-math-symbols
'(("x" . "\\times")
("." . "\\cdot")))
(setq my/latex-math-prefix "''")
(yas-define-snippets
'latex-mode
(mapcar
(lambda (elem)
(let ((key (car elem))
(value (cdr elem)))
(list (concat my/latex-math-prefix key) value (concat "Math symbol " value))))
my/latex-math-symbols))
#+end_src
*** Markdown
#+begin_src emacs-lisp
(use-package markdown-mode
@ -2455,7 +2482,7 @@ Use [[https://github.com/Microsoft/python-language-server][Microsoft Language Se
(setq lsp-java-jdt-download-url "https://download.eclipse.org/jdtls/milestones/0.57.0/jdt-language-server-0.57.0-202006172108.tar.gz"))
(add-hook 'java-mode-hook #'smartparens-mode)
(add-hook 'java-mode-hook #'hs-minor-mode)
;; (add-hook 'java-mode-hook #'hs-minor-mode)
(my/set-smartparens-indent 'java-mode)
#+end_src
** Clojure