[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 8e3137f6 1/5: Simplify implementation of style/titlesec.el
From: |
Arash Esbati |
Subject: |
master 8e3137f6 1/5: Simplify implementation of style/titlesec.el |
Date: |
Fri, 4 Nov 2022 08:26:18 -0400 (EDT) |
branch: master
commit 8e3137f641654655c76f869ebf2be5dd5480d462
Author: Arash Esbati <arash@gnu.org>
Commit: Arash Esbati <arash@gnu.org>
Simplify implementation of style/titlesec.el
* style/titlesec.el (LaTeX-titlesec-section-command-list): Delete
unnecessary `symbol-value'.
(LaTeX-titlesec-titlespec-key-val-options): New function replacing
`LaTeX-arg-titlesec-titlespec'. The new function returns only
key=vals and doesn't insert them into buffer.
("titlesec"): Use the new function in the style hook.
---
style/titlesec.el | 59 +++++++++++++++++++++++++------------------------------
1 file changed, 27 insertions(+), 32 deletions(-)
diff --git a/style/titlesec.el b/style/titlesec.el
index 3c232b0f..bc1faf13 100644
--- a/style/titlesec.el
+++ b/style/titlesec.el
@@ -75,34 +75,29 @@ Removal is based on the return value of function
`TeX-esc'."
(mapcar (lambda (elt) (concat TeX-esc elt))
(if (< (LaTeX-largest-level) 2)
- (symbol-value 'LaTeX-titlesec-section-command-list)
+ LaTeX-titlesec-section-command-list
(remove "chapter" LaTeX-titlesec-section-command-list))))
-(defun LaTeX-arg-titlesec-titlespec (optional)
- "Insert the first argument of \"\\titleformat\" and \"\\titlespacing\".
-Depending on returned value of function `LaTeX-largest-level',
-append a \"name\" key with corresponding values to
-`LaTeX-titlesec-key-val-options'. The values are retrieved from
-`LaTeX-titlesec-section-command-list'. The values of this list
-are also added stand-alone as keys. If OPTIONAL is non-nil,
-insert the argument in brackets."
- (let ((keyvals
- (TeX-read-key-val
- optional
- (append
- `(("name"
- ,(mapcar (lambda (elt) (concat TeX-esc elt))
- (if (< (LaTeX-largest-level) 2)
- (symbol-value 'LaTeX-titlesec-section-command-list)
- (remove "chapter"
LaTeX-titlesec-section-command-list)))))
- (mapcar #'list
- (mapcar (lambda (elt) (concat TeX-esc elt))
- (if (< (LaTeX-largest-level) 2)
- (symbol-value
'LaTeX-titlesec-section-command-list)
- (remove "chapter"
LaTeX-titlesec-section-command-list))))
- LaTeX-titlesec-key-val-options)
- "Sectioning command")))
- (TeX-argument-insert keyvals optional)))
+(defun LaTeX-titlesec-titlespec-key-val-options ()
+ "Return key=val's for the 1st arg of \"\\titleformat\" and
\"\\titlespacing\".
+Depending on the returned value of the function
+`LaTeX-largest-level', append a \"name\" key with corresponding
+values to `LaTeX-titlesec-key-val-options'. The values are
+retrieved from `LaTeX-titlesec-section-command-list'. The values
+of this list are also added stand-alone as keys."
+ (append
+ `(("name"
+ ,(mapcar (lambda (elt) (concat TeX-esc elt))
+ (if (< (LaTeX-largest-level) 2)
+ LaTeX-titlesec-section-command-list
+ (remove "chapter" LaTeX-titlesec-section-command-list)))))
+ (mapcar #'list
+ (mapcar (lambda (elt) (concat TeX-esc elt))
+ (if (< (LaTeX-largest-level) 2)
+ LaTeX-titlesec-section-command-list
+ (remove "chapter" LaTeX-titlesec-section-command-list))))
+ LaTeX-titlesec-key-val-options))
+
(TeX-add-style-hook
"titlesec"
@@ -117,30 +112,30 @@ insert the argument in brackets."
'("titlelabel" t)
;; \titleformat*{<command>}{<format>}
- '("titleformat*" (LaTeX-arg-titlesec-titlespec) t)
+ '("titleformat*" (TeX-arg-key-val
(LaTeX-titlesec-titlespec-key-val-options)) t)
;; 3. Advanced Interface
;;
\titleformat{<command>}[<shape>]{<format>}{<label>}{<sep>}{<before-code>}[<after-code>]
'("titleformat"
- (LaTeX-arg-titlesec-titlespec)
+ (TeX-arg-key-val (LaTeX-titlesec-titlespec-key-val-options))
[TeX-arg-completing-read LaTeX-titlesec-section-shape-list "Shape"]
(TeX-arg-conditional (y-or-n-p "With optional after-code? ")
- (4 [nil])
- (4)))
+ (4 [nil])
+ (4)))
'("chaptertitlename" 0)
;; 3.2. Spacing
;; \titlespacing{<command>}{<left>}{<before-sep>}{<after-sep>}[<right-sep>]
'("titlespacing"
- (LaTeX-arg-titlesec-titlespec)
+ (TeX-arg-key-val (LaTeX-titlesec-titlespec-key-val-options))
(TeX-arg-length "Left margin")
(TeX-arg-length "Before vertical space")
(TeX-arg-length "Space between title and text")
[TeX-arg-length "Right margin"])
'("titlespacing*"
- (LaTeX-arg-titlesec-titlespec)
+ (TeX-arg-key-val (LaTeX-titlesec-titlespec-key-val-options))
(TeX-arg-length "Left margin")
(TeX-arg-length "Before vertical space")
(TeX-arg-length "Space between title and text")
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 8e3137f6 1/5: Simplify implementation of style/titlesec.el,
Arash Esbati <=