emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/engrave-faces 1b50efc320 2/8: LaTeX: improve background


From: ELPA Syncer
Subject: [elpa] externals/engrave-faces 1b50efc320 2/8: LaTeX: improve background boxes by adding a strut
Date: Sat, 7 May 2022 13:57:31 -0400 (EDT)

branch: externals/engrave-faces
commit 1b50efc32038aa76614737992a130bde0db51fa2
Author: TEC <tec@tecosaur.com>
Commit: TEC <tec@tecosaur.com>

    LaTeX: improve background boxes by adding a strut
---
 engrave-faces-latex.el | 27 +++++++++++++++++++--------
 1 file changed, 19 insertions(+), 8 deletions(-)

diff --git a/engrave-faces-latex.el b/engrave-faces-latex.el
index 4d19d9a201..f7c867ebc0 100644
--- a/engrave-faces-latex.el
+++ b/engrave-faces-latex.el
@@ -21,14 +21,24 @@ When preset, short commands are generated for 
`engrave-faces-preset-styles'."
   :type '(choice nil preset)
   :group 'engrave-faces)
 
+(defcustom engrave-faces-latex-colorbox-strut
+  "\\vrule height 2.1ex depth 0.8ex width 0pt"
+  "LaTeX code which sets the height and depth for any colorboxes."
+  :type 'string
+  :group 'engrave-faces)
+
 (defun engrave-faces-latex-gen-preamble ()
   "Generate a preamble which provides short commands for the preset styles.
 See `engrave-faces-preset-styles' and `engrave-faces-latex-output-style'."
-  (mapconcat
-   (lambda (face-style)
-     (engrave-faces-latex-gen-preamble-line (car face-style) (cdr face-style)))
-   engrave-faces-preset-styles
-   "\n"))
+  (concat
+   (unless (cl-notany (lambda (s) (plist-get (cdr s) :background))
+                      engrave-faces-preset-styles)
+     (format "\\newcommand\\efstrut{%s}\n" engrave-faces-latex-colorbox-strut))
+   (mapconcat
+    (lambda (face-style)
+      (engrave-faces-latex-gen-preamble-line (car face-style) (cdr 
face-style)))
+    engrave-faces-preset-styles
+    "\n")))
 
 (defun engrave-faces-latex-gen-preamble-line (face style)
   "Generate a LaTeX preamble line for STYLE representing FACE."
@@ -41,7 +51,7 @@ See `engrave-faces-preset-styles' and 
`engrave-faces-latex-output-style'."
     (concat (when fg (format "\\definecolor{EF%s}{HTML}{%s}\n" short 
(substring fg 1)))
             (when bg (format "\\definecolor{Ef%s}{HTML}{%s}\n" short 
(substring bg 1)))
             "\\newcommand{\\EF" short "}[1]{"
-            (when bg (concat "\\colorbox{Ef" short "}{"))
+            (when bg (concat "\\colorbox{Ef" short "}{\\efstrut{}"))
             (when fg (concat "\\textcolor{EF" short "}{"))
             (when st "\\sout{") (when bl "\\textbf{") (when it "\\textit{")
             "#1}"
@@ -98,15 +108,16 @@ See `engrave-faces-preset-styles' and 
`engrave-faces-latex-output-style'."
   (goto-char (point-min))
   (insert "\\documentclass{article}
 
+
+\\usepackage[margin=1.5cm]{geometry}
 \\usepackage{xcolor}
 \\usepackage{fvextra}
-\\usepackage[margin=1.5cm]{geometry}
 \\usepackage{sourcecodepro}
 \\pagestyle{empty}\n\n"
           (engrave-faces-latex-gen-preamble)
           "
 \\begin{document}
-
+\\setlength{\\fboxsep}{0pt}
 \\begin{Verbatim}[breaklines=true, commandchars=\\\\\\{\\}]\n")
   (goto-char (point-max))
   (insert "\\end{Verbatim}



reply via email to

[Prev in Thread] Current Thread [Next in Thread]