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")))
)
init.el
Description: Binary data
main.tex
Description: Binary data
_______________________________________________ bug-auctex mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-auctex
