Package: auctex;
Reported by: <gennady.uraltsev <at> gmail.com>
Date: Sun, 5 Jul 2020 00:40:02 UTC
Severity: normal
Found in version 12.2.4
To reply to this bug, email your comments to 42209 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-auctex <at> gnu.org
:bug#42209
; Package auctex
.
(Sun, 05 Jul 2020 00:40:02 GMT) Full text and rfc822 format available.<gennady.uraltsev <at> gmail.com>
:bug-auctex <at> gnu.org
.
(Sun, 05 Jul 2020 00:40:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: <gennady.uraltsev <at> gmail.com> To: <bug-auctex <at> gnu.org> Subject: 12.2.4; Text propogated wrong in TeX-fold-mode Date: Sat, 4 Jul 2020 20:39:26 -0400
[Message part 1 (text/plain, inline)]
Dear Everyone, I have recently discovered TeX-fold-mode and tried to set it. Before I used prettify-symbols-mode. There seem to be a problem with propagating text properties when folding. There seem to be two wrong behaviors (related or unrelated?). 1. When folding a macro that includes its text arguments when the arguments are fontified the fontification gets propagated incorrectly. I think it gets applied twice, that is wrong when the fontification is not idempotent e.g. relative size specification 2. In math mode (maybe not only) all macros (math and non-math) when folded completely disregard fontification. This looks really bad if you have a subscript of, say, a sum or an integral and there you have a macro. The folded version is of the wrong size. I illustrate with examples Consider the following LaTeX file (attached as main.tex): \documentclass{amsart} \begin{document} \title{Simple AMSart} \author{Author McAuthorface} \maketitle \section{Section \textit{a} : a \LaTeX macro} \begin{equation*} \int_{\alpha + \beta = \LaTeX + \dots } \end{equation*} \end{document} With the following configuration of auctex (a complete init.el is attached) (setq TeX-parse-self t) (require 'tex) (add-hook 'LaTeX-mode-hook (lambda () (TeX-fold-mode 1))) 1. The default fontification makes "Section :" slightly larger than normal. This is correct. * The macro \LaTeX gets folded to look like the surrounding text in the title: CORRECT * The macro \textit{a} folds into an "a" as specified by TeX-fold-macro-spec-list (value included below) but it gets rendered much larger than the surrounding text * I believe because the "enlargement" gets applied twice, but I am not sure. 2. Auctex makes the subscript of the integral in the equation small and lowered. * After folding the Greek symbols and the other macros they appear to be the same size as "normal" text so they do not inherit the surrounding fontification. Thanks! Gennady Emacs : GNU Emacs 26.3 (build 1, x86_64-w64-mingw32) of 2019-12-25 Package: 12.2.4 current state: ============== (setq AUCTeX-date "2020-06-29" window-system 'w32 LaTeX-version "2e" TeX-style-path '("~/.emacs.d/auctex" "c:/Users/guraltsev/.config/emacsen/clean/straight/build/auctex/style" "c:/Users/guraltsev/.config/emacsen/clean/auctex/auto" "c:/Users/guraltsev/.config/emacsen/clean/auctex/style" "auto" "style") TeX-auto-save nil TeX-parse-self t TeX-master t TeX-command-list '(("TeX" "%(PDF)%(tex) %(file-line-error) %`%(extraopts) %S%(PDFout)%(mode)%' %t" TeX-run-TeX nil (plain-tex-mode ams-tex-mode texinfo-mode) :help "Run plain TeX") ("LaTeX" "%`%l%(mode)%' %T" TeX-run-TeX nil (latex-mode doctex-mode) :help "Run LaTeX") ("Makeinfo" "makeinfo %(extraopts) %t" TeX-run-compile nil (texinfo-mode) :help "Run Makeinfo with Info output") ("Makeinfo HTML" "makeinfo %(extraopts) --html %t" TeX-run-compile nil (texinfo-mode) :help "Run Makeinfo with HTML output") ("AmSTeX" "amstex %(PDFout) %`%(extraopts) %S%(mode)%' %t" TeX-run-TeX nil (ams-tex-mode) :help "Run AMSTeX") ("ConTeXt" "%(cntxcom) --once --texutil %(extraopts) %(execopts)%t" TeX-run-TeX nil (context-mode) :help "Run ConTeXt once") ("ConTeXt Full" "%(cntxcom) %(extraopts) %(execopts)%t" TeX-run-TeX nil (context-mode) :help "Run ConTeXt until completion") ("BibTeX" "%(bibtex) %s" TeX-run-BibTeX nil (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode context-mode) :help "Run BibTeX") ("Biber" "biber %s" TeX-run-Biber nil (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Run Biber") ("View" "%V" TeX-run-discard-or-function t t :help "Run Viewer") ("Print" "%p" TeX-run-command t t :help "Print the file") ("Queue" "%q" TeX-run-background nil t :help "View the printer queue" :visible TeX-queue-command) ("File" "%(o?)dvips %d -o %f " TeX-run-dvips t (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Generate PostScript file") ("Dvips" "%(o?)dvips %d -o %f " TeX-run-dvips nil (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Convert DVI file to PostScript") ("Dvipdfmx" "dvipdfmx %d" TeX-run-dvipdfmx nil (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Convert DVI file to PDF with dvipdfmx") ("Ps2pdf" "ps2pdf %f" TeX-run-ps2pdf nil (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Convert PostScript file to PDF") ("Glossaries" "makeglossaries %s" TeX-run-command nil (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Run makeglossaries to create glossary\n file") ("Index" "%(makeindex) %s" TeX-run-index nil (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Run makeindex to create index file") ("upMendex" "upmendex %s" TeX-run-index t (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Run upmendex to create index file") ("Xindy" "texindy %s" TeX-run-command nil (plain-tex-mode latex-mode doctex-mode ams-tex-mode texinfo-mode) :help "Run xindy to create index file") ("Check" "lacheck %s" TeX-run-compile nil (latex-mode) :help "Check LaTeX file for correctness") ("ChkTeX" "chktex -v6 %s" TeX-run-compile nil (latex-mode) :help "Check LaTeX file for common mistakes") ("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil t :help "Spell-check the document") ("Clean" "TeX-clean" TeX-run-function nil t :help "Delete generated intermediate files") ("Clean All" "(TeX-clean t)" TeX-run-function nil t :help "Delete generated intermediate and output files") ("Other" "" TeX-run-command t t :help "Run an arbitrary command") ) TeX-fold-macro-spec-list ' (("[f]" ("footnote" "marginpar")) ("[c]" ("cite")) ("[l]" ("label")) ("[r]" ("ref" "pageref" "eqref")) ("[i]" ("index" "glossary")) ("[1]:||*" ("item")) ("..." ("dots")) ("(C)" ("copyright")) ("(R)" ("textregistered")) ("TM" ("texttrademark")) (1 ("part" "chapter" "section" "subsection" "subsubsection" "paragraph" "subparagraph" "part*" "chapter*" "section*" "subsection*" "subsubsection*" "paragraph*" "subparagraph*" "emph" "textit" "textsl" "textmd" "textrm" "textsf" "texttt" "textbf" "textsc" "textup"))) )
[Message part 2 (text/html, inline)]
[init.el (application/octet-stream, attachment)]
[screenshot.PNG (image/png, attachment)]
[main.tex (application/octet-stream, attachment)]
bug-auctex <at> gnu.org
:bug#42209
; Package auctex
.
(Sun, 23 Aug 2020 10:09:01 GMT) Full text and rfc822 format available.Message #8 received at 42209 <at> debbugs.gnu.org (full text, mbox):
From: Ikumi Keita <ikumi <at> ikumi.que.jp> To: gennady.uraltsev <at> gmail.com Cc: 42209 <at> debbugs.gnu.org Subject: Re: bug#42209: 12.2.4; Text propogated wrong in TeX-fold-mode Date: Sun, 23 Aug 2020 19:08:19 +0900
[Message part 1 (text/plain, inline)]
Hi Gennady, sorry for very late response. >>>>> <gennady.uraltsev <at> gmail.com> writes: > I illustrate with examples > Consider the following LaTeX file (attached as main.tex): > \documentclass{amsart} > \begin{document} > \title{Simple AMSart} > \author{Author McAuthorface} > \maketitle > \section{Section \textit{a} : a \LaTeX macro} > \begin{equation*} > \int_{\alpha + \beta = \LaTeX + \dots } > \end{equation*} > \end{document} > 1. > * The macro \textit{a} folds into an "a" as specified by > TeX-fold-macro-spec-list (value included below) but it gets rendered much > larger than the surrounding text > * I believe because the "enlargement" gets applied twice, but I am not > sure. I tried just enabling TeX-fold-mode without your whole init setting, and the problem doesn't reproduce with the provided sample latex file. > 2. Auctex makes the subscript of the integral in the equation small and > lowered. > * After folding the Greek symbols and the other macros they appear to > be the same size as "normal" text so they do not inherit the surrounding > fontification. I can observe this behavior. It seems that the attached patch fixes the problem. Could you test whether it works for you or not? Regards, Ikumi Keita
[patch (text/x-diff, inline)]
diff --git a/tex-fold.el b/tex-fold.el index b14ec734..802d1be0 100644 --- a/tex-fold.el +++ b/tex-fold.el @@ -824,6 +824,11 @@ That means, put respective properties onto overlay OV." (skip-chars-forward " \t") (point)))) (overlay-put ov 'mouse-face 'highlight) + (when font-lock-mode + ;; Add raise adjustment for superscript and subscript. + (put-text-property 0 (length display-string) + 'display (get-text-property ov-start 'display) + display-string)) (overlay-put ov 'display display-string) (when font-lock-mode (overlay-put ov 'face TeX-fold-folded-face))
bug-auctex <at> gnu.org
:bug#42209
; Package auctex
.
(Mon, 07 Jun 2021 07:36:02 GMT) Full text and rfc822 format available.Message #11 received at 42209 <at> debbugs.gnu.org (full text, mbox):
From: Ikumi Keita <ikumi <at> ikumi.que.jp> Cc: 42209 <at> debbugs.gnu.org, gennady.uraltsev <at> gmail.com Subject: Re: bug#42209: 12.2.4; Text propogated wrong in TeX-fold-mode Date: Mon, 07 Jun 2021 16:35:22 +0900
Hi Gennady, >>>>> Ikumi Keita <ikumi <at> ikumi.que.jp> writes: >>>>> <gennady.uraltsev <at> gmail.com> writes: >> 2. Auctex makes the subscript of the integral in the equation small and >> lowered. >> * After folding the Greek symbols and the other macros they appear to >> be the same size as "normal" text so they do not inherit the surrounding >> fontification. > I can observe this behavior. It seems that the attached patch fixes the > problem. Could you test whether it works for you or not? I pushed this change into the git repo, so I expect this issue is fixed. >> I illustrate with examples >> Consider the following LaTeX file (attached as main.tex): >> \documentclass{amsart} >> \begin{document} >> \title{Simple AMSart} >> \author{Author McAuthorface} >> \maketitle >> \section{Section \textit{a} : a \LaTeX macro} >> \begin{equation*} >> \int_{\alpha + \beta = \LaTeX + \dots } >> \end{equation*} >> \end{document} >> 1. >> * The macro \textit{a} folds into an "a" as specified by >> TeX-fold-macro-spec-list (value included below) but it gets rendered much >> larger than the surrounding text >> * I believe because the "enlargement" gets applied twice, but I am not >> sure. > I tried just enabling TeX-fold-mode without your whole init setting, and > the problem doesn't reproduce with the provided sample latex file. I at last succeeded to reproduce this issue. It turned out that C-c C-o C-b doesn't reproduce it, but C-c C-o C-m on the \textit does. It seems that it results from complex interactions within emacs display engine, and not easy to fix. Maybe I look into this again some day. Regards, Ikumi Keita
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.