> Abstracting away previews is certainly welcome. > RMS explicitly asked Org mode team to work towards this goal: > https://list.orgmode.org/e1kikxv-0007iy...@fencepost.gnu.org/
I agree with RMS about this, and this was on our minds when we wrote org-latex-preview. The basic previewing process is explicitly written to be Org-agnostic, but we weren't as rigorous when adding the fancier features (like live previews). > Ideally, we should have Org-independent library that does the previews, > and an Org-specific code that re-uses this library. Eventually, we can > move the generic library to Emacs core. Here is the plan Timothy and I have discussed: 1. Merge org-latex-preview in its current state and continue to fix bugs/edge cases. 2. Write an external package reimplementing in a more generic way the parts of the API that are Org-specific. This external package will depend (heavily) on org-latex-preview. 3. Solicit from the community integrations of this with other major-modes using this generic API. 4. Once this API is stable, replace the corresponding parts of org-latex-preview. 5. Propose moving everything but the Org-specific parts to a `latex-preview.el' package included with Emacs. >From Tony's proof of concept, I think step 2 might be unnecessary and we can incrementally modify org-latex-preview instead. > We may go even further, and extend the previews to be not just for > LaTeX. Might as well preview html/image links/pdf links/etc. I agree in principle but I think this is difficult to do with org-latex-preview because the async process chain and overlay handling are highly tuned for low-latency LaTeX processing.[1] I do think Emacs could use a generic link-preview package, with an org-link-preview adapter for Org mode. Karthik [1]: As low-latency as possible from Emacs without modifying the LaTeX compiler or image renderer, as for example TeXpresso does. https://github.com/let-def/texpresso