From f08fb76533c4b75ae765f5f5877b3d4f538f4d43 Mon Sep 17 00:00:00 2001 From: Gerard Vermeulen Date: Sat, 5 Nov 2022 13:32:57 +0100 Subject: [PATCH] Get rid of `toggle-TeX-brace-count-line-override' --- README.org | 77 ++++++++++++++---------------------------------------- 1 file changed, 20 insertions(+), 57 deletions(-) diff --git a/README.org b/README.org index c949867..1b573bd 100644 --- a/README.org +++ b/README.org @@ -627,12 +627,6 @@ and [[lst:3rd-window-management]] implement a selection of his recommendations. #+name: lst:toggle-specific-advice #+begin_src emacs-lisp (with-eval-after-load 'emacs - (defun toggle-TeX-brace-count-line-override () - "Toggle `TeX-brace-count-line-override' advice." - (interactive) - (advice-toggle 'TeX-brace-count-line - :override #'TeX-brace-count-line-override)) - (defun toggle-engrave-faces-latex-face-apply-override () "Toggle `engrave-faces-latex-face-apply' advice." (interactive) @@ -849,7 +843,6 @@ defined in this Org file. (define-short-documentation-group init "Advice" (advice-toggle :no-manual t) - (toggle-TeX-brace-count-line-override :no-manual t) (toggle-engrave-faces-latex-face-apply-override :no-manual t) (toggle-engrave-faces-latex-face-mapper-override :no-manual t) (toggle-eww-display-pdf-around :no-manual t) @@ -1764,33 +1757,41 @@ rebuild the =epdfinfo= executable that serves the [[https://en.wikipedia.org/wik :END: Loading =tex.el= immediately instead of lazily ensures proper initialization of -[[https://en.wikipedia.org/wiki/AUCTeX][AUCTeX]]. For instance, the ~TeX-master~ safe local variable in the =tex.el= +[[https://en.wikipedia.org/wiki/AUCTeX][AUCTeX]]. In particular, the ~TeX-master~ safe local variable in the =tex.el= elisp library file has no autoload cookie. Without prior loading of =tex.el=, Emacs will complain that ~TeX-master~ is no safe local variable in case it reads -a LaTeX file that sets ~TeX-master~. Listing [[lst:require-auctex]] initializes -[[https://en.wikipedia.org/wiki/AUCTeX][AUCTeX]] properly for LuaTeX or LuaLaTeX. In case the output of =LuaLaTeX= has -missing fonts, listing [[lst:update-lualatex-opentype-font-name-database]] defines a -function to update the =OpenType Font= name database for =LuaLaTeX=. Finally, -out of the box, [[https://en.wikipedia.org/wiki/AUCTeX][AUCTeX]] does not indent text between square brackets. The code -in listing [[lst:configure-auctex]] corrects this by advising to override -~TeX-brace-count-line~ with ~TeX-brace-count-line-advice~. +a LaTeX file that sets ~TeX-master~. The list below summarizes the main [[https://en.wikipedia.org/wiki/AUCTeX][AUCTeX]] +configuration objectives: +1. Listing [[lst:require-tex]] initializes [[https://en.wikipedia.org/wiki/AUCTeX][AUCTeX]] properly for =LuaTeX= or + =LuaLaTeX=. +2. Listing [[lst:require-tex]] also enables [[https://git.savannah.gnu.org/cgit/auctex.git/patch/?id=f464242eab092e610dda6b654e6fd197ef649d3eAA][indenting between square brackets]] + which is a recent feature. +3. Listing [[lst:update-lualatex-opentype-font-name-database]] defines a function to + update the =OpenType Font= name database for =LuaLaTeX= when the output of + =LuaLaTeX= shows missing fonts. +4. Listing [[lst:configure-bibtex]] configures the Emacs =bibtex= library to use the + LaTeX =BiBTeX= dialect for backwards compatibility. +5. Listing [[lst:configure-font-latex]] disables font scaling of section titles. +6. Listing [[lst:configure-latex]] configures =latex= for a full featured + =LaTeX-section-command=. -#+caption[Require =AUCTeX=]: -#+caption: Require =AUCTeX=. -#+name: lst:require-auctex +#+caption[Require and configure =TeX=]: +#+caption: Require and configure =TeX=. +#+name: lst:require-tex #+begin_src emacs-lisp ;; Use `require' to make `TeX-master' a safe local variable. (when (require 'tex nil 'noerror) (custom-set-variables '(TeX-auto-save t) '(TeX-engine 'luatex) + '(TeX-indent-close-delimiters "]") + '(TeX-indent-open-delimiters "[") '(TeX-install-font-lock #'font-latex-setup) '(TeX-parse-self t) ;; Disable `TeX-electric-math' to prevent collisions with `smartparens'. '(TeX-electric-math nil))) #+end_src - #+caption[Update the =LuaLaTeX OpenType Font= name database]: #+caption: Update the =LuaLaTeX= =OpenType Font= name database. #+name: lst:update-lualatex-opentype-font-name-database @@ -1807,44 +1808,6 @@ in listing [[lst:configure-auctex]] corrects this by advising to override (error "%s" (string-trim output)))))) #+end_src -#+caption[Configure =AUCTeX=]: -#+caption: Configure =AUCTeX=. -#+name: lst:configure-auctex -#+begin_src emacs-lisp - (when (require 'tex nil 'noerror) - ;; https://emacs.stackexchange.com/a/35507 answers: - ;; How to indent between square brackets? - (defun TeX-brace-count-line-override () - "Count number of open/closed braces." - (save-excursion - (let ((count 0) (limit (line-end-position)) char) - (while (progn - (skip-chars-forward "^{}[]\\\\" limit) - (when (and (< (point) limit) (not (TeX-in-comment))) - (setq char (char-after)) - (forward-char) - (cond ((eq char ?\{) - (setq count (+ count TeX-brace-indent-level))) - ((eq char ?\}) - (setq count (- count TeX-brace-indent-level))) - ((eq char ?\[) - (setq count (+ count TeX-brace-indent-level))) - ((eq char ?\]) - (setq count (- count TeX-brace-indent-level))) - ((eq char ?\\) - (when (< (point) limit) - (forward-char) t)))))) - count))) - - (advice-add 'TeX-brace-count-line :override #'TeX-brace-count-line-override)) -#+end_src - -Listing [[lst:configure-bibtex]] configures the Emacs =bibtex= library to use the -LaTeX =BiBTeX= dialect for backwards compatibility. Listing -[[lst:configure-font-latex]] disables font scaling of section titles. Listing -[[lst:configure-latex]] configures =latex= for a full featured -=LaTeX-section-command=. - #+caption[Configure =bibtex=]: #+caption: Configure =bibtex=. #+name: lst:configure-bibtex