My personal patches-in-progress branch of Org. See https://git.tecosaur.net/mirrors/org-mode/compare/main..tec/org-mode:dev.
Go to file
TEC 0090e25460
org-latex-preview: Improve env numbering calc
* lisp/org-latex-preview.el (org-latex-preview--get-numbered-environments,
org-latex-preview--environment-numbering-table): Make numbering
calculations more accurate, at the expense of a ~10x increase in the
time to calculate numbering in a document, mitigated by the use of
caching — resulting in a ~2x improvement compared to the simpler method
in subsequent runs.

(org-latex-preview--numbered-environments,
org-latex-preview--numbered-environments-single,
org-latex-preview--numbered-environments-multi,
org-latex-preview--numbered-environments-all): Split
`org-latex-preview--numbered-environments' into
`org-latex-preview--numbered-environments-single' and
`org-latex-preview--numbered-environments-multi', then rename
`org-latex-preview--numbered-environments' to
`org-latex-preview--numbered-environments-all' for the sake of clarity.

Determining the count of numbered equations in a LaTeX environment is
non-trivial.  Previously, a simple heuristic was used that counted the
number of lines ending with "\\" in particular environments, then
subtracted the number of "\nonumber" and "\tag{...}" instances.

However, lines can end with "\\" without contributing to the number of
equations in the environment, consider the "cases" and "bmatrix"
environments.  To improve the heuristic, we (with some care) remove
/all/ inner environments from the LaTeX maths environment before
processing.  Since this takes more effort, we split the numbered
environments into those we know will contain exactly one numbered
equation where we can avoid the extra processing, and those that require
the more sophisticated heuristics.

The new org-element caching API is very helpful for recovering the
performance cost of this extra computation in the long run.
2024-04-16 19:58:50 +08:00
doc org-manual: Update LaTeX preview section 2024-04-16 19:58:49 +08:00
etc org-latex-preview: Rename precompilation vars 2024-04-16 19:58:50 +08:00
lisp org-latex-preview: Improve env numbering calc 2024-04-16 19:58:50 +08:00
mk ob-calc.el: Add support for tables in Calc source block :var 2024-03-16 15:15:40 +03:00
testing org-latex-preview: Rename precompilation vars 2024-04-16 19:58:50 +08:00
.dir-locals.el .dir-locals.el: Set indent-tabs-mode to nil in Elisp sources 2020-12-23 00:00:26 -05:00
.gitignore * lisp/org-agenda.el: Use lexical-binding 2021-03-09 22:56:33 -05:00
.gitmodules updated jump submodule for those behind http proxy 2013-06-06 14:36:24 -06:00
CONTRIBUTE.org Several typo fixes 2023-07-06 20:38:13 +03:00
COPYING Prefer HTTPS to HTTP in most links 2021-03-21 15:21:22 -04:00
Makefile Makefile: List make native in make help output 2024-03-17 17:35:37 +03:00
README.org README.org: Fix installation instructions 2023-12-22 12:21:52 +01:00

README.org

This is a distribution of Org Mode, a major mode for keeping notes, authoring documents, computational notebooks, literate programming, maintaining to-do lists, planning projects, and more — in a fast and effective plain text system.

Check the Org Mode website for more.

Install Org

Org is part of GNU Emacs: you probably don't need to install it.

To install a more recent version, please use command: M-x list-packages, find "org" in the list, click on it, and click "Install" in the popped up window.

Join the GNU Project

Org is part of GNU Emacs and GNU Emacs is part of the GNU Operating System, developed by the GNU Project.

If you are the author of an awesome program and want to join us in writing Free (libre) Software, please consider making it an official GNU program and become a GNU Maintainer. Instructions on how to do this are here http://www.gnu.org/help/evaluation.

Don't have a program to contribute? Look at all the other ways to help: https://www.gnu.org/help/help.html.

And to learn more about Free (libre) Software in general, please read and share this page: https://gnu.org/philosophy/free-sw.html

License

Org-mode is published under the GNU GPLv3 license or any later version, the same as GNU Emacs.

Org-mode is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Org mode. If not, see https://www.gnu.org/licenses/.