summaryrefslogtreecommitdiff
path: root/macros/generic/polexpr/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'macros/generic/polexpr/README.md')
-rw-r--r--macros/generic/polexpr/README.md151
1 files changed, 64 insertions, 87 deletions
diff --git a/macros/generic/polexpr/README.md b/macros/generic/polexpr/README.md
index 4a74900100..0f70c6cb34 100644
--- a/macros/generic/polexpr/README.md
+++ b/macros/generic/polexpr/README.md
@@ -1,88 +1,65 @@
Package polexpr README
======================
+Version ``0.8.7`` of ``2022/05/14``.
+
+Abstract
+--------
+
+The package provides a parser `\poldef` of algebraic expressions.
+As it is based on [xintexpr](http://www.ctan.org/pkg/xintexpr) the
+polynomial coefficients are allowed to be arbitrary rational
+numbers. Operations on declared polynomials, such as computing
+G.C.D.'s or evaluating definite and indefinite integrals are
+available directly inside the parser via a functional syntax, or
+also via dedicated package macros.
+
+Root localization is available via package macros. All real roots
+can be obtained with arbitrarily long decimal expansions, and all
+rational rounds found exactly.
+
+In memoriam: Jürgen Gilg
+------------------------
+
+`polexpr` is dedicated to the memory of Jürgen Gilg (1967-2022).
+
+His question in January 2018 about using
+[xintexpr](http://www.ctan.org/pkg/xintexpr) to compute derivatives
+of polynomials was the original motivation for the creation of this
+package. Jointly with Thomas Söll, he used it and kept expressing
+his interest in it throughout the subsequent years, and provided
+motivation and encouragements for time-consuming tasks such as (as
+was done finally in 2021) re-enacting full interoperability with
+[xintexpr](http://www.ctan.org/pkg/xintexpr) after its `1.4` update
+from 2020.
+
+I will remember with gratitude his generous and unassuming
+character, which I witnessed during our numerous exchanges on a wide
+range of topics.
+
Usage
-----
-The package can be used with TeX based formats incorporating the
-e-TeX primitives. The `\expanded` primitive available generally
-since TeXLive 2019 is required.
+The package can be used with eTeX based formats via
\input polexpr.sty
-with Plain or other non-LaTeX macro formats, or:
+or with LaTeX via
\usepackage{polexpr}
-with the LaTeX macro format.
+[xintexpr](http://www.ctan.org/pkg/xintexpr) `1.4h` or later is
+required.
-The package currently requires xintexpr.sty `1.4d` or later.
-
-Abstract
---------
+Recent changes
+--------------
-The package provides a parser `\poldef` of algebraic polynomial
-expressions. As it is based on
-[xintexpr](http://www.ctan.org/pkg/xint)
-the coefficients are allowed to be arbitrary rational numbers.
-
-Once defined, a polynomial is usable by its name either as a numerical
-function in `\xintexpr/\xinteval`, or for additional polynomial
-definitions, or as argument to the package macros. The localization of
-real roots to arbitrary precision as well as the determination of all
-rational roots is implemented via such macros.
-
-Since release `0.8`, polexpr extends the
-[xintexpr](http://www.ctan.org/pkg/xint) syntax to recognize
-polynomials as a new variable type (and not only as functions).
-Functionality which previously was implemented via macros such as the
-computation of a greatest common divisor is now available directly in
-`\xintexpr`, `\xinteval` or `\poldef` via infix or functional syntax.
-
-Releases
---------
-
-- 0.1 (2018/01/11)
- Initial release (files README, polexpr.sty).
-- 0.2 (2018/01/14)
- Documentation moved to polexpr.{txt,html}.
-- 0.3 (2018/01/17)
- Make polynomials known to `\xintfloatexpr` and improve
- documentation.
-- 0.3.1 (2018/01/18)
- Fix two typos in documentation.
-- 0.4 (2018/02/16)
- - Revert 0.3 automatic generation of floating point variants.
- - Move CHANGE LOG from README.md to HTML documentation.
- - A few bug fixes and breaking changes. Please refer to
- `polexpr.html`.
- - Main new feature: root localization via [Sturm
- Theorem](https://en.wikipedia.org/wiki/Sturm%27s_theorem).
-- 0.4.1 (2018/03/01)
- Synced with xintexpr 1.3.
-- 0.4.2 (2018/03/03)
- Documentation fix.
-- 0.5 (2018/04/08)
- - new macros `\PolMakePrimitive` and `\PolIContent`.
- - main (breaking) change: `\PolToSturm` creates a chain of primitive
- integer coefficients polynomials.
-- 0.5.1 (2018/04/22)
- The `'` character can be used in polynomial names.
-- 0.6 (2018/11/20)
- New feature: multiplicity of roots.
-- 0.7 (2018/12/08), 0.7.1 (bugfix), 0.7.2 (bugfix) (2018/12/09)
- New feature: finding all rational roots.
-- 0.7.3 (2019/02/04)
- Bugfix: polynomial names ending in digits caused errors. Thanks to
- Thomas Söll for report.
-- 0.7.4 (2019/02/12)
- Bugfix: 20000000000 is too big for \numexpr, shouldn't I know that?
- Thanks to Jürgen Gilg for report.
-- 0.7.5 (2020/01/31)
- Synced with xintexpr 1.4. Requires it.
- 0.8 (2021/03/29)
- Complete refactoring of the package core for better integration with
- and enhancement of xintexpr 1.4.
+ Complete refactoring of the package core for better interoperability
+ with `xintexpr` internal changes at its release `1.4 (2020/01/31)`.
+ Extension of the functional syntax to cover operations such as
+ G.C.D.'s, derivatives or indefinite integrals previously available
+ via macros.
- 0.8.1 (2021/04/12)
Bugfix: a typo broke the 0.8 ``diff1()`` and related functions.
- 0.8.2 (2021/05/05)
@@ -96,21 +73,13 @@ Releases
Bugfix: `intfrom()` was documented at `0.8` but not declared to parser.
Track (belatedly) `xintexpr` 1.4g changes
- 0.8.6 (2022/01/09)
- Separate `polexpr-examples.{tex,pdf}` from the `polexpr.html` reference
-
-Files of the 0.8.6 release:
-- polexpr.sty, polexprcore.tex, polexprexpr.tex, polexprsturm.tex,
-- README.md,
-- polexpr.html (reference documentation),
-- polexpr-examples.pdf, polexpr-examples.tex (pdf doc and its source).
+ Separate `polexpr-examples.{tex,pdf}` from the `polexpr.html` reference.
+- 0.8.7 (2022/05/14)
+ CSS styling of the `html` documentation, which is now split over
+ three files. Catcode protection for `\poldef` now matches
+ long-standing behaviour of `\xintdefvar`. This fixes issues
+ with ``babel+french``.
-Acknowledgments
----------------
-
-Thanks to Jürgen Gilg whose question about
-[xintexpr](http://www.ctan.org/pkg/xint) usage for differentiating
-polynomials was the initial trigger leading to this package, and to
-Jürgen Gilg and Thomas Söll for testing it on some concrete problems.
License
-------
@@ -133,6 +102,14 @@ This Work has the LPPL maintenance status author-maintained.
The Author of this Work is Jean-François Burnol.
-This Work consists of the package files polexpr.sty, polexprcore.tex,
-polexprexpr.tex, polexprsturm.tex, this README.md and documentation
-polexpr.html, polexpr-examples.tex, polexpr-examples.pdf
+This Work consists of:
+
+- the package files: polexpr.sty, polexprcore.tex,
+ polexprexpr.tex, polexprsturm.tex,
+- this README.md,
+- the documentation files:
+ polexpr.html, polexpr-ref.html, polexpr-changes.html,
+ polexpr.css, polexpr-examples.pdf,
+ polexpr.rst.txt, polexpr-ref.rst.txt, polexpr-changes.rst.txt,
+ polexpr-examples.tex
+