[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: indentation problem II
From: |
Uwe Brauer |
Subject: |
Re: indentation problem II |
Date: |
Thu, 21 Apr 2022 14:43:15 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
> Uwe Brauer <oub@mat.ucm.es> writes:
> Thanks for your responses. Indeed, there is a big chance that inserting
> a single & doesn't match the user expectation. This makes the change
> even smaller:
> diff --git a/style/amsmath.el b/style/amsmath.el
> index 5e7812e7..f72f8be8 100644
> --- a/style/amsmath.el
> +++ b/style/amsmath.el
> @@ -57,7 +57,8 @@
> "align*" "gather*" "flalign*" "multline*" "equation*"
> "split"
> "cases"
> - "matrix" "smallmatrix" "pmatrix" "bmatrix" "Bmatrix" "vmatrix" "Vmatrix"
> + "matrix" "smallmatrix"
> + "bmatrix" "Bmatrix" "pmatrix" "vmatrix" "Vmatrix"
> "subequations"
> '("subarray" "Alignment"))
> @@ -126,13 +127,13 @@
> ("alignedat" . LaTeX-item-equation-alignat)
> ("flalign" . LaTeX-item-equation)
> ("flalign*" . LaTeX-item-equation)
> - ("matrix" . LaTeX-item-equation)
> - ("pmatrix" . LaTeX-item-equation)
> - ("bmatrix" . LaTeX-item-equation)
> - ("Bmatrix" . LaTeX-item-equation)
> - ("vmatrix" . LaTeX-item-equation)
> - ("Vmatrix" . LaTeX-item-equation)
> - ("smallmatrix" . LaTeX-item-equation)
> + ("matrix" . LaTeX-item-equation-matrix)
> + ("pmatrix" . LaTeX-item-equation-matrix)
> + ("bmatrix" . LaTeX-item-equation-matrix)
> + ("Bmatrix" . LaTeX-item-equation-matrix)
> + ("vmatrix" . LaTeX-item-equation-matrix)
> + ("Vmatrix" . LaTeX-item-equation-matrix)
> + ("smallmatrix" . LaTeX-item-equation-matrix)
> ("subarray" . LaTeX-item-equation)
> ("cases" . LaTeX-item-equation))
> LaTeX-item-list))
> @@ -225,6 +226,31 @@ If SUPPRESS is non-nil, do not insert line break macro."
> (LaTeX-newline)
> (indent-according-to-mode))))
> +(defun LaTeX-item-equation-matrix ()
> + "Insert contents to terminate a line in matrix environments.
> +Put line break macro on the last line and insert suitable number
> +of ampersands if possible. This number is extracted from the
> +first line of the environment."
> + (end-of-line 0)
> + (just-one-space)
> + (TeX-insert-macro "\\")
> + (forward-line 1)
> + (indent-according-to-mode)
> + (let* ((p (point))
> + (s (save-excursion
> + (LaTeX-find-matching-begin)
> + (point)))
> + (e (save-excursion
> + (goto-char s)
> + (search-forward "\\\\" p t)))
> + n)
> + (save-excursion
> + (goto-char s)
> + (setq n (how-many "[^\\]&" s e)))
> + (when (and n (> n 0))
> + (save-excursion
> + (insert (make-string n ?&))))))
> +
> (defun LaTeX-item-equation-alignat (&optional suppress)
> "Insert contents to terminate a line in multi-line equations environment.
> Put line break macro on the last line. Next, if the current
> Can you please elaborate what sounds complicated?
The implementation, but looking at your code I see
(setq n (how-many "[^\\]&" s e)))
I could not imagine that such a function exists.
so sounds complicated should be read as: Uwe's elisp knowledge is too small for
such a task. 🙃
Uwe
smime.p7s
Description: S/MIME cryptographic signature
- indentation problem II, Uwe Brauer, 2022/04/15
- Re: indentation problem II, Ikumi Keita, 2022/04/19
- Re: indentation problem II, Uwe Brauer, 2022/04/21
- [Culprit found prettify-symbols-mode] (was: indentation problem II), Uwe Brauer, 2022/04/21
- Re: indentation problem II, Arash Esbati, 2022/04/21
- Re: indentation problem II, Ikumi Keita, 2022/04/21
- Re: indentation problem II, Uwe Brauer, 2022/04/21
- Re: indentation problem II, Arash Esbati, 2022/04/21
- Re: indentation problem II,
Uwe Brauer <=
- Re: indentation problem II, Uwe Brauer, 2022/04/21
- Re: indentation problem II, Arash Esbati, 2022/04/22
- Re: indentation problem II, Ikumi Keita, 2022/04/22
- Re: indentation problem II, Arash Esbati, 2022/04/22
- Re: indentation problem II, Ikumi Keita, 2022/04/22