Re: Removing horizontal space in latex fragments
Hello, Matt Huszagh writes: > My vote goes for keeping the newlines to improve readability in the > generated tex file. But, again, I'm more than happy to be overuled. [...] > I've attached an updated patch. Applied. Thank you. I added TINYCHANGE at the end of the commit message since I don't know if you have signed the FSF papers. If you did, please let me know. Regards, -- Nicolas Goaziou
Re: Removing horizontal space in latex fragments
Nicolas Goaziou writes: > So, has anyone settled on which one to apply? My vote goes for keeping the newlines to improve readability in the generated tex file. But, again, I'm more than happy to be overuled. > Minor nitpick: > > (if (string-suffix-p string "\n") ...) > > is slightly less low-level. Appreciate the nitpick; your version is better! I've attached an updated patch. Best, Matt >From bdb93a13a43d90ad6e66449797111e836a67a219 Mon Sep 17 00:00:00 2001 From: Matt Huszagh Date: Thu, 5 Dec 2019 23:25:32 -0800 Subject: [PATCH] org.el: Remove leading/trailing whitespace from latex fragment * lisp/org.el (org-create-formula-image): Ensure user input ends with a % character to remove trailing whitespace. Also, add % characters between macros and newlines purely visual. --- lisp/org.el | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lisp/org.el b/lisp/org.el index 9b84592ba..ae686e330 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -16554,12 +16554,17 @@ a HTML file." (setq bg (org-latex-color :background)) (setq bg (org-latex-color-format (if (string= bg "Transparent") "white" bg +;; remove tex \par at end of snippet to avoid trailing +;; whitespace +(if (string-suffix-p string "\n") +(aset string (- (length string) 1) ?%) + (setq string (concat string "%"))) (with-temp-file texfile (insert latex-header) (insert "\n\\begin{document}\n" - "\\definecolor{fg}{rgb}{" fg "}\n" - "\\definecolor{bg}{rgb}{" bg "}\n" - "\n\\pagecolor{bg}\n" + "\\definecolor{fg}{rgb}{" fg "}%\n" + "\\definecolor{bg}{rgb}{" bg "}%\n" + "\n\\pagecolor{bg}%\n" "\n{\\color{fg}\n" string "\n}\n" -- 2.24.0
Re: Removing horizontal space in latex fragments
Hello, Matt Huszagh writes: > Thanks for the reply Eric. The thing I like about the newlines is that the > generated tex files are slightly easier to read. However, this is really > minor. I've created 2 separate patches: one keeping the newlines and the > other without. I'm happy to defer to you or anyone else in regard to which > is preferable. So, has anyone settled on which one to apply? > +;; remove tex \par at end of snippet to avoid trailing > +;; whitespace Remove TeX \par at end of... trailing space. > +(if (string= (substring string -1 nil) "\n") Minor nitpick: (if (string-suffix-p string "\n") ...) is slightly less low-level. Thank you. Regards, -- Nicolas Goaziou
Re: Removing horizontal space in latex fragments
Thanks for the reply Eric. The thing I like about the newlines is that the generated tex files are slightly easier to read. However, this is really minor. I've created 2 separate patches: one keeping the newlines and the other without. I'm happy to defer to you or anyone else in regard to which is preferable. On Thu, Dec 5, 2019 at 2:24 PM Fraga, Eric wrote: > On Thursday, 5 Dec 2019 at 11:03, Matt Huszagh wrote: > > Is anyone else interested in this modification? Should I submit it as a > > patch? > > I think so. And I am not sure all those \n's are necessary. Without > them, you can probably also remove many of the %s. > -- > Eric S Fraga via Emacs 27.0.50, Org release_9.2.6-544-gd215c3 > remove-newlines.patch Description: Binary data keep-newlines.patch Description: Binary data
Re: Removing horizontal space in latex fragments
Not really worried about which alternative is chosen. I was just exhibiting my inner compulsive nature... ;-) -- Eric S Fraga via Emacs 27.0.50, Org release_9.2.6-544-gd215c3
Re: Removing horizontal space in latex fragments
On Thursday, 5 Dec 2019 at 11:03, Matt Huszagh wrote: > Is anyone else interested in this modification? Should I submit it as a > patch? I think so. And I am not sure all those \n's are necessary. Without them, you can probably also remove many of the %s. -- Eric S Fraga via Emacs 27.0.50, Org release_9.2.6-544-gd215c3
Removing horizontal space in latex fragments
I've modified the behavior of `org-create-formula-image' so that `\definecolor' etc do not create unnecessary whitespace in the output PDF. Here's the relevant change: ``` ... ;; remove tex \par at end of line (if (string= (substring string -1 nil) "\n") (aset string (- (length string) 1) ?%) (setq string (concat string "%"))) (with-temp-file texfile (insert latex-header) (insert "\n\\begin{document}\n" "\\definecolor{fg}{rgb}{" fg "}%\n" "\\definecolor{bg}{rgb}{" bg "}%\n" "\n\\pagecolor{bg}%\n" "\n{\\color{fg}\n" string "\n}\n" "\n\\end{document}\n")) ... ``` This is useful if you (like me) have replaced the default document class with standalone and are using dvisvgm. The change removes leading left and right space, which is especially useful when using inline math mixed with normal text. It shouldn't make a difference if using Imagemagick's convert as a backend since that can get rid of whitespace boundaries. Is anyone else interested in this modification? Should I submit it as a patch? Matt