texlive[63337] Master/texmf-dist: polexpr (19may22)

commits+karl at tug.org commits+karl at tug.org
Thu May 19 22:10:47 CEST 2022


Revision: 63337
          http://tug.org/svn/texlive?view=revision&revision=63337
Author:   karl
Date:     2022-05-19 22:10:47 +0200 (Thu, 19 May 2022)
Log Message:
-----------
polexpr (19may22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/polexpr/README.md
    trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.html
    trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.rst.txt
    trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-examples.pdf
    trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-ref.html
    trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-ref.rst.txt
    trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.css
    trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.html
    trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.rst.txt
    trunk/Master/texmf-dist/tex/generic/polexpr/polexpr.sty
    trunk/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex
    trunk/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex
    trunk/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex

Modified: trunk/Master/texmf-dist/doc/generic/polexpr/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/generic/polexpr/README.md	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/doc/generic/polexpr/README.md	2022-05-19 20:10:47 UTC (rev 63337)
@@ -1,7 +1,7 @@
 Package polexpr README
 ======================
 
-Version ``0.8.7`` of ``2022/05/14``.
+Version ``0.8.7a`` of ``2022/05/19``.
 
 Abstract
 --------
@@ -21,7 +21,7 @@
 In memoriam: Jürgen Gilg
 ------------------------
 
-`polexpr` is dedicated to the memory of Jürgen Gilg (1967-2022).
+`polexpr` is dedicated to the memory of Jürgen Gilg (1966-2022).
 
 His question in January 2018 about using
 [xintexpr](http://www.ctan.org/pkg/xintexpr) to compute derivatives
@@ -61,16 +61,16 @@
   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.
+  Bug fix: a typo broke the 0.8 ``diff1()`` and related functions.
 - 0.8.2 (2021/05/05)
   Track `xintexpr` 1.4e changes
 - 0.8.3 (2021/05/27)
   Track `xintexpr` 1.4h changes
 - 0.8.4 (2021/11/01)
-  Bugfix: `PolSturmIsolateZeros**` did not declare the square free
+  Bug fix: `PolSturmIsolateZeros**` did not declare the square free
   part of the original polynomial if no real root existed.
 - 0.8.5 (2021/11/30)
-  Bugfix: `intfrom()` was documented at `0.8` but not declared to parser.
+  Bug fix: `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.
@@ -79,8 +79,9 @@
   three files.  Catcode protection for `\poldef` now matches
   long-standing behaviour of `\xintdefvar`. This fixes issues
   with ``babel+french``.
+- 0.8.7a (2022/05/19)
+  Documentation improvements.
 
-
 License
 -------
 

Modified: trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.html
===================================================================
--- trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.html	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.html	2022-05-19 20:10:47 UTC (rev 63337)
@@ -6,7 +6,7 @@
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
 
-    <title>CHANGES — polexpr 0.8.7 documentation</title>
+    <title>CHANGES — polexpr 0.8.7a documentation</title>
     <link rel="stylesheet" type="text/css" href="polexpr.css" />
     <link rel="prev" title="polexpr reference" href="polexpr-ref.html" /> 
   </head><body>
@@ -16,7 +16,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="polexpr-ref.html" title="polexpr reference"
              accesskey="P">previous</a></li>
-        <li class="nav-item nav-item-0"><a href="polexpr.html">polexpr 0.8.7 documentation</a> »</li>
+        <li class="nav-item nav-item-0"><a href="polexpr.html">polexpr 0.8.7a documentation</a> »</li>
         <li class="nav-item nav-item-this"><a href="">CHANGES</a></li> 
       </ul>
     </div>  
@@ -28,8 +28,8 @@
             
   <section id="changes">
 <h1>CHANGES</h1>
-<section id="v0-1-2018-01-11-initial-release-features">
-<span id="firstrelease"></span><h2>v0.1 (2018/01/11): initial release. Features:</h2>
+<section id="initial-release-features">
+<span id="firstrelease"></span><h2>0.1 (2018/01/11): initial release. Features:</h2>
 <ul class="simple">
 <li><p>The <a class="reference internal" href="polexpr-ref.html#poldef"><span class="std std-ref">\poldef</span></a> parser itself,</p></li>
 <li><p>Differentiation and anti-differentiation,</p></li>
@@ -40,8 +40,8 @@
 </ul>
 <p>Only one-variable polynomials so far.</p>
 </section>
-<section id="v0-2-2018-01-14">
-<h2>v0.2 (2018/01/14)</h2>
+<section id="id1">
+<h2>0.2 (2018/01/14)</h2>
 <ul class="simple">
 <li><p>Fix: <code class="docutils literal notranslate"><span class="pre">"README</span> <span class="pre">thinks</span> <span class="pre">\numexpr</span> <span class="pre">recognizes</span> <span class="pre">^</span> <span class="pre">operator"</span></code>.</p></li>
 <li><p>Convert README to reStructuredText markup.</p></li>
@@ -52,12 +52,12 @@
 <p>Due to lack of available time the test suite might not be extensive
 enough. Bug reports are very welcome!</p>
 </section>
-<section id="v0-3-2018-01-17">
-<h2>v0.3 (2018/01/17)</h2>
+<section id="id2">
+<h2>0.3 (2018/01/17)</h2>
 <ul>
-<li><p>bug fixes:</p>
+<li><p>Bug fixes:</p>
 <ul>
-<li><p>the <code class="docutils literal notranslate"><span class="pre">0.1</span></code> <a class="reference internal" href="polexpr-ref.html#polevalat"><span class="std std-ref">\PolEval</span></a> accepted expressions for its
+<li><p>The <code class="docutils literal notranslate"><span class="pre">0.1</span></code> <a class="reference internal" href="polexpr-ref.html#polevalat"><span class="std std-ref">\PolEval</span></a> accepted expressions for its
 second argument, but this was removed by mistake at <code class="docutils literal notranslate"><span class="pre">0.2</span></code>. Restored.</p>
 <p><strong>Attention</strong>: at <code class="docutils literal notranslate"><span class="pre">0.4</span></code> this has been reverted again, and
 <a class="reference internal" href="polexpr-ref.html#polevalatexpr"><span class="std std-ref">\PolEval{P}\AtExpr{foo}</span></a> syntax is needed for
@@ -65,11 +65,11 @@
 </li>
 </ul>
 </li>
-<li><p>incompatible or breaking changes:</p>
+<li><p>Incompatible or breaking changes:</p>
 <ul class="simple">
 <li><p><a class="reference internal" href="polexpr-ref.html#poltoexpr"><span class="std std-ref">\PolToExpr</span></a> now by default uses <em>descending</em>
 powers (it also treats differently coefficients equal to 1 or -1.)
-Use <a class="reference internal" href="polexpr-ref.html#id78"><span class="std std-ref">\PolToExpr*</span></a> for <em>ascending</em> powers.</p></li>
+Use <a class="reference internal" href="polexpr-ref.html#id79"><span class="std std-ref">\PolToExpr*</span></a> for <em>ascending</em> powers.</p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polevalat"><span class="std std-ref">\PolEval</span></a> reduced the output to smallest terms,
 but as this is costly with big fractions and not needed if e.g.
 wrapped in an <code class="docutils literal notranslate"><span class="pre">\xintRound</span></code> or <code class="docutils literal notranslate"><span class="pre">\xintFloat</span></code>, this step has been
@@ -77,7 +77,7 @@
 <a class="reference internal" href="polexpr-ref.html#polevalreducedat"><span class="std std-ref">\PolEvalReduced</span></a>.</p></li>
 </ul>
 </li>
-<li><p>new (or newly documented) macros:</p>
+<li><p>New (or newly documented) macros:</p>
 <ul class="simple">
 <li><p><a class="reference internal" href="polexpr-ref.html#poltypesetcmd"><span class="std std-ref">\PolTypesetCmd</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#poltypesetcmdprefix"><span class="std std-ref">\PolTypesetCmdPrefix</span></a></p></li>
@@ -93,11 +93,11 @@
 <li><p><a class="reference internal" href="polexpr-ref.html#poltoexprtimes"><span class="std std-ref">\PolToExprTimes</span></a></p></li>
 </ul>
 </li>
-<li><p>improvements:</p>
+<li><p>Improvements:</p>
 <ul>
-<li><p>documentation has a table of contents, internal hyperlinks,
+<li><p>Documentation has a table of contents, internal hyperlinks,
 standardized signature notations and added explanations.</p></li>
-<li><p>one can do <code class="docutils literal notranslate"><span class="pre">\PolLet{g}={f}</span></code> or <code class="docutils literal notranslate"><span class="pre">\PolLet{g}{f}</span></code>.</p></li>
+<li><p>One can do <code class="docutils literal notranslate"><span class="pre">\PolLet{g}={f}</span></code> or <code class="docutils literal notranslate"><span class="pre">\PolLet{g}{f}</span></code>.</p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">\PolToExpr{f}</span></code> is highly customizable.</p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#poldef"><span class="std std-ref">\poldef</span></a> and other defining macros prepare the
 polynomial functions for usage within <code class="docutils literal notranslate"><span class="pre">\xintthefloatexpr</span></code> (or
@@ -113,16 +113,16 @@
 </li>
 </ul>
 </section>
-<section id="v0-3-1-2018-01-18">
-<h2>v0.3.1 (2018/01/18)</h2>
+<section id="id3">
+<h2>0.3.1 (2018/01/18)</h2>
 <p>Fixes two typos in example code included in the documentation.</p>
 </section>
-<section id="v0-4-2018-02-16">
-<h2>v0.4 (2018/02/16)</h2>
+<section id="id4">
+<h2>0.4 (2018/02/16)</h2>
 <ul>
-<li><p>bug fixes:</p>
+<li><p>Bug fixes:</p>
 <ul class="simple">
-<li><p>when Euclidean division gave a zero remainder, the internal
+<li><p>When Euclidean division gave a zero remainder, the internal
 representation of this zero polynomial could be faulty; this
 could cause mysterious bugs in conjunction with other package
 macros such as <a class="reference internal" href="polexpr-ref.html#polmapcoeffs"><span class="std std-ref">\PolMapCoeffs</span></a>.</p></li>
@@ -130,9 +130,9 @@
 of lesser degree than the second one.</p></li>
 </ul>
 </li>
-<li><p>breaking changes:</p>
+<li><p>Breaking changes:</p>
 <ul>
-<li><p>formerly <a class="reference internal" href="polexpr-ref.html#polevalat"><span class="std std-ref">\PolEval{P}\At{foo}</span></a> allowed <code class="docutils literal notranslate"><span class="pre">foo</span></code> to
+<li><p>Formerly <a class="reference internal" href="polexpr-ref.html#polevalat"><span class="std std-ref">\PolEval{P}\At{foo}</span></a> allowed <code class="docutils literal notranslate"><span class="pre">foo</span></code> to
 be an expression, which was transparently handled via
 <code class="docutils literal notranslate"><span class="pre">\xinttheexpr</span></code>. Now, <code class="docutils literal notranslate"><span class="pre">foo</span></code> must be a fraction (or a macro
 expanding to such) in the format acceptable by <code class="docutils literal notranslate"><span class="pre">xintfrac.sty</span></code>
@@ -142,7 +142,7 @@
 <p>The same holds for <a class="reference internal" href="polexpr-ref.html#polevalreducedat"><span class="std std-ref">\PolEvalReduced</span></a>
 and <a class="reference internal" href="polexpr-ref.html#polfloatevalat"><span class="std std-ref">\PolFloatEval</span></a>.</p>
 </li>
-<li><p>the <code class="docutils literal notranslate"><span class="pre">3.0</span></code> automatic generation of floating point variants has
+<li><p>The <code class="docutils literal notranslate"><span class="pre">3.0</span></code> automatic generation of floating point variants has
 been reverted. Not only do <em>not</em> the package macros automatically
 generate floating point variants of newly created polynomials,
 they actually make pre-existing such variant undefined.</p>
@@ -150,7 +150,7 @@
 </li>
 </ul>
 </li>
-<li><p>new non-expandable macros:</p>
+<li><p>New non-expandable macros:</p>
 <ul class="simple">
 <li><p><a class="reference internal" href="polexpr-ref.html#polgenfloatvariant"><span class="std std-ref">\PolGenFloatVariant</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polgloballet"><span class="std std-ref">\PolGlobalLet</span></a></p></li>
@@ -158,12 +158,12 @@
 <li><p><a class="reference internal" href="polexpr-ref.html#polquo"><span class="std std-ref">\PolQuo</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polrem"><span class="std std-ref">\PolRem</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#poltosturm"><span class="std std-ref">\PolToSturm</span></a></p></li>
-<li><p><a class="reference internal" href="polexpr-ref.html#id35"><span class="std std-ref">\PolToSturm*</span></a></p></li>
+<li><p><a class="reference internal" href="polexpr-ref.html#id36"><span class="std std-ref">\PolToSturm*</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polsettosturmchainsignchangesat"><span class="std std-ref">\PolSetToSturmChainSignChangesAt</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polsettonbofzeroswithin"><span class="std std-ref">\PolSetToNbOfZerosWithin</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polsturmisolatezeros"><span class="std std-ref">\PolSturmIsolateZeros</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polrefineinterval"><span class="std std-ref">\PolRefineInterval*</span></a></p></li>
-<li><p><a class="reference internal" href="polexpr-ref.html#id46"><span class="std std-ref">\PolRefineInterval[N]</span></a></p></li>
+<li><p><a class="reference internal" href="polexpr-ref.html#id47"><span class="std std-ref">\PolRefineInterval[N]</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polensureintervallength"><span class="std std-ref">\PolEnsureIntervalLength</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polensureintervallengths"><span class="std std-ref">\PolEnsureIntervalLengths</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polprintintervals"><span class="std std-ref">\PolPrintIntervals</span></a></p></li>
@@ -170,11 +170,11 @@
 <li><p><a class="reference internal" href="polexpr-ref.html#polprintintervalsprintexactzero"><span class="std std-ref">\PolPrintIntervalsPrintExactZero</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polprintintervalsprintleftendpoint"><span class="std std-ref">\PolPrintIntervalsPrintLeftEndPoint</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polprintintervalsprintrightendpoint"><span class="std std-ref">\PolPrintIntervalsPrintRightEndPoint</span></a></p></li>
-<li><p><a class="reference internal" href="polexpr-ref.html#id20"><span class="std std-ref">\PolReduceCoeffs*</span></a></p></li>
+<li><p><a class="reference internal" href="polexpr-ref.html#id21"><span class="std std-ref">\PolReduceCoeffs*</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polmakemonic"><span class="std std-ref">\PolMakeMonic</span></a></p></li>
 </ul>
 </li>
-<li><p>new expandable macros:</p>
+<li><p>New expandable macros:</p>
 <ul class="simple">
 <li><p><a class="reference internal" href="polexpr-ref.html#poltoexpronetermstylea"><span class="std std-ref">\PolToExprOneTermStyleA</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polifcoeffisplusorminusone"><span class="std std-ref">\PolIfCoeffIsPlusOrMinusOne</span></a></p></li>
@@ -193,24 +193,24 @@
 <li><p><a class="reference internal" href="polexpr-ref.html#poldectostring"><span class="std std-ref">\PolDecToString</span></a></p></li>
 </ul>
 </li>
-<li><p>improvements:</p>
+<li><p>Improvements:</p>
 <p>The main new feature is implementation of the <a class="reference external" href="https://en.wikipedia.org/wiki/Sturm%27s_theorem">Sturm algorithm</a>
 for localization of the real roots of polynomials.</p>
 </li>
 </ul>
 </section>
-<section id="v0-4-1-2018-03-01">
-<h2>v0.4.1 (2018/03/01)</h2>
+<section id="id5">
+<h2>0.4.1 (2018/03/01)</h2>
 <p>Synced with xint 1.3.</p>
 </section>
-<section id="v0-4-2-2018-03-03">
-<h2>v0.4.2 (2018/03/03)</h2>
+<section id="id6">
+<h2>0.4.2 (2018/03/03)</h2>
 <p>Documentation fix.</p>
 </section>
-<section id="v0-5-2018-04-08">
-<h2>v0.5 (2018/04/08)</h2>
+<section id="id7">
+<h2>0.5 (2018/04/08)</h2>
 <ul class="simple">
-<li><p>bug fixes:</p>
+<li><p>Bug fix:</p>
 <ul>
 <li><p><a class="reference internal" href="polexpr-ref.html#polget"><span class="std std-ref">\PolGet{polname}\fromarray\macro</span></a>
 crashed when <code class="docutils literal notranslate"><span class="pre">\macro</span></code> was
@@ -218,7 +218,7 @@
 polynomial.</p></li>
 </ul>
 </li>
-<li><p>breaking changes:</p>
+<li><p>Breaking changes:</p>
 <ul>
 <li><p><a class="reference internal" href="polexpr-ref.html#poltosturm"><span class="std std-ref">\PolToSturm</span></a> creates primitive integer coefficients
 polynomials. This speeds up localization of roots via
@@ -225,25 +225,25 @@
 <a class="reference internal" href="polexpr-ref.html#polsturmisolatezeros"><span class="std std-ref">\PolSturmIsolateZeros</span></a>. In case of user
 protests the author will make available again the code producing the
 bona fide Sturm polynomials as used formerly.</p></li>
-<li><p>polynomials created from <a class="reference internal" href="polexpr-ref.html#polfromcsv"><span class="std std-ref">\PolFromCSV</span></a> or
+<li><p>Polynomials created from <a class="reference internal" href="polexpr-ref.html#polfromcsv"><span class="std std-ref">\PolFromCSV</span></a> or
 <a class="reference internal" href="polexpr-ref.html#polget"><span class="std std-ref">\PolGet</span></a>
 get their coefficients normalized via <a class="reference external" href="https://www.ctan.org/pkg/xint">xintfrac</a>‘s <code class="docutils literal notranslate"><span class="pre">\xintRaw</span></code>.</p></li>
 </ul>
 </li>
-<li><p>experimental change:</p>
+<li><p>Experimental change:</p>
 <ul>
-<li><p>optional argument to <a class="reference internal" href="polexpr-ref.html#polsturmisolatezeros"><span class="std std-ref">\PolSturmIsolateZeros</span></a>
+<li><p>Optional argument to <a class="reference internal" href="polexpr-ref.html#polsturmisolatezeros"><span class="std std-ref">\PolSturmIsolateZeros</span></a>
 (see <code class="docutils literal notranslate"><span class="pre">The</span> <span class="pre">degree</span> <span class="pre">41</span> <span class="pre">polynomial</span> <span class="pre">with</span> <span class="pre">-2,</span> <span class="pre">-1.9,</span> <span class="pre">-1.8,</span> <span class="pre">...,</span> <span class="pre">0,</span> <span class="pre">0.1,</span> <span class="pre">...,</span>
 <span class="pre">1.9,</span> <span class="pre">2</span> <span class="pre">as</span> <span class="pre">roots</span></code> in <code class="docutils literal notranslate"><span class="pre">polexpr-examples.pdf</span></code>). It will presumably be
 replaced in future by an interval specification.</p></li>
 </ul>
 </li>
-<li><p>new non-expandable macro:</p>
+<li><p>New non-expandable macro:</p>
 <ul>
 <li><p><a class="reference internal" href="polexpr-ref.html#polmakeprimitive"><span class="std std-ref">\PolMakePrimitive</span></a></p></li>
 </ul>
 </li>
-<li><p>new expandable macro:</p>
+<li><p>New expandable macro:</p>
 <ul>
 <li><p><a class="reference internal" href="polexpr-ref.html#policontent"><span class="std std-ref">\PolIContent</span></a></p></li>
 </ul>
@@ -250,36 +250,36 @@
 </li>
 </ul>
 </section>
-<section id="v0-5-1-2018-04-22">
-<h2>v0.5.1 (2018/04/22)</h2>
+<section id="id8">
+<h2>0.5.1 (2018/04/22)</h2>
 <ul class="simple">
-<li><p>new feature:</p>
+<li><p>New feature:</p>
 <ul>
-<li><p>the character <code class="docutils literal notranslate"><span class="pre">'</span></code> can be used in polynomial names.</p></li>
+<li><p>The character <code class="docutils literal notranslate"><span class="pre">'</span></code> can be used in polynomial names.</p></li>
 </ul>
 </li>
 </ul>
 </section>
-<section id="v0-6-2018-11-20">
-<h2>v0.6 (2018/11/20)</h2>
+<section id="id9">
+<h2>0.6 (2018/11/20)</h2>
 <ul class="simple">
-<li><p>bugfix:</p>
+<li><p>Bug fixes:</p>
 <ul>
-<li><p>the starred variant
-<a class="reference internal" href="polexpr-ref.html#id35"><span class="std std-ref">\PolToSturm*{<polname>}{<sturmname>}</span></a>
+<li><p>The starred variant
+<a class="reference internal" href="polexpr-ref.html#id36"><span class="std std-ref">\PolToSturm*{<polname>}{<sturmname>}</span></a>
 was broken. On the occasion of the fix, its meaning has
 been modified, see its documentation.</p></li>
-<li><p>using <a class="reference internal" href="polexpr-ref.html#poltosturm"><span class="std std-ref">\PolToSturm</span></a> with a constant polynomial
+<li><p>Using <a class="reference internal" href="polexpr-ref.html#poltosturm"><span class="std std-ref">\PolToSturm</span></a> with a constant polynomial
 caused a division by zero error.</p></li>
 </ul>
 </li>
-<li><p>new macro:</p>
+<li><p>New macro:</p>
 <ul>
-<li><p><a class="reference internal" href="polexpr-ref.html#id38"><span class="std std-ref">\PolSturmIsolateZeros*</span></a>
+<li><p><a class="reference internal" href="polexpr-ref.html#id39"><span class="std std-ref">\PolSturmIsolateZeros*</span></a>
 acts like the <a class="reference internal" href="polexpr-ref.html#polsturmisolatezeros"><span class="std std-ref">non-starred variant</span></a> then computes all the multiplicities.</p></li>
 </ul>
 </li>
-<li><p>new expandable macros:</p>
+<li><p>New expandable macros:</p>
 <ul>
 <li><p><a class="reference internal" href="polexpr-ref.html#polsturmisolatedzeromultiplicity"><span class="std std-ref">\PolSturmIsolatedZeroMultiplicity{<sturmname>}{<index>}</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polsturmnbofrootsoflessthanorequalto"><span class="std std-ref">\PolSturmNbOfRootsOf{<sturmname>}\LessThanOrEqualTo{<value>}</span></a></p></li>
@@ -290,12 +290,12 @@
 </li>
 </ul>
 </section>
-<section id="v0-7-2018-12-08-v0-7-1-bugfix-v0-7-2-2nd-bugfix-2018-12-09">
-<h2>v0.7 (2018/12/08), v0.7.1 (bugfix), v0.7.2 (2nd bugfix) (2018/12/09)</h2>
+<section id="bugfix-0-7-2-2nd-bugfix-2018-12-09">
+<h2>0.7 (2018/12/08), 0.7.1 (bugfix), 0.7.2 (2nd bugfix) (2018/12/09)</h2>
 <ul class="simple">
-<li><p>breaking changes:</p>
+<li><p>Breaking changes:</p>
 <ul>
-<li><p>although <a class="reference internal" href="polexpr-ref.html#polprintintervals"><span class="std std-ref">\PolPrintIntervals[<varname>]{<sturmname>}</span></a> default output
+<li><p>Although <a class="reference internal" href="polexpr-ref.html#polprintintervals"><span class="std std-ref">\PolPrintIntervals[<varname>]{<sturmname>}</span></a> default output
 remains the same, some auxiliary macros for user-customization
 have been removed: <code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheEndPoint</span></code>,
 <code class="docutils literal notranslate"><span class="pre">\PolIfEndPointIsPositive{T}{F}</span></code>,
@@ -303,9 +303,9 @@
 <code class="docutils literal notranslate"><span class="pre">\PolIfEndPointIsZero{T}{F}</span></code>.</p></li>
 </ul>
 </li>
-<li><p>bugfix:</p>
+<li><p>Bug fixes:</p>
 <ul>
-<li><p>it could happen that, contrarily to documentation, an interval computed
+<li><p>It could happen that, contrarily to documentation, an interval computed
 by <a class="reference internal" href="polexpr-ref.html#polsturmisolatezeros"><span class="std std-ref">\PolSturmIsolateZeros{<sturmname>}</span></a> had
 zero as an endpoint,</p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polensureintervallength"><span class="std std-ref">\PolEnsureIntervalLength{<sturmname>}{<index>}{<exponent>}</span></a> could under certain circumstances erroneously
@@ -315,13 +315,13 @@
 Thomas Söll for report).</p></li>
 </ul>
 </li>
-<li><p>new macros:</p>
+<li><p>New macros:</p>
 <ul>
-<li><p><a class="reference internal" href="polexpr-ref.html#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a></p></li>
+<li><p><a class="reference internal" href="polexpr-ref.html#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polsturmisolatezerosgetmultiplicitiesandrationalroots"><span class="std std-ref">\PolSturmIsolateZerosGetMultiplicitiesAndRationalRoots{<sturmname>}</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polsturmisolatezerosandfindrationalroots"><span class="std std-ref">\PolSturmIsolateZerosAndFindRationalRoots{<sturmname>}</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polexprsetup"><span class="std std-ref">\polexprsetup</span></a></p></li>
-<li><p><a class="reference internal" href="polexpr-ref.html#id61"><span class="std std-ref">\PolPrintIntervals*</span></a></p></li>
+<li><p><a class="reference internal" href="polexpr-ref.html#id62"><span class="std std-ref">\PolPrintIntervals*</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polprintintervalsnorealroots"><span class="std std-ref">\PolPrintIntervalsNoRealRoots</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polprintintervalsbeginenv"><span class="std std-ref">\PolPrintIntervalsBeginEnv</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polprintintervalsendenv"><span class="std std-ref">\PolPrintIntervalsEndEnv</span></a></p></li>
@@ -330,7 +330,7 @@
 <li><p><a class="reference internal" href="polexpr-ref.html#polprintintervalsprintmultiplicity"><span class="std std-ref">\PolPrintIntervalsPrintMultiplicity</span></a></p></li>
 </ul>
 </li>
-<li><p>new expandable macros:</p>
+<li><p>New expandable macros:</p>
 <ul>
 <li><p><a class="reference internal" href="polexpr-ref.html#polsturmnbofrationalroots"><span class="std std-ref">\PolSturmNbOfRationalRoots{<sturmname>}</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polsturmnbofrationalrootswithmultiplicities"><span class="std std-ref">\PolSturmNbOfRationalRootsWithMultiplicities{<sturmname>}</span></a></p></li>
@@ -344,16 +344,16 @@
 </li>
 </ul>
 </section>
-<section id="v0-7-3-2019-02-04">
-<h2>v0.7.3 (2019/02/04)</h2>
+<section id="id10">
+<h2>0.7.3 (2019/02/04)</h2>
 <ul class="simple">
-<li><p>bugfix:</p>
+<li><p>Bug fixes:</p>
 <ul>
 <li><p>Debugging information not destined to user showed in log if root
 finding was done under <code class="docutils literal notranslate"><span class="pre">\xintverbosetrue</span></code> regime.</p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#polprintintervalsthevar"><span class="std std-ref">\PolPrintIntervalsTheVar</span></a> remained
 defined after <a class="reference internal" href="polexpr-ref.html#polprintintervals"><span class="std std-ref">\PolPrintIntervals</span></a> but was
-left undefined after <a class="reference internal" href="polexpr-ref.html#id61"><span class="std std-ref">\PolPrintIntervals*</span></a>
+left undefined after <a class="reference internal" href="polexpr-ref.html#id62"><span class="std std-ref">\PolPrintIntervals*</span></a>
 (reported by Jürgen Gilg). Now remains defined in both cases, and
 <a class="reference internal" href="polexpr-ref.html#polprintintervalsthesturmname"><span class="std std-ref">\PolPrintIntervalsTheSturmName</span></a>
 also.</p></li>
@@ -363,10 +363,10 @@
 </li>
 </ul>
 </section>
-<section id="v0-7-4-2019-02-12">
-<h2>v0.7.4 (2019/02/12)</h2>
+<section id="id11">
+<h2>0.7.4 (2019/02/12)</h2>
 <ul class="simple">
-<li><p>bugfix:</p>
+<li><p>Bug fix:</p>
 <ul>
 <li><p>20000000000 is too big for <code class="docutils literal notranslate"><span class="pre">\numexpr</span></code>, shouldn’t I know that?
 Thanks to Jürgen Gilg for report.</p></li>
@@ -374,15 +374,15 @@
 </li>
 </ul>
 </section>
-<section id="v0-7-5-2020-01-31">
-<h2>v0.7.5 (2020/01/31)</h2>
+<section id="id12">
+<h2>0.7.5 (2020/01/31)</h2>
 <p>Synced with xintexpr 1.4. Requires it.</p>
 </section>
-<section id="v0-8-2021-03-29">
-<span id="polexpr08release"></span><h2>v0.8 (2021/03/29)</h2>
+<section id="polexpr08release">
+<span id="id13"></span><h2>0.8 (2021/03/29)</h2>
 <p>Synced with xintexpr 1.4d. Requires it.</p>
 <ul class="simple">
-<li><p>breaking changes:</p>
+<li><p>Breaking changes:</p>
 <ul>
 <li><p>As the usability of character <code class="docutils literal notranslate"><span class="pre">'</span></code> in names has been extended
 from <code class="docutils literal notranslate"><span class="pre">\poldef</span></code> to also generally <code class="docutils literal notranslate"><span class="pre">\xintexpr</span></code>, <code class="docutils literal notranslate"><span class="pre">\xintdefvar</span></code>,
@@ -396,13 +396,13 @@
 <a class="reference internal" href="polexpr-ref.html#poltoexprcaret"><span class="std std-ref">\PolToExprCaret</span></a>.</p></li>
 </ul>
 </li>
-<li><p>deprecated:</p>
+<li><p>Deprecated:</p>
 <ul>
 <li><p>Usage of <code class="docutils literal notranslate"><span class="pre">P/Q</span></code> for the euclidean quotient of two polynomials is
 deprecated.  Start using <code class="docutils literal notranslate"><span class="pre">quo(P,Q)</span></code> in its place.</p></li>
 </ul>
 </li>
-<li><p>bugfix:</p>
+<li><p>Bug fixes:</p>
 <ul>
 <li><p>The <code class="docutils literal notranslate"><span class="pre">\xintglobaldefstrue</span></code> setting was obeyed only partially
 by the polexpr macros defining polynomials.</p></li>
@@ -417,18 +417,18 @@
 Hopefully <code class="docutils literal notranslate"><span class="pre">0.8</span></code> achieves full functionality in this context.</p></li>
 </ul>
 </li>
-<li><p>new macros:</p>
+<li><p>New macros:</p>
 <ul>
 <li><p><a class="reference internal" href="polexpr-ref.html#polnewpolverbosefalse"><span class="std std-ref">\polnewpolverbosefalse</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#poltoexprcaret"><span class="std std-ref">\PolToExprCaret</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#poltoexprinvar"><span class="std std-ref">\PolToExprInVar</span></a></p></li>
-<li><p>alongside the major new functionalities described in the next item
+<li><p>Alongside the major new functionalities described in the next item
 <a class="reference internal" href="polexpr-ref.html#poltypeset"><span class="std std-ref">\PolTypeset</span></a> and <a class="reference internal" href="polexpr-ref.html#poltoexpr"><span class="std std-ref">\PolToExpr</span></a> have
 been enhanced to accept as argument a general expression and not
 only a pre-declared polynomial name.</p></li>
 </ul>
 </li>
-<li><p>new features:</p>
+<li><p>New features:</p>
 <ul>
 <li><p>The package is usable under Plain and probably most any TeX format,
 and not only under LaTeX.</p></li>
@@ -453,16 +453,16 @@
 <p>See the updated <a class="reference internal" href="polexpr-ref.html#quick"><span class="std std-ref">Quick syntax overview</span></a> and then
 <a class="reference internal" href="polexpr-ref.html#polexpr08"><span class="std std-ref">the extended syntax description</span></a>.</p>
 </section>
-<section id="v0-8-1-2021-04-12">
-<h2>v0.8.1 (2021/04/12)</h2>
+<section id="id14">
+<h2>0.8.1 (2021/04/12)</h2>
 <ul class="simple">
-<li><p>breaking changes:</p>
+<li><p>Breaking changes:</p>
 <ul>
-<li><p>renamed v0.8’s <code class="docutils literal notranslate"><span class="pre">icontent()</span></code> to <a class="reference internal" href="polexpr-ref.html#cont"><span class="std std-ref">cont()</span></a>.</p></li>
-<li><p>renamed v0.8’s <code class="docutils literal notranslate"><span class="pre">lcoeff()</span></code> to <a class="reference internal" href="polexpr-ref.html#lc"><span class="std std-ref">lc()</span></a>.</p></li>
+<li><p>Renamed 0.8’s <code class="docutils literal notranslate"><span class="pre">icontent()</span></code> to <a class="reference internal" href="polexpr-ref.html#cont"><span class="std std-ref">cont()</span></a>.</p></li>
+<li><p>Renamed 0.8’s <code class="docutils literal notranslate"><span class="pre">lcoeff()</span></code> to <a class="reference internal" href="polexpr-ref.html#lc"><span class="std std-ref">lc()</span></a>.</p></li>
 </ul>
 </li>
-<li><p>bugfix:</p>
+<li><p>Bug fixes:</p>
 <ul>
 <li><p>Sadly, <code class="docutils literal notranslate"><span class="pre">diff1()</span></code>, <code class="docutils literal notranslate"><span class="pre">diff2()</span></code>,  <code class="docutils literal notranslate"><span class="pre">diffn()</span></code> were broken
 for polynomials of degrees 8 or more, due to a typo and
@@ -476,7 +476,7 @@
 from mass conversion from LaTeX to TeX syntax.</p></li>
 </ul>
 </li>
-<li><p>added:</p>
+<li><p>Added:</p>
 <ul>
 <li><p><a class="reference internal" href="polexpr-ref.html#lpol"><span class="std std-ref">lpol()</span></a></p></li>
 <li><p><a class="reference internal" href="polexpr-ref.html#lcoeffs"><span class="std std-ref">lcoeffs()</span></a></p></li>
@@ -484,16 +484,16 @@
 </li>
 </ul>
 </section>
-<section id="v0-8-2-2021-05-05">
-<h2>v0.8.2 (2021/05/05)</h2>
+<section id="id15">
+<h2>0.8.2 (2021/05/05)</h2>
 <ul class="simple">
-<li><p>breaking change:</p>
+<li><p>Breaking change:</p>
 <ul>
-<li><p>usage of <code class="docutils literal notranslate"><span class="pre">\xintPFloat</span></code> in place of <code class="docutils literal notranslate"><span class="pre">\xintFloat</span></code> for
+<li><p>Usage of <code class="docutils literal notranslate"><span class="pre">\xintPFloat</span></code> in place of <code class="docutils literal notranslate"><span class="pre">\xintFloat</span></code> for
 <a class="reference internal" href="polexpr-ref.html#poltofloatexprcmd"><span class="std std-ref">\PolToFloatExprCmd</span></a>.</p></li>
 </ul>
 </li>
-<li><p>improved:</p>
+<li><p>Improved:</p>
 <ul>
 <li><p>Some <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> functions such as <code class="docutils literal notranslate"><span class="pre">rseq()</span></code> use the semi-colon,
 and it was mentioned in the documentation that <a class="reference internal" href="polexpr-ref.html#poldef"><span class="std std-ref">\poldef</span></a>
@@ -504,50 +504,50 @@
 not <a class="reference internal" href="polexpr-ref.html#id5"><span class="std std-ref">\PolDef</span></a> needs the work-around.</p></li>
 </ul>
 </li>
-<li><p>track <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> <code class="docutils literal notranslate"><span class="pre">1.4e</span></code> changes relative to powers.</p></li>
+<li><p>Track <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> <code class="docutils literal notranslate"><span class="pre">1.4e</span></code> changes relative to powers.</p></li>
 </ul>
 </section>
-<section id="v0-8-3-2021-05-27">
-<h2>v0.8.3 (2021/05/27)</h2>
+<section id="id16">
+<h2>0.8.3 (2021/05/27)</h2>
 <ul class="simple">
-<li><p>small internal update to track an <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> <code class="docutils literal notranslate"><span class="pre">1.4h</span></code> change
+<li><p>Small internal update to track an <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> <code class="docutils literal notranslate"><span class="pre">1.4h</span></code> change
 regarding handling of exceptions.  Will require this version at
 least on loading.</p></li>
 </ul>
 </section>
-<section id="v0-8-4-2021-11-01">
-<h2>v0.8.4 (2021/11/01)</h2>
+<section id="id17">
+<h2>0.8.4 (2021/11/01)</h2>
 <ul class="simple">
-<li><p>bugfix: <a class="reference internal" href="polexpr-ref.html#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> did not declare the <code class="docutils literal notranslate"><span class="pre"><sturmname>_norr</span></code> and
+<li><p>Bug fix: <a class="reference internal" href="polexpr-ref.html#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> did not declare the <code class="docutils literal notranslate"><span class="pre"><sturmname>_norr</span></code> and
 <code class="docutils literal notranslate"><span class="pre"><sturmname>_sqf_norr</span></code> polynomials if original polynomial had no real
 root!</p></li>
 </ul>
 </section>
-<section id="v0-8-5-2021-11-30">
-<h2>v0.8.5 (2021/11/30)</h2>
+<section id="id18">
+<h2>0.8.5 (2021/11/30)</h2>
 <ul class="simple">
-<li><p>bugfix: support for the <code class="docutils literal notranslate"><span class="pre">intfrom()</span></code> function was in the code,
+<li><p>Bug fix: support for the <code class="docutils literal notranslate"><span class="pre">intfrom()</span></code> function was in the code,
 but the declaration to the polynomial parser had not been done.</p></li>
-<li><p>track (belatedly) upstream deprecation of <code class="docutils literal notranslate"><span class="pre">\xintSignedFrac</span></code> and
+<li><p>Track (belatedly) upstream deprecation of <code class="docutils literal notranslate"><span class="pre">\xintSignedFrac</span></code> and
 <code class="docutils literal notranslate"><span class="pre">\xintSignedFwOver</span></code> at <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> <code class="docutils literal notranslate"><span class="pre">1.4g</span></code></p></li>
 </ul>
 </section>
-<section id="v0-8-6-2022-01-09">
-<h2>v0.8.6 (2022/01/09)</h2>
+<section id="id19">
+<h2>0.8.6 (2022/01/09)</h2>
 <ul class="simple">
-<li><p>provide a separate <code class="docutils literal notranslate"><span class="pre">polexpr-examples.pdf</span></code> with examples formerly
+<li><p>Provide a separate <code class="docutils literal notranslate"><span class="pre">polexpr-examples.pdf</span></code> with examples formerly
 shown as part of the html documentation.</p></li>
-<li><p>minor improvement to the computation of a priori bounds on real roots.</p></li>
-<li><p>add <a class="reference internal" href="polexpr-ref.html#polprintintervalsrowseparator"><span class="std std-ref">\PolPrintIntervalsRowSeparator</span></a>
+<li><p>Minor improvement to the computation of a priori bounds on real roots.</p></li>
+<li><p>Add <a class="reference internal" href="polexpr-ref.html#polprintintervalsrowseparator"><span class="std std-ref">\PolPrintIntervalsRowSeparator</span></a>
 and allow usage of <code class="docutils literal notranslate"><span class="pre">amsmath</span></code> environments in custom
 <a class="reference internal" href="polexpr-ref.html#polprintintervalsbeginenv"><span class="std std-ref">\PolPrintIntervalsBeginEnv</span></a> and
 <a class="reference internal" href="polexpr-ref.html#polprintintervalsendenv"><span class="std std-ref">\PolPrintIntervalsEndEnv</span></a>.</p></li>
 </ul>
 </section>
-<section id="v0-8-7-2022-05-14">
-<h2>v0.8.7 (2022/05/14)</h2>
+<section id="id20">
+<h2>0.8.7 (2022/05/14)</h2>
 <ul class="simple">
-<li><p>bugfix: catcode sanitization by <a class="reference internal" href="polexpr-ref.html#poldef"><span class="std std-ref">\poldef</span></a> was minimal
+<li><p>Bug fix: catcode sanitization by <a class="reference internal" href="polexpr-ref.html#poldef"><span class="std std-ref">\poldef</span></a> was minimal
 ever since <code class="docutils literal notranslate"><span class="pre">0.1</span></code> and handled only the semi-colon.  Thus e.g. the
 active <code class="docutils literal notranslate"><span class="pre">!</span></code> from babel-french caused errors and <code class="docutils literal notranslate"><span class="pre">\string!</span></code> was
 needed as work-around for factorials.  Now the same sanitization as
@@ -554,11 +554,17 @@
 for <code class="docutils literal notranslate"><span class="pre">\xintdefvar</span></code> and <code class="docutils literal notranslate"><span class="pre">\xintdeffunc</span></code> is applied.  This however can
 only work at locations where the catcodes are not yet frozen at the
 time <code class="docutils literal notranslate"><span class="pre">\poldef</span></code> expands.</p></li>
-<li><p>split the html documentation into three files and enhance it via CSS
+<li><p>Split the html documentation into three files and enhance it via CSS
 styling.</p></li>
 </ul>
 </section>
+<section id="a-2022-05-19">
+<h2>0.8.7a (2022/05/19)</h2>
+<ul class="simple">
+<li><p>Documentation updates.</p></li>
+</ul>
 </section>
+</section>
 
 
             <div class="clearer"></div>
@@ -569,28 +575,29 @@
         <div class="sphinxsidebarwrapper"><h3>Contents of this page</h3>
 <ul>
 <li><a class="reference internal" href="#">CHANGES</a><ul>
-<li><a class="reference internal" href="#v0-1-2018-01-11-initial-release-features">v0.1 (2018/01/11): initial release. Features:</a></li>
-<li><a class="reference internal" href="#v0-2-2018-01-14">v0.2 (2018/01/14)</a></li>
-<li><a class="reference internal" href="#v0-3-2018-01-17">v0.3 (2018/01/17)</a></li>
-<li><a class="reference internal" href="#v0-3-1-2018-01-18">v0.3.1 (2018/01/18)</a></li>
-<li><a class="reference internal" href="#v0-4-2018-02-16">v0.4 (2018/02/16)</a></li>
-<li><a class="reference internal" href="#v0-4-1-2018-03-01">v0.4.1 (2018/03/01)</a></li>
-<li><a class="reference internal" href="#v0-4-2-2018-03-03">v0.4.2 (2018/03/03)</a></li>
-<li><a class="reference internal" href="#v0-5-2018-04-08">v0.5 (2018/04/08)</a></li>
-<li><a class="reference internal" href="#v0-5-1-2018-04-22">v0.5.1 (2018/04/22)</a></li>
-<li><a class="reference internal" href="#v0-6-2018-11-20">v0.6 (2018/11/20)</a></li>
-<li><a class="reference internal" href="#v0-7-2018-12-08-v0-7-1-bugfix-v0-7-2-2nd-bugfix-2018-12-09">v0.7 (2018/12/08), v0.7.1 (bugfix), v0.7.2 (2nd bugfix) (2018/12/09)</a></li>
-<li><a class="reference internal" href="#v0-7-3-2019-02-04">v0.7.3 (2019/02/04)</a></li>
-<li><a class="reference internal" href="#v0-7-4-2019-02-12">v0.7.4 (2019/02/12)</a></li>
-<li><a class="reference internal" href="#v0-7-5-2020-01-31">v0.7.5 (2020/01/31)</a></li>
-<li><a class="reference internal" href="#v0-8-2021-03-29">v0.8 (2021/03/29)</a></li>
-<li><a class="reference internal" href="#v0-8-1-2021-04-12">v0.8.1 (2021/04/12)</a></li>
-<li><a class="reference internal" href="#v0-8-2-2021-05-05">v0.8.2 (2021/05/05)</a></li>
-<li><a class="reference internal" href="#v0-8-3-2021-05-27">v0.8.3 (2021/05/27)</a></li>
-<li><a class="reference internal" href="#v0-8-4-2021-11-01">v0.8.4 (2021/11/01)</a></li>
-<li><a class="reference internal" href="#v0-8-5-2021-11-30">v0.8.5 (2021/11/30)</a></li>
-<li><a class="reference internal" href="#v0-8-6-2022-01-09">v0.8.6 (2022/01/09)</a></li>
-<li><a class="reference internal" href="#v0-8-7-2022-05-14">v0.8.7 (2022/05/14)</a></li>
+<li><a class="reference internal" href="#initial-release-features">0.1 (2018/01/11): initial release. Features:</a></li>
+<li><a class="reference internal" href="#id1">0.2 (2018/01/14)</a></li>
+<li><a class="reference internal" href="#id2">0.3 (2018/01/17)</a></li>
+<li><a class="reference internal" href="#id3">0.3.1 (2018/01/18)</a></li>
+<li><a class="reference internal" href="#id4">0.4 (2018/02/16)</a></li>
+<li><a class="reference internal" href="#id5">0.4.1 (2018/03/01)</a></li>
+<li><a class="reference internal" href="#id6">0.4.2 (2018/03/03)</a></li>
+<li><a class="reference internal" href="#id7">0.5 (2018/04/08)</a></li>
+<li><a class="reference internal" href="#id8">0.5.1 (2018/04/22)</a></li>
+<li><a class="reference internal" href="#id9">0.6 (2018/11/20)</a></li>
+<li><a class="reference internal" href="#bugfix-0-7-2-2nd-bugfix-2018-12-09">0.7 (2018/12/08), 0.7.1 (bugfix), 0.7.2 (2nd bugfix) (2018/12/09)</a></li>
+<li><a class="reference internal" href="#id10">0.7.3 (2019/02/04)</a></li>
+<li><a class="reference internal" href="#id11">0.7.4 (2019/02/12)</a></li>
+<li><a class="reference internal" href="#id12">0.7.5 (2020/01/31)</a></li>
+<li><a class="reference internal" href="#polexpr08release">0.8 (2021/03/29)</a></li>
+<li><a class="reference internal" href="#id14">0.8.1 (2021/04/12)</a></li>
+<li><a class="reference internal" href="#id15">0.8.2 (2021/05/05)</a></li>
+<li><a class="reference internal" href="#id16">0.8.3 (2021/05/27)</a></li>
+<li><a class="reference internal" href="#id17">0.8.4 (2021/11/01)</a></li>
+<li><a class="reference internal" href="#id18">0.8.5 (2021/11/30)</a></li>
+<li><a class="reference internal" href="#id19">0.8.6 (2022/01/09)</a></li>
+<li><a class="reference internal" href="#id20">0.8.7 (2022/05/14)</a></li>
+<li><a class="reference internal" href="#a-2022-05-19">0.8.7a (2022/05/19)</a></li>
 </ul>
 </li>
 </ul>
@@ -617,7 +624,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="polexpr-ref.html" title="polexpr reference"
              >previous</a></li>
-        <li class="nav-item nav-item-0"><a href="polexpr.html">polexpr 0.8.7 documentation</a> »</li>
+        <li class="nav-item nav-item-0"><a href="polexpr.html">polexpr 0.8.7a documentation</a> »</li>
         <li class="nav-item nav-item-this"><a href="">CHANGES</a></li> 
       </ul>
     </div>

Modified: trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.rst.txt
===================================================================
--- trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.rst.txt	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-changes.rst.txt	2022-05-19 20:10:47 UTC (rev 63337)
@@ -6,8 +6,8 @@
 
 .. _firstrelease:
 
-v0.1 (2018/01/11): initial release. Features:
----------------------------------------------
+0.1 (2018/01/11): initial release. Features:
+--------------------------------------------
 
 * The :ref:`\\poldef <poldef;>` parser itself,
 * Differentiation and anti-differentiation,
@@ -18,8 +18,8 @@
 
 Only one-variable polynomials so far.
 
-v0.2 (2018/01/14)
------------------
+0.2 (2018/01/14)
+----------------
 
 * Fix: ``"README thinks \numexpr recognizes ^ operator"``.
 * Convert README to reStructuredText markup.
@@ -30,18 +30,18 @@
 Due to lack of available time the test suite might not be extensive
 enough. Bug reports are very welcome!
 
-v0.3 (2018/01/17)
------------------
+0.3 (2018/01/17)
+----------------
 
-* bug fixes:
+* Bug fixes:
 
-  - the ``0.1`` :ref:`\\PolEval <PolEvalAt>` accepted expressions for its
+  - The ``0.1`` :ref:`\\PolEval <PolEvalAt>` accepted expressions for its
     second argument, but this was removed by mistake at ``0.2``. Restored.
 
     **Attention**: at ``0.4`` this has been reverted again, and
     :ref:`\\PolEval{P}\\AtExpr{foo} <PolEvalAtExpr>` syntax is needed for
     using expressions in the second argument.
-* incompatible or breaking changes:
+* Incompatible or breaking changes:
 
   - :ref:`\\PolToExpr <PolToExpr>` now by default uses *descending*
     powers (it also treats differently coefficients equal to 1 or -1.)
@@ -51,7 +51,7 @@
     wrapped in an ``\xintRound`` or ``\xintFloat``, this step has been
     removed; the former meaning is available as 
     :ref:`\\PolEvalReduced <PolEvalReducedAt>`.
-* new (or newly documented) macros:
+* New (or newly documented) macros:
 
   - :ref:`\\PolTypesetCmd <PolTypesetCmd>`
   - :ref:`\\PolTypesetCmdPrefix <PolTypesetCmdPrefix>`
@@ -65,11 +65,11 @@
   - :ref:`\\PolToExprTermPrefix <PolToExprTermPrefix>`
   - :ref:`\\PolToExprVar <PolToExprVar>`
   - :ref:`\\PolToExprTimes <PolToExprTimes>`
-* improvements:
+* Improvements:
 
-  - documentation has a table of contents, internal hyperlinks,
+  - Documentation has a table of contents, internal hyperlinks,
     standardized signature notations and added explanations.
-  - one can do ``\PolLet{g}={f}`` or ``\PolLet{g}{f}``.
+  - One can do ``\PolLet{g}={f}`` or ``\PolLet{g}{f}``.
   - ``\PolToExpr{f}`` is highly customizable.
   - :ref:`\\poldef <poldef;>` and other defining macros prepare the
     polynomial functions for usage within ``\xintthefloatexpr`` (or
@@ -82,25 +82,25 @@
     :ref:`\\PolGenFloatVariant <PolGenFloatVariant>` must be used for
     generation floating point polynomial functions.
 
-v0.3.1 (2018/01/18)
--------------------
+0.3.1 (2018/01/18)
+------------------
 
 Fixes two typos in example code included in the documentation.
 
-v0.4 (2018/02/16)
------------------
+0.4 (2018/02/16)
+----------------
 
-* bug fixes:
+* Bug fixes:
 
-  - when Euclidean division gave a zero remainder, the internal
+  - When Euclidean division gave a zero remainder, the internal
     representation of this zero polynomial could be faulty; this
     could cause mysterious bugs in conjunction with other package
     macros such as :ref:`\\PolMapCoeffs <PolMapCoeffs>`.
   - :ref:`\\PolGCD <PolGCD>` was buggy in case of first polynomial being
     of lesser degree than the second one.
-* breaking changes:
+* Breaking changes:
 
-  - formerly :ref:`\\PolEval{P}\\At{foo} <PolEvalAt>` allowed ``foo`` to
+  - Formerly :ref:`\\PolEval{P}\\At{foo} <PolEvalAt>` allowed ``foo`` to
     be an expression, which was transparently handled via
     ``\xinttheexpr``. Now, ``foo`` must be a fraction (or a macro
     expanding to such) in the format acceptable by ``xintfrac.sty``
@@ -110,13 +110,13 @@
 
     The same holds for :ref:`\\PolEvalReduced <PolEvalReducedAt>`
     and :ref:`\\PolFloatEval <PolFloatEvalAt>`.
-  - the ``3.0`` automatic generation of floating point variants has
+  - The ``3.0`` automatic generation of floating point variants has
     been reverted. Not only do *not* the package macros automatically
     generate floating point variants of newly created polynomials,
     they actually make pre-existing such variant undefined.
 
     See :ref:`\\PolGenFloatVariant <PolGenFloatVariant>`.
-* new non-expandable macros:
+* New non-expandable macros:
 
   - :ref:`\\PolGenFloatVariant <PolGenFloatVariant>`
   - :ref:`\\PolGlobalLet <PolGlobalLet>`
@@ -138,7 +138,7 @@
   - :ref:`\\PolPrintIntervalsPrintRightEndPoint <PolPrintIntervalsPrintRightEndPoint>`
   - :ref:`\\PolReduceCoeffs* <PolReduceCoeffs*>`
   - :ref:`\\PolMakeMonic <PolMakeMonic>`
-* new expandable macros:
+* New expandable macros:
 
   - :ref:`\\PolToExprOneTermStyleA <PolToExprOneTermStyleA>`
   - :ref:`\\PolIfCoeffIsPlusOrMinusOne <PolIfCoeffIsPlusOrMinusOne>`
@@ -155,31 +155,31 @@
   - ``\PolIfEndPointIsZero`` (removed at 0.7)
   - :ref:`\\PolIntervalWidth <PolIntervalWidth>`
   - :ref:`\\PolDecToString <PolDecToString>`
-* improvements:
+* Improvements:
 
   The main new feature is implementation of the `Sturm algorithm`_
   for localization of the real roots of polynomials.
 
-v0.4.1 (2018/03/01)
--------------------
+0.4.1 (2018/03/01)
+------------------
 
 Synced with xint 1.3.
 
-v0.4.2 (2018/03/03)
--------------------
+0.4.2 (2018/03/03)
+------------------
 
 Documentation fix.
 
-v0.5 (2018/04/08)
------------------
+0.5 (2018/04/08)
+----------------
 
-* bug fixes:
+* Bug fix:
 
   - :ref:`\\PolGet{polname}\\fromarray\\macro <PolGet>`
     crashed when ``\macro`` was
     an xinttools_ array macro with no items. It now produces the zero
     polynomial.
-* breaking changes:
+* Breaking changes:
 
   - :ref:`\\PolToSturm <PolToSturm>` creates primitive integer coefficients
     polynomials. This speeds up localization of roots via
@@ -186,49 +186,49 @@
     :ref:`\\PolSturmIsolateZeros <PolSturmIsolateZeros>`. In case of user
     protests the author will make available again the code producing the
     bona fide Sturm polynomials as used formerly.
-  - polynomials created from :ref:`\\PolFromCSV <PolFromCSV>` or 
+  - Polynomials created from :ref:`\\PolFromCSV <PolFromCSV>` or 
     :ref:`\\PolGet <PolGet>`
     get their coefficients normalized via xintfrac_\ 's ``\xintRaw``.
-* experimental change:
+* Experimental change:
 
-  - optional argument to :ref:`\\PolSturmIsolateZeros <PolSturmIsolateZeros>`
+  - Optional argument to :ref:`\\PolSturmIsolateZeros <PolSturmIsolateZeros>`
     (see ``The degree 41 polynomial with -2, -1.9, -1.8, ..., 0, 0.1, ...,
     1.9, 2 as roots`` in ``polexpr-examples.pdf``). It will presumably be
     replaced in future by an interval specification.
-* new non-expandable macro:
+* New non-expandable macro:
 
   - :ref:`\\PolMakePrimitive <PolMakePrimitive>`
-* new expandable macro:
+* New expandable macro:
 
   - :ref:`\\PolIContent <PolIContent>`
     
-v0.5.1 (2018/04/22)
--------------------
+0.5.1 (2018/04/22)
+------------------
 
-* new feature:
+* New feature:
 
-  - the character ``'`` can be used in polynomial names.
+  - The character ``'`` can be used in polynomial names.
 
-v0.6 (2018/11/20)
------------------
+0.6 (2018/11/20)
+----------------
 
-* bugfix:
+* Bug fixes:
 
-  - the starred variant
+  - The starred variant
     :ref:`\\PolToSturm*{\<polname\>}{\<sturmname\>} <PolToSturm*>`
     was broken. On the occasion of the fix, its meaning has
     been modified, see its documentation.
 
-  - using :ref:`\\PolToSturm <PolToSturm>` with a constant polynomial
+  - Using :ref:`\\PolToSturm <PolToSturm>` with a constant polynomial
     caused a division by zero error.
 
-* new macro:
+* New macro:
 
   - :ref:`\\PolSturmIsolateZeros* <PolSturmIsolateZeros*>`
     acts like the :ref:`non-starred variant
     <PolSturmIsolateZeros>` then computes all the multiplicities.
 
-* new expandable macros:
+* New expandable macros:
 
   - :ref:`\\PolSturmIsolatedZeroMultiplicity{\<sturmname\>}{\<index\>} <PolSturmIsolatedZeroMultiplicity>`
   - :ref:`\\PolSturmNbOfRootsOf{\<sturmname\>}\\LessThanOrEqualTo{\<value\>} <PolSturmNbOfRootsOfLessThanOrEqualTo>`
@@ -236,12 +236,12 @@
   - :ref:`\\PolSturmNbWithMultOfRootsOf{\<sturmname\>}\\LessThanOrEqualTo{\<value\>} <PolSturmNbWithMultOfRootsOfLessThanOrEqualTo>`
   - :ref:`\\PolSturmNbWithMultOfRootsOf{\<sturmname\>}\\LessThanOrEqualToExpr{\<num. expr.\>} <PolSturmNbWithMultOfRootsOfLessThanOrEqualToExpr>`
 
-v0.7 (2018/12/08), v0.7.1 (bugfix), v0.7.2 (2nd bugfix) (2018/12/09)
---------------------------------------------------------------------
+0.7 (2018/12/08), 0.7.1 (bugfix), 0.7.2 (2nd bugfix) (2018/12/09)
+-----------------------------------------------------------------
 
-* breaking changes:
+* Breaking changes:
 
-  - although :ref:`\\PolPrintIntervals[\<varname\>]{\<sturmname\>} <PolPrintIntervals>` default output
+  - Although :ref:`\\PolPrintIntervals[\<varname\>]{\<sturmname\>} <PolPrintIntervals>` default output
     remains the same, some auxiliary macros for user-customization
     have been removed: ``\PolPrintIntervalsTheEndPoint``,
     ``\PolIfEndPointIsPositive{T}{F}``,
@@ -248,9 +248,9 @@
     ``\PolIfEndPointIsNegative{T}{F}``, and
     ``\PolIfEndPointIsZero{T}{F}``.
 
-* bugfix:
+* Bug fixes:
 
-  - it could happen that, contrarily to documentation, an interval computed
+  - It could happen that, contrarily to documentation, an interval computed
     by :ref:`\\PolSturmIsolateZeros{\<sturmname\>} <PolSturmIsolateZeros>` had
     zero as an endpoint,
   - :ref:`\\PolEnsureIntervalLength{\<sturmname\>}{\<index\>}{\<exponent\>}
@@ -261,7 +261,7 @@
     real roots, hence for which no isolation intervals existed (thanks to
     Thomas Söll for report).
 
-* new macros:
+* New macros:
 
   - :ref:`\\PolSturmIsolateZeros**{\<sturmname\>} <PolSturmIsolateZeros**>`
   - :ref:`\\PolSturmIsolateZerosGetMultiplicitiesAndRationalRoots{\<sturmname\>} <PolSturmIsolateZerosGetMultiplicitiesAndRationalRoots>`
@@ -275,7 +275,7 @@
   - :ref:`\\PolPrintIntervalsUnknownRoot <PolPrintIntervalsUnknownRoot>`
   - :ref:`\\PolPrintIntervalsPrintMultiplicity <PolPrintIntervalsPrintMultiplicity>`
 
-* new expandable macros:
+* New expandable macros:
 
   - :ref:`\\PolSturmNbOfRationalRoots{\<sturmname\>} <PolSturmNbOfRationalRoots>`
   - :ref:`\\PolSturmNbOfRationalRootsWithMultiplicities{\<sturmname\>} <PolSturmNbOfRationalRootsWithMultiplicities>`
@@ -286,10 +286,10 @@
   - :ref:`\\PolPrintIntervalsTheSturmName <PolPrintIntervalsTheSturmName>`
   - :ref:`\\PolPrintIntervalsTheMultiplicity <PolPrintIntervalsTheMultiplicity>`
 
-v0.7.3 (2019/02/04)
--------------------
+0.7.3 (2019/02/04)
+------------------
 
-* bugfix:
+* Bug fixes:
 
   - Debugging information not destined to user showed in log if root
     finding was done under ``\xintverbosetrue`` regime.
@@ -302,27 +302,27 @@
   - Polynomial names ending in digits caused errors (reported by Thomas
     Söll).
 
-v0.7.4 (2019/02/12)
--------------------
+0.7.4 (2019/02/12)
+------------------
 
-* bugfix:
+* Bug fix:
 
   - 20000000000 is too big for ``\numexpr``, shouldn't I know that?
     Thanks to Jürgen Gilg for report.
 
-v0.7.5 (2020/01/31)
--------------------
+0.7.5 (2020/01/31)
+------------------
 
 Synced with xintexpr 1.4. Requires it.
 
 .. _polexpr08release:
 
-v0.8 (2021/03/29)
------------------
+0.8 (2021/03/29)
+----------------
 
 Synced with xintexpr 1.4d. Requires it.
 
-* breaking changes:
+* Breaking changes:
 
   - As the usability of character ``'`` in names has been extended
     from ``\poldef`` to also generally ``\xintexpr``, ``\xintdefvar``,
@@ -336,12 +336,12 @@
     ``^``. See its documentation and the new configuration
     :ref:`\\PolToExprCaret <PolToExprCaret>`.
 
-* deprecated:
+* Deprecated:
 
   - Usage of ``P/Q`` for the euclidean quotient of two polynomials is
     deprecated.  Start using ``quo(P,Q)`` in its place.
 
-* bugfix:
+* Bug fixes:
 
   - The ``\xintglobaldefstrue`` setting was obeyed only partially
     by the polexpr macros defining polynomials.
@@ -358,17 +358,17 @@
     extended possibilities for xintexpr 1.4 user-declared functions.
     Hopefully ``0.8`` achieves full functionality in this context.
 
-* new macros:
+* New macros:
 
   - :ref:`\\polnewpolverbosefalse <polnewpolverbosefalse>`
   - :ref:`\\PolToExprCaret <PolToExprCaret>`
   - :ref:`\\PolToExprInVar <PolToExprInVar>`
-  - alongside the major new functionalities described in the next item
+  - Alongside the major new functionalities described in the next item
     :ref:`\\PolTypeset <PolTypeset>` and :ref:`\\PolToExpr <PolToExpr>` have
     been enhanced to accept as argument a general expression and not
     only a pre-declared polynomial name.
 
-* new features:
+* New features:
 
   - The package is usable under Plain and probably most any TeX format,
     and not only under LaTeX.
@@ -392,15 +392,15 @@
 See the updated :ref:`Quick syntax overview <quick>` and then
 :ref:`the extended syntax description <polexpr08>`.
 
-v0.8.1 (2021/04/12)
--------------------
+0.8.1 (2021/04/12)
+------------------
 
-* breaking changes:
+* Breaking changes:
 
-  - renamed v0.8's ``icontent()`` to :ref:`cont() <cont>`.
-  - renamed v0.8's ``lcoeff()`` to :ref:`lc() <lc>`.
+  - Renamed 0.8's ``icontent()`` to :ref:`cont() <cont>`.
+  - Renamed 0.8's ``lcoeff()`` to :ref:`lc() <lc>`.
 
-* bugfix:
+* Bug fixes:
 
   - Sadly, ``diff1()``, ``diff2()``,  ``diffn()`` were broken
     for polynomials of degrees 8 or more, due to a typo and
@@ -415,20 +415,20 @@
     was broken by an end-of-line space, left-over
     from mass conversion from LaTeX to TeX syntax.
 
-* added:
+* Added:
 
   - :ref:`lpol() <lpol>`
   - :ref:`lcoeffs() <lcoeffs>`
 
-v0.8.2 (2021/05/05)
--------------------
+0.8.2 (2021/05/05)
+------------------
 
-* breaking change:
+* Breaking change:
 
-  - usage of ``\xintPFloat`` in place of ``\xintFloat`` for
+  - Usage of ``\xintPFloat`` in place of ``\xintFloat`` for
     :ref:`\\PolToFloatExprCmd <PolToFloatExprCmd>`.
 
-* improved:
+* Improved:
 
   - Some xintexpr_ functions such as ``rseq()`` use the semi-colon,
     and it was mentioned in the documentation that :ref:`\\poldef <poldef;>`
@@ -438,49 +438,49 @@
     this work-around.  With this relase only :ref:`\\poldef <poldef;>` but
     not :ref:`\\PolDef <PolDef>` needs the work-around.
 
-* track xintexpr_ ``1.4e`` changes relative to powers.
+* Track xintexpr_ ``1.4e`` changes relative to powers.
 
-v0.8.3 (2021/05/27)
--------------------
+0.8.3 (2021/05/27)
+------------------
 
-* small internal update to track an xintexpr_ ``1.4h`` change
+* Small internal update to track an xintexpr_ ``1.4h`` change
   regarding handling of exceptions.  Will require this version at
   least on loading.
 
-v0.8.4 (2021/11/01)
--------------------
+0.8.4 (2021/11/01)
+------------------
 
-* bugfix: :ref:`\\PolSturmIsolateZeros**{\<sturmname\>}
+* Bug fix: :ref:`\\PolSturmIsolateZeros**{\<sturmname\>}
   <PolSturmIsolateZeros**>` did not declare the ``<sturmname>_norr`` and
   ``<sturmname>_sqf_norr`` polynomials if original polynomial had no real
   root!
 
-v0.8.5 (2021/11/30)
--------------------
+0.8.5 (2021/11/30)
+------------------
 
-* bugfix: support for the ``intfrom()`` function was in the code,
+* Bug fix: support for the ``intfrom()`` function was in the code,
   but the declaration to the polynomial parser had not been done.
 
-* track (belatedly) upstream deprecation of ``\xintSignedFrac`` and
+* Track (belatedly) upstream deprecation of ``\xintSignedFrac`` and
   ``\xintSignedFwOver`` at xintexpr_ ``1.4g``
 
-v0.8.6 (2022/01/09)
--------------------
+0.8.6 (2022/01/09)
+------------------
 
-* provide a separate ``polexpr-examples.pdf`` with examples formerly
+* Provide a separate ``polexpr-examples.pdf`` with examples formerly
   shown as part of the html documentation.
 
-* minor improvement to the computation of a priori bounds on real roots.
+* Minor improvement to the computation of a priori bounds on real roots.
 
-* add :ref:`\\PolPrintIntervalsRowSeparator <PolPrintIntervalsRowSeparator>`
+* Add :ref:`\\PolPrintIntervalsRowSeparator <PolPrintIntervalsRowSeparator>`
   and allow usage of ``amsmath`` environments in custom
   :ref:`\\PolPrintIntervalsBeginEnv <PolPrintIntervalsBeginEnv>` and
   :ref:`\\PolPrintIntervalsEndEnv <PolPrintIntervalsEndEnv>`.
 
-v0.8.7 (2022/05/14)
--------------------
+0.8.7 (2022/05/14)
+------------------
 
-* bugfix: catcode sanitization by :ref:`\\poldef <poldef;>` was minimal
+* Bug fix: catcode sanitization by :ref:`\\poldef <poldef;>` was minimal
   ever since ``0.1`` and handled only the semi-colon.  Thus e.g. the
   active ``!`` from babel-french caused errors and ``\string!`` was
   needed as work-around for factorials.  Now the same sanitization as
@@ -488,10 +488,15 @@
   only work at locations where the catcodes are not yet frozen at the
   time ``\poldef`` expands.
 
-* split the html documentation into three files and enhance it via CSS
+* Split the html documentation into three files and enhance it via CSS
   styling.
 
+0.8.7a (2022/05/19)
+-------------------
 
+* Documentation updates.
+
+
 .. _xinttools:
 .. _xintfrac:
 .. _xint: https://www.ctan.org/pkg/xint

Modified: trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-examples.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-ref.html
===================================================================
--- trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-ref.html	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-ref.html	2022-05-19 20:10:47 UTC (rev 63337)
@@ -6,7 +6,7 @@
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
 
-    <title>polexpr reference — polexpr 0.8.7 documentation</title>
+    <title>polexpr reference — polexpr 0.8.7a documentation</title>
     <link rel="stylesheet" type="text/css" href="polexpr.css" />
     <link rel="next" title="CHANGES" href="polexpr-changes.html" />
     <link rel="prev" title="Introduction to polexpr" href="polexpr.html" /> 
@@ -20,7 +20,7 @@
         <li class="right" >
           <a href="polexpr.html" title="Introduction to polexpr"
              accesskey="P">previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="polexpr.html">polexpr 0.8.7 documentation</a> »</li>
+        <li class="nav-item nav-item-0"><a href="polexpr.html">polexpr 0.8.7a documentation</a> »</li>
         <li class="nav-item nav-item-this"><a href="">polexpr reference</a></li> 
       </ul>
     </div>  
@@ -49,18 +49,15 @@
 See <a class="reference internal" href="#rdcoeffs"><span class="std std-ref">rdcoeffs()</span></a> and the macro
 <a class="reference internal" href="#polreducecoeffs"><span class="std std-ref">\PolReduceCoeffs</span></a>.</p>
 </div>
-<ul class="simple">
+<ul>
 <li><p>In place of <code class="docutils literal notranslate"><span class="pre">x</span></code> an arbitrary <em>dummy variable</em> is authorized,
 i.e. per default one <code class="docutils literal notranslate"><span class="pre">a,</span> <span class="pre">..,</span> <span class="pre">z,</span> <span class="pre">A,</span> <span class="pre">..,</span> <span class="pre">Z</span></code> (more letters can be declared
 under Unicode engines).</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">polname</span></code> consists of <em>letters</em>, <em>digits</em>, and also the <code class="docutils literal notranslate"><span class="pre">_</span></code> and
-<code class="docutils literal notranslate"><span class="pre">'</span></code> characters are allowed.  The polynomial name <strong>must</strong> start with
-a letter: do not use the underscore <code class="docutils literal notranslate"><span class="pre">_</span></code> as <em>first character</em> of a
-polynomial name (even if of catcode letter).  No warning is emitted
-but dire consequences will ensue.  The <code class="docutils literal notranslate"><span class="pre">@</span></code> is also allowed
-(independently of its catcode “letter” or “other”, which does not
-matter).  It is recommended to avoid using it as first character,
-except for temporary polynomial variables.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">polname</span></code> is a word (no space) built with <em>letters</em>, <em>digits</em>, and
+the <code class="docutils literal notranslate"><span class="pre">@</span></code>, <code class="docutils literal notranslate"><span class="pre">_</span></code> and <code class="docutils literal notranslate"><span class="pre">'</span></code> characters are allowed.  The polynomial
+name <strong>must</strong> start with a letter.</p>
+<p>For guidelines regarding <code class="docutils literal notranslate"><span class="pre">_</span></code> and <code class="docutils literal notranslate"><span class="pre">@</span></code> see <a class="reference internal" href="#technicalities">Technicalities</a>.</p>
+</li>
 <li><p>The colon before the equality sign is optional and its (reasonable)
 catcode does not matter.</p></li>
 <li><p>The semi-colon at the end of the expression is mandatory. It is not
@@ -248,7 +245,7 @@
 <p>This is useful for console or file output.  This syntax is Maple and
 PSTricks <code class="docutils literal notranslate"><span class="pre">\psplot[algebraic]</span></code> compatible; and also it is
 compatible with <code class="docutils literal notranslate"><span class="pre">\poldef</span></code> input syntax, of course.  See
-<a class="reference internal" href="#id69">\PolToExprCaret</a> for configuration of the <code class="docutils literal notranslate"><span class="pre">^</span></code>, for example to
+<a class="reference internal" href="#id70">\PolToExprCaret</a> for configuration of the <code class="docutils literal notranslate"><span class="pre">^</span></code>, for example to
 use rather <code class="docutils literal notranslate"><span class="pre">**</span></code> for Python syntax compliance.</p>
 <p>Changed at <code class="docutils literal notranslate"><span class="pre">0.8</span></code>: the <code class="docutils literal notranslate"><span class="pre">^</span></code> in output is by default of catcode 12
 so in a draft document one can use <code class="docutils literal notranslate"><span class="pre">\PolToExpr{P}</span></code> inside the
@@ -966,7 +963,8 @@
 package macros, used with argument <code class="docutils literal notranslate"><span class="pre">polname</span></code>.  Of course the
 <em>expression</em> can make use of previously defined polynomials.</p>
 <p>Polynomial names must start with a letter and are constituted of
-letters, digits, underscores and the right tick <code class="docutils literal notranslate"><span class="pre">'</span></code>.</p>
+letters, digits, underscores, the <code class="docutils literal notranslate"><span class="pre">@</span></code> (see <a class="reference internal" href="#technicalities">Technicalities</a>) and
+the right tick <code class="docutils literal notranslate"><span class="pre">'</span></code>.</p>
 <p>The whole <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> syntax is authorized, as long as the final
 result is of polynomial type:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\poldef</span> polname(z) := add((-1)<span class="nb">^</span>i z<span class="nb">^</span>(2i+1)/(2i+1)!, i = 0..10);
@@ -983,16 +981,16 @@
 and also other polynomials (via their names, thanks to previous
 item).</p></li>
 </ul>
-<p>Notice that any function defined via <code class="docutils literal notranslate"><span class="pre">\xintdeffunc</span></code> and using
-only algebraic operations (and ople indexing or slicing operations)
-should work fine in <code class="docutils literal notranslate"><span class="pre">\xintexpr/\xinteval</span></code> with such polynomial
-names as argument.</p>
-<p>In the case of a constant polynomial, the <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> variable (not the
-internal data structure on which the package macros operate)
+<p>Any function defined via <code class="docutils literal notranslate"><span class="pre">\xintdeffunc</span></code> and only algebraic
+operations, as well as ople indexing or slicing operations, should
+work fine in <code class="docutils literal notranslate"><span class="pre">\xintexpr/\xinteval</span></code> with such polynomial names as
+argument.</p>
+<p>In the case of a constant polynomial, the <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> <em>variable</em> (not
+the internal data structure on which the package macros operate)
 associated to it is indistinguishable from a scalar, it is actually
 a scalar and has lost all traces from its origins as a polynomial
-(so for example can be used as argument to the <code class="docutils literal notranslate"><span class="pre">cos()</span></code> function).</p>
-<p>The <em>function</em> on the other hand remains a one-argument function,
+(so for example can be used as argument to the <code class="docutils literal notranslate"><span class="pre">cos()</span></code> function).
+The <em>function</em> on the other hand remains a one-argument function,
 which simply has a constant value.</p>
 <div class="admonition attention">
 <p class="admonition-title">Attention</p>
@@ -1001,7 +999,7 @@
 context.  It will be unknown to <code class="docutils literal notranslate"><span class="pre">\xintfloateval</span></code>.</p>
 <p>Worse, a
 previously existing floating point function of the same name will
-be let undefined again, to avoid hard to debug mismatches between
+be made undefined again, to avoid hard to debug mismatches between
 exact and floating point polynomials. This also applies when the
 polynomial is produced not via <code class="docutils literal notranslate"><span class="pre">\poldef</span></code> or <code class="docutils literal notranslate"><span class="pre">\PolDef</span></code> but
 as result of usage of the other package macros.</p>
@@ -1058,8 +1056,8 @@
 </div></blockquote>
 </section>
 <section id="poltypeset">
-<span id="id7"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolTypeset{}</span></code></h3>
-<p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolTypeset{<pol.</span> <span class="pre">expr.>}</span></code></p>
+<span id="id7"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolTypeset[]{}</span></code></h3>
+<p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolTypeset[<letter>]{<pol.</span> <span class="pre">expr.>}</span></code></p>
 <blockquote>
 <div><p>Typesets in descending powers, switching to math mode if in text
 mode, after evaluating the polynomial expression:</p>
@@ -1066,10 +1064,10 @@
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\PolTypeset</span><span class="nb">{</span>mul(x-i,i=1..5)<span class="nb">}</span><span class="c">% possible since polexpr 0.8</span>
 </pre></div>
 </div>
-<p>The letter used in the input expression is by default <code class="docutils literal notranslate"><span class="pre">x</span></code>,
-but can be modified by a redefinition of <a class="reference internal" href="#id67">\PolToExprInVar</a>.</p>
-<p>It uses also by default the letter <code class="docutils literal notranslate"><span class="pre">x</span></code> on output but this one can
-be changed via an optional argument:</p>
+<p>The letter used in the input is by default assumed to be <code class="docutils literal notranslate"><span class="pre">x</span></code>,
+but can be modified by a redefinition of <a class="reference internal" href="#id68">\PolToExprInVar</a>.</p>
+<p>The letter used in the output is also by default <code class="docutils literal notranslate"><span class="pre">x</span></code>.  This one
+can be changed on-the-fly via the optional <code class="docutils literal notranslate"><span class="pre"><letter></span></code>:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\PolTypeset</span><span class="na">[z]</span><span class="nb">{</span>polname or polynomial expression<span class="nb">}</span>
 </pre></div>
 </div>
@@ -1148,18 +1146,19 @@
 </section>
 </section>
 <section id="id13">
-<span id="id14"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolTypeset*{}</span></code></h3>
-<p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolTypeset*{<pol.</span> <span class="pre">expr.>}</span></code></p>
+<span id="id14"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolTypeset*[]{}</span></code></h3>
+<p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolTypeset*[<letter>]{<pol.</span> <span class="pre">expr.>}</span></code></p>
 <blockquote>
-<div><p>Typesets in ascending powers. Use <code class="docutils literal notranslate"><span class="pre">[<letter>]</span></code> optional argument
-(after the <code class="docutils literal notranslate"><span class="pre">*</span></code>) to use another letter than <code class="docutils literal notranslate"><span class="pre">x</span></code>.</p>
+<div><p>Typesets in ascending powers. The <code class="docutils literal notranslate"><span class="pre"><letter></span></code> optional argument
+(after the <code class="docutils literal notranslate"><span class="pre">*</span></code>) declares the letter to use in the <em>output</em>.
+As for <a class="reference external" href="PolTypeset">\PolTypeset</a>, it defaults to <code class="docutils literal notranslate"><span class="pre">x</span></code>.</p>
+<p>To modify the expected <code class="docutils literal notranslate"><span class="pre">x</span></code> in the <em>input</em>, see <a class="reference internal" href="#id68">\PolToExprInVar</a>.</p>
 <p>Extended at <code class="docutils literal notranslate"><span class="pre">0.8</span></code> to accept general expressions and not only
-polynomial names.  Redefine <a class="reference internal" href="#id67">\PolToExprInVar</a> to use in the
-expression another letter than default <code class="docutils literal notranslate"><span class="pre">x</span></code>.</p>
+polynomial names.</p>
 </div></blockquote>
 </section>
 <section id="pollet">
-<span id="id15"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolLet{}={}</span></code></h3>
+<span id="id16"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolLet{}={}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolLet{<polname_2>}={<polname_1>}</span></code></p>
 <blockquote>
 <div><p>Makes a copy of the already defined polynomial <code class="docutils literal notranslate"><span class="pre">polname_1</span></code> to a
@@ -1170,7 +1169,7 @@
 </div></blockquote>
 </section>
 <section id="polgloballet">
-<span id="id16"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolGlobalLet{}={}</span></code></h3>
+<span id="id17"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolGlobalLet{}={}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolGlobalLet{<polname_2>}={<polname_1>}</span></code></p>
 <blockquote>
 <div><p>Acts globally.</p>
@@ -1212,7 +1211,7 @@
 </div></blockquote>
 </section>
 <section id="polfromcsv">
-<span id="id17"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolFromCSV{}{}</span></code></h3>
+<span id="id18"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolFromCSV{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolFromCSV{<polname>}{<csv>}</span></code></p>
 <blockquote>
 <div><p>Defines a polynomial directly from the comma separated list of values
@@ -1230,7 +1229,7 @@
 </div></blockquote>
 </section>
 <section id="polmapcoeffs">
-<span id="id18"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolMapCoeffs{}{}</span></code></h3>
+<span id="id19"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolMapCoeffs{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolMapCoeffs{\macro}{<polname>}</span></code></p>
 <blockquote>
 <div><p>It modifies (‘in-place’: original coefficients get lost) each
@@ -1251,7 +1250,7 @@
 </div></blockquote>
 </section>
 <section id="polreducecoeffs">
-<span id="id19"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolReduceCoeffs{}</span></code></h3>
+<span id="id20"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolReduceCoeffs{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolReduceCoeffs{<polname>}</span></code></p>
 <blockquote>
 <div><p>Reduces the internal representations of the coefficients to
@@ -1258,8 +1257,8 @@
 their lowest terms.</p>
 </div></blockquote>
 </section>
-<section id="id20">
-<span id="id21"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolReduceCoeffs*{}</span></code></h3>
+<section id="id21">
+<span id="id22"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolReduceCoeffs*{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolReduceCoeffs*{<polname>}</span></code></p>
 <blockquote>
 <div><p>Reduces the internal representations of the coefficients to their
@@ -1275,11 +1274,11 @@
 </div></blockquote>
 </section>
 <section id="polmakemonic">
-<span id="id22"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolMakeMonic{}</span></code></h3>
+<span id="id23"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolMakeMonic{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolMakeMonic{<polname>}</span></code></p>
 <blockquote>
 <div><p>Divides by the leading coefficient. It is recommended to execute
-<a class="reference internal" href="#id20"><span class="std std-ref">\PolReduceCoeffs*{<polname>}</span></a> immediately afterwards. This is not
+<a class="reference internal" href="#id21"><span class="std std-ref">\PolReduceCoeffs*{<polname>}</span></a> immediately afterwards. This is not
 done automatically, in case the original polynomial had integer
 coefficients and the user wants to keep the leading one as common
 denominator for typesetting purposes.</p>
@@ -1286,7 +1285,7 @@
 </div></blockquote>
 </section>
 <section id="polmakeprimitive">
-<span id="id23"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolMakePrimitive{}</span></code></h3>
+<span id="id24"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolMakePrimitive{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolMakePrimitive{<polname>}</span></code></p>
 <blockquote>
 <div><p>Divides by the integer content see (<a class="reference internal" href="#policontent">\PolIContent</a>).
@@ -1296,7 +1295,7 @@
 </div></blockquote>
 </section>
 <section id="poldiff">
-<span id="id24"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolDiff{}{}</span></code></h3>
+<span id="id25"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolDiff{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolDiff{<polname_1>}{<polname_2>}</span></code></p>
 <blockquote>
 <div><p>This sets <code class="docutils literal notranslate"><span class="pre">polname_2</span></code> to the first derivative of <code class="docutils literal notranslate"><span class="pre">polname_1</span></code>. It
@@ -1306,8 +1305,8 @@
 (see <a class="reference internal" href="#technicalities">Technicalities</a> for the whole story.)</p>
 </div></blockquote>
 </section>
-<section id="id25">
-<span id="id26"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolDiff[]{}{}</span></code></h3>
+<section id="id26">
+<span id="id27"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolDiff[]{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolDiff[N]{<polname_1>}{<polname_2>}</span></code></p>
 <blockquote>
 <div><p>This sets <code class="docutils literal notranslate"><span class="pre">polname_2</span></code> to the <code class="docutils literal notranslate"><span class="pre">N</span></code>-th derivative of <code class="docutils literal notranslate"><span class="pre">polname_1</span></code>.
@@ -1317,7 +1316,7 @@
 </div></blockquote>
 </section>
 <section id="polantidiff">
-<span id="id27"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolAntiDiff{}{}</span></code></h3>
+<span id="id28"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolAntiDiff{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolAntiDiff{<polname_1>}{<polname_2>}</span></code></p>
 <blockquote>
 <div><p>This sets <code class="docutils literal notranslate"><span class="pre">polname_2</span></code> to the primitive of <code class="docutils literal notranslate"><span class="pre">polname_1</span></code> vanishing
@@ -1326,8 +1325,8 @@
 (see <a class="reference internal" href="#technicalities">Technicalities</a> for the whole story.)</p>
 </div></blockquote>
 </section>
-<section id="id28">
-<span id="id29"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolAntiDiff[]{}{}</span></code></h3>
+<section id="id29">
+<span id="id30"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolAntiDiff[]{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolAntiDiff[N]{<polname_1>}{<polname_2>}</span></code></p>
 <blockquote>
 <div><p>This sets <code class="docutils literal notranslate"><span class="pre">polname_2</span></code> to the result of <code class="docutils literal notranslate"><span class="pre">N</span></code> successive integrations on
@@ -1335,7 +1334,7 @@
 </div></blockquote>
 </section>
 <section id="poldivide">
-<span id="id30"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolDivide{}{}{}{}</span></code></h3>
+<span id="id31"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolDivide{}{}{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolDivide{<polname_1>}{<polname_2>}{<polname_Q>}{<polname_R>}</span></code></p>
 <blockquote>
 <div><p>This sets <code class="docutils literal notranslate"><span class="pre">polname_Q</span></code> and <code class="docutils literal notranslate"><span class="pre">polname_R</span></code> to be the quotient and
@@ -1344,7 +1343,7 @@
 </div></blockquote>
 </section>
 <section id="polquo">
-<span id="id31"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolQuo{}{}{}</span></code></h3>
+<span id="id32"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolQuo{}{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolQuo{<polname_1>}{<polname_2>}{<polname_Q>}</span></code></p>
 <blockquote>
 <div><p>This sets <code class="docutils literal notranslate"><span class="pre">polname_Q</span></code> to be the quotient in the Euclidean division
@@ -1352,7 +1351,7 @@
 </div></blockquote>
 </section>
 <section id="polrem">
-<span id="id32"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolRem{}{}{}</span></code></h3>
+<span id="id33"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolRem{}{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolRem{<polname_1>}{<polname_2>}{<polname_R>}</span></code></p>
 <blockquote>
 <div><p>This sets <code class="docutils literal notranslate"><span class="pre">polname_R</span></code> to be the remainder in the Euclidean division
@@ -1360,7 +1359,7 @@
 </div></blockquote>
 </section>
 <section id="polgcd">
-<span id="id33"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolGCD{}{}{}</span></code></h3>
+<span id="id34"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolGCD{}{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolGCD{<polname_1>}{<polname_2>}{<polname_GCD>}</span></code></p>
 <blockquote>
 <div><p>This sets <code class="docutils literal notranslate"><span class="pre">polname_GCD</span></code> to be the (monic) GCD of <code class="docutils literal notranslate"><span class="pre">polname_1</span></code>
@@ -1377,7 +1376,7 @@
 prefix, it is advisable to keep the <code class="docutils literal notranslate"><span class="pre"><sturmname></span></code> namespace separate from
 the one applying to <code class="docutils literal notranslate"><span class="pre">\xintexpr</span></code> variables generally, or to polynomials.</p>
 <section id="poltosturm">
-<span id="id34"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToSturm{}{}</span></code></h4>
+<span id="id35"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToSturm{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToSturm{<polname>}{<sturmname>}</span></code></p>
 <blockquote>
 <div><p>With <code class="docutils literal notranslate"><span class="pre"><polname></span></code> being for example <code class="docutils literal notranslate"><span class="pre">P</span></code>, and <code class="docutils literal notranslate"><span class="pre"><sturmname></span></code> being
@@ -1433,15 +1432,18 @@
 latter will behave erroneously.</p>
 <div class="admonition note">
 <p class="admonition-title">Note</p>
-<p>The declaration of the <code class="docutils literal notranslate"><span class="pre">S_k</span></code>‘s will overwrite
-with no warning previously declared polynomials with identical
-names <code class="docutils literal notranslate"><span class="pre">S_k</span></code>.  This is original reason why the macro expects two
-names: <code class="docutils literal notranslate"><span class="pre"><polname></span></code> and <code class="docutils literal notranslate"><span class="pre"><sturmname></span></code>.</p>
+<p>The declaration of the <code class="docutils literal notranslate"><span class="pre">S_k</span></code>‘s will overwrite with no warning
+previously declared polynomials with identical names <code class="docutils literal notranslate"><span class="pre">S_k</span></code>,
+i.e. <code class="docutils literal notranslate"><span class="pre"><sturmname>_k</span></code>.  This is why the macro was designed
+to expect two names: <code class="docutils literal notranslate"><span class="pre"><polname></span></code> and <code class="docutils literal notranslate"><span class="pre"><sturmname></span></code>.</p>
 <p>It is allowed to use the polynomial name <code class="docutils literal notranslate"><span class="pre">P</span></code> as Sturm chain
-name <code class="docutils literal notranslate"><span class="pre">S</span></code>: <code class="docutils literal notranslate"><span class="pre">\PolToSturm{f}(f}</span></code>, but of course fusing the
-namespaces is slightly dangerous.  And, also <a class="reference internal" href="#polsturmisolatezeros">\PolSturmIsolateZeros</a> creates variables sharing
-the <code class="docutils literal notranslate"><span class="pre"><sturmname></span></code> prefix, which must be taken into account to
-avoid name clashes.</p>
+name <code class="docutils literal notranslate"><span class="pre">S</span></code>: <code class="docutils literal notranslate"><span class="pre">\PolToSturm{P}{P}</span></code>, but this is considered bad
+practice for the reason mentioned in the previous paragraph.</p>
+<p>Furthermore, <a class="reference internal" href="#polsturmisolatezeros">\PolSturmIsolateZeros</a>
+creates <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> variables whose names start with
+<code class="docutils literal notranslate"><span class="pre"><sturmname>L_</span></code>, <code class="docutils literal notranslate"><span class="pre"><sturmname>R_</span></code>, and <code class="docutils literal notranslate"><span class="pre"><sturmname>Z_</span></code>, also
+<code class="docutils literal notranslate"><span class="pre"><sturmname>M_</span></code> for holding the multiplicities, and this may
+overwrite pre-existing user-defined <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> variables.</p>
 </div>
 <div class="admonition warning">
 <p class="admonition-title">Warning</p>
@@ -1462,8 +1464,8 @@
 most the degree of <code class="docutils literal notranslate"><span class="pre">S_0</span></code>.</p>
 </div></blockquote>
 </section>
-<section id="id35">
-<span id="id36"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToSturm*{}{}</span></code></h4>
+<section id="id36">
+<span id="id37"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToSturm*{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToSturm*{<polname>}{<sturmname>}</span></code></p>
 <blockquote>
 <div><p>Does the same as <a class="reference internal" href="#poltosturm">un-starred version</a> and additionally it
@@ -1474,7 +1476,7 @@
 </div></blockquote>
 </section>
 <section id="polsturmisolatezeros">
-<span id="id37"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros{}</span></code></h4>
+<span id="id38"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros{<sturmname>}</span></code></p>
 <blockquote>
 <div><p>The macro locates, using the <a class="reference external" href="https://en.wikipedia.org/wiki/Sturm%27s_theorem">Sturm Theorem</a>, as many disjoint
@@ -1574,8 +1576,8 @@
 </div>
 </div></blockquote>
 </section>
-<section id="id38">
-<span id="id39"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros*{}</span></code></h4>
+<section id="id39">
+<span id="id40"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros*{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros*{<sturmname>}</span></code></p>
 <blockquote>
 <div><p>The macro does the same as <a class="reference internal" href="#polsturmisolatezeros"><span class="std std-ref">\PolSturmIsolateZeros{<sturmname>}</span></a> and
@@ -1592,7 +1594,7 @@
 <div class="admonition note">
 <p class="admonition-title">Note</p>
 <p>Somewhat counter-intuitively, it is not necessary to have
-executed the <a class="reference internal" href="#id35"><span class="std std-ref">\PolToSturm*</span></a>
+executed the <a class="reference internal" href="#id36"><span class="std std-ref">\PolToSturm*</span></a>
 starred variant: during its
 execution, <a class="reference internal" href="#poltosturm"><span class="std std-ref">\PolToSturm</span></a>,
 even though it does not declare the
@@ -1603,18 +1605,18 @@
 <span class="pre">roots</span></code> example in <code class="docutils literal notranslate"><span class="pre">polexpr-examples.pdf</span></code>.</p>
 </div></blockquote>
 <section id="polsturmisolatezerosandgetmultiplicities">
-<span id="id40"></span><h5><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosAndGetMultiplicities{}</span></code></h5>
+<span id="id41"></span><h5><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosAndGetMultiplicities{}</span></code></h5>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosAndGetMultiplicities{<sturmname>}</span></code></p>
 <blockquote>
-<div><p>This is another name for <a class="reference internal" href="#id38"><span class="std std-ref">\PolSturmIsolateZeros*{<sturmname>}</span></a>.</p>
+<div><p>This is another name for <a class="reference internal" href="#id39"><span class="std std-ref">\PolSturmIsolateZeros*{<sturmname>}</span></a>.</p>
 </div></blockquote>
 </section>
 </section>
-<section id="id41">
-<span id="id42"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros**{}</span></code></h4>
+<section id="id42">
+<span id="id43"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros**{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros**{<sturmname>}</span></code></p>
 <blockquote>
-<div><p>The macro does the same as <a class="reference internal" href="#id38"><span class="std std-ref">\PolSturmIsolateZeros*{<sturmname>}</span></a> and
+<div><p>The macro does the same as <a class="reference internal" href="#id39"><span class="std std-ref">\PolSturmIsolateZeros*{<sturmname>}</span></a> and
 in addition it does the extra work to determine all the <em>rational</em>
 roots.</p>
 <div class="admonition note">
@@ -1634,18 +1636,18 @@
 <span class="pre">roots</span></code> in <code class="docutils literal notranslate"><span class="pre">polexpr-examples.pdf</span></code>.</p>
 </div></blockquote>
 <section id="polsturmisolatezerosgetmultiplicitiesandrationalroots">
-<span id="id43"></span><h5><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosGetMultiplicitiesAndRationalRoots</span></code></h5>
+<span id="id44"></span><h5><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosGetMultiplicitiesAndRationalRoots</span></code></h5>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosGetMultiplicitiesAndRationalRoots</span></code></p>
 <blockquote>
-<div><p>This is another name for <a class="reference internal" href="#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a>.</p>
+<div><p>This is another name for <a class="reference internal" href="#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a>.</p>
 </div></blockquote>
 </section>
 </section>
 <section id="polsturmisolatezerosandfindrationalroots">
-<span id="id44"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosAndFindRationalRoots{}</span></code></h4>
+<span id="id45"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosAndFindRationalRoots{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosAndFindRationalRoots{<sturmname>}</span></code></p>
 <blockquote>
-<div><p>This works exactly like <a class="reference internal" href="#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a>
+<div><p>This works exactly like <a class="reference internal" href="#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a>
 (inclusive of declaring the polynomials <code class="docutils literal notranslate"><span class="pre">sturmname_sqf_norr</span></code> and
 <code class="docutils literal notranslate"><span class="pre">sturmname_norr</span></code> with no rational roots) except that it does <em>not</em>
 compute the multiplicities of the <em>non-rational</em> roots.</p>
@@ -1662,7 +1664,7 @@
 is <a class="reference internal" href="#polsturmisolatedzeromultiplicity"><span class="std std-ref">\PolSturmIsolatedZeroMultiplicity{<sturmname>}{<index>}</span></a>) into
 a broken state, as all non-rational roots will supposedly have
 multiplicity one. This means that the output of
-<a class="reference internal" href="#id61">\PolPrintIntervals*</a> will be
+<a class="reference internal" href="#id62">\PolPrintIntervals*</a> will be
 erroneous regarding the multiplicities of irrational roots.</p>
 <p>I decided to document it because finding multiplicities of the
 non rational roots is somewhat costly, and one may be interested
@@ -1673,7 +1675,7 @@
 </div></blockquote>
 </section>
 <section id="polrefineinterval">
-<span id="id45"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolRefineInterval*{}{}</span></code></h4>
+<span id="id46"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolRefineInterval*{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolRefineInterval*{<sturmname>}{<index>}</span></code></p>
 <blockquote>
 <div><p>The <code class="docutils literal notranslate"><span class="pre">index</span></code>-th interval (starting indexing at one) is further
@@ -1683,8 +1685,8 @@
 strictly separated from the other roots.</p>
 </div></blockquote>
 </section>
-<section id="id46">
-<span id="id47"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolRefineInterval[]{}{}</span></code></h4>
+<section id="id47">
+<span id="id48"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolRefineInterval[]{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolRefineInterval[N]{<sturmname>}{<index>}</span></code></p>
 <blockquote>
 <div><p>The <code class="docutils literal notranslate"><span class="pre">index</span></code>-th interval (starting count at one) is further
@@ -1693,7 +1695,7 @@
 </div></blockquote>
 </section>
 <section id="polensureintervallength">
-<span id="id48"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolEnsureIntervalLength{}{}{}</span></code></h4>
+<span id="id49"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolEnsureIntervalLength{}{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolEnsureIntervalLength{<sturmname>}{<index>}{<exponent>}</span></code></p>
 <blockquote>
 <div><p>The <code class="docutils literal notranslate"><span class="pre">index</span></code>-th interval is subdivided until its length becomes at
@@ -1702,7 +1704,7 @@
 </div></blockquote>
 </section>
 <section id="polensureintervallengths">
-<span id="id49"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolEnsureIntervalLengths{}{}</span></code></h4>
+<span id="id50"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolEnsureIntervalLengths{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolEnsureIntervalLengths{<sturmname>}{<exponent>}</span></code></p>
 <blockquote>
 <div><p>The intervals as obtained from <code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros</span></code> are (if
@@ -1713,7 +1715,7 @@
 </div></blockquote>
 </section>
 <section id="polsettosturmchainsignchangesat">
-<span id="id50"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSetToSturmChainSignChangesAt{}{}{}</span></code></h4>
+<span id="id51"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSetToSturmChainSignChangesAt{}{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSetToSturmChainSignChangesAt{\foo}{<sturmname>}{<value>}</span></code></p>
 <blockquote>
 <div><p>Sets macro <code class="docutils literal notranslate"><span class="pre">\foo</span></code> to store the number of sign changes in the
@@ -1726,7 +1728,7 @@
 </div></blockquote>
 </section>
 <section id="polsettonbofzeroswithin">
-<span id="id51"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSetToNbOfZerosWithin{}{}{}{}</span></code></h4>
+<span id="id52"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSetToNbOfZerosWithin{}{}{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSetToNbOfZerosWithin{\foo}{<sturmname>}{<value_left>}{<value_right>}</span></code></p>
 <blockquote>
 <div><p>Sets, assuming the normalized Sturm chain has been already computed,
@@ -1746,7 +1748,7 @@
 <p>See also the expandable
 <a class="reference internal" href="#polsturmnbwithmultofrootsoflessthanorequalto"><span class="std std-ref">\PolSturmNbWithMultOfRootsOf{<sturmname>}\LessThanOrEqualTo{value}</span></a>
 which requires prior execution of
-<a class="reference internal" href="#id38">\PolSturmIsolateZeros*</a>.</p>
+<a class="reference internal" href="#id39">\PolSturmIsolateZeros*</a>.</p>
 </div></blockquote>
 </section>
 </section>
@@ -1773,7 +1775,7 @@
 <p>The next macros which govern its output.</p>
 </div></blockquote>
 <section id="polprintintervalsnorealroots">
-<span id="id52"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsNoRealRoots</span></code></h4>
+<span id="id53"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsNoRealRoots</span></code></h4>
 <blockquote>
 <div><p>Executed in place of an <code class="docutils literal notranslate"><span class="pre">array</span></code> environment, when there are no
 real roots. Default definition:</p>
@@ -1783,7 +1785,7 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalsbeginenv">
-<span id="id53"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsBeginEnv</span></code></h4>
+<span id="id54"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsBeginEnv</span></code></h4>
 <blockquote>
 <div><p>Default definition (given here for LaTeX, Plain has a variant):</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\newcommand\PolPrintIntervalsBeginEnv</span><span class="nb">{</span><span class="sb">\[</span><span class="nv">\begin</span><span class="nb">{array}{rcccl}}</span>
@@ -1791,14 +1793,14 @@
 </div>
 <p>A simpler <code class="docutils literal notranslate"><span class="pre">center</span></code> environment provides a straightforward way to
 obtain a display allowing pagebreaks. Of course redefinitions must
-at any rate be kept in sync with <a class="reference internal" href="#id56">\PolPrintIntervalsKnownRoot</a> and
-<a class="reference internal" href="#id57">\PolPrintIntervalsUnknownRoot</a>.</p>
+at any rate be kept in sync with <a class="reference internal" href="#id57">\PolPrintIntervalsKnownRoot</a> and
+<a class="reference internal" href="#id58">\PolPrintIntervalsUnknownRoot</a>.</p>
 <p>Prior to <code class="docutils literal notranslate"><span class="pre">0.8.6</span></code> it was not possible to use here for example
 <code class="docutils literal notranslate"><span class="pre">\begin{align}</span></code> due to the latter executing twice in contents.</p>
 </div></blockquote>
 </section>
 <section id="polprintintervalsendenv">
-<span id="id54"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsEndEnv</span></code></h4>
+<span id="id55"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsEndEnv</span></code></h4>
 <blockquote>
 <div><p>Default definition:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\newcommand\PolPrintIntervalsEndEnv</span><span class="nb">{</span><span class="k">\end</span><span class="nb">{</span>array<span class="nb">}</span><span class="k">\]</span><span class="nb">}</span>
@@ -1807,7 +1809,7 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalsrowseparator">
-<span id="id55"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsRowSeparator</span></code></h4>
+<span id="id56"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsRowSeparator</span></code></h4>
 <blockquote>
 <div><p>Expands by default to <code class="docutils literal notranslate"><span class="pre">\\</span></code> with LaTeX and to  <code class="docutils literal notranslate"><span class="pre">\cr</span></code> with Plain</p>
 <p>Added at <code class="docutils literal notranslate"><span class="pre">0.8.6</span></code>.</p>
@@ -1814,7 +1816,7 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalsknownroot">
-<span id="id56"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsKnownRoot</span></code></h4>
+<span id="id57"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsKnownRoot</span></code></h4>
 <blockquote>
 <div><p>Default definition:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\newcommand\PolPrintIntervalsKnownRoot</span><span class="nb">{</span><span class="c">%</span>
@@ -1826,7 +1828,7 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalsunknownroot">
-<span id="id57"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsUnknownRoot</span></code></h4>
+<span id="id58"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsUnknownRoot</span></code></h4>
 <blockquote>
 <div><p>Default definition:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\newcommand\PolPrintIntervalsUnknownRoot</span><span class="nb">{</span><span class="c">%</span>
@@ -1839,7 +1841,7 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalsprintexactzero">
-<span id="id58"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsPrintExactZero</span></code></h4>
+<span id="id59"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsPrintExactZero</span></code></h4>
 <blockquote>
 <div><p>Default definition:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\newcommand\PolPrintIntervalsPrintExactZero</span><span class="nb">{</span><span class="k">\PolPrintIntervalsTheLeftEndPoint</span><span class="nb">}</span>
@@ -1848,7 +1850,7 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalsprintleftendpoint">
-<span id="id59"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsPrintLeftEndPoint</span></code></h4>
+<span id="id60"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsPrintLeftEndPoint</span></code></h4>
 <blockquote>
 <div><p>Default definition:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\newcommand\PolPrintIntervalsPrintLeftEndPoint</span><span class="nb">{</span><span class="k">\PolPrintIntervalsTheLeftEndPoint</span><span class="nb">}</span>
@@ -1857,7 +1859,7 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalsprintrightendpoint">
-<span id="id60"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsPrintRightEndPoint</span></code></h4>
+<span id="id61"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsPrintRightEndPoint</span></code></h4>
 <blockquote>
 <div><p>Default definition is:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\newcommand\PolPrintIntervalsPrintRightEndPoint</span><span class="nb">{</span><span class="k">\PolPrintIntervalsTheRightEndPoint</span><span class="nb">}</span>
@@ -1866,15 +1868,15 @@
 </div></blockquote>
 </section>
 <section id="polprintintervals-varname">
-<span id="id61"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervals*[<varname>]{}</span></code></h4>
+<span id="id62"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervals*[<varname>]{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolPrintIntervals*[<varname>]{<sturmname>}</span></code></p>
 <blockquote>
 <div><p>This starred variant produces an alternative output (which
 displays the root multiplicity), and is provided as an
 example of customization.</p>
-<p>As replacement for <a class="reference internal" href="#id56">\PolPrintIntervalsKnownRoot</a>,
-<a class="reference internal" href="#id58">\PolPrintIntervalsPrintExactZero</a>,
-<a class="reference internal" href="#id57">\PolPrintIntervalsUnknownRoot</a> it uses its own
+<p>As replacement for <a class="reference internal" href="#id57">\PolPrintIntervalsKnownRoot</a>,
+<a class="reference internal" href="#id59">\PolPrintIntervalsPrintExactZero</a>,
+<a class="reference internal" href="#id58">\PolPrintIntervalsUnknownRoot</a> it uses its own
 <code class="docutils literal notranslate"><span class="pre">\POL@@PrintIntervals...</span></code> macros. We only reproduce here one
 definition:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\newcommand\POL</span>@@PrintIntervalsPrintExactZero<span class="nb">{</span><span class="c">%</span>
@@ -1886,7 +1888,7 @@
 <p>Multiplicities are printed using this auxiliary macro:</p>
 </div></blockquote>
 <section id="polprintintervalsprintmultiplicity">
-<span id="id62"></span><h5><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsPrintMultiplicity</span></code></h5>
+<span id="id63"></span><h5><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsPrintMultiplicity</span></code></h5>
 <blockquote>
 <div><p>whose default definition is:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\newcommand\PolPrintIntervalsPrintMultiplicity</span><span class="nb">{</span>(<span class="k">\mbox</span><span class="nb">{</span>mult. <span class="nb">}</span><span class="k">\PolPrintIntervalsTheMultiplicity</span>)<span class="nb">}</span>
@@ -1910,19 +1912,19 @@
 <code class="docutils literal notranslate"><span class="pre">\PolToFloatExpr</span></code> which need a <code class="docutils literal notranslate"><span class="pre">\write</span></code>, <code class="docutils literal notranslate"><span class="pre">\edef</span></code> or a
 <code class="docutils literal notranslate"><span class="pre">\csname...\endcsname</span></code> context.</p>
 <section id="poltoexpr">
-<span id="id63"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToExpr{}</span></code></h3>
+<span id="id64"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToExpr{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToExpr{<pol.</span> <span class="pre">expr.>}</span></code></p>
 <blockquote>
-<div><p>Produces expandably <a class="footnote-reference brackets" href="#id65" id="id64" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a> the string <code class="docutils literal notranslate"><span class="pre">coeff_N*x^N+...</span></code>, i.e. the
+<div><p>Produces expandably <a class="footnote-reference brackets" href="#id66" id="id65" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a> the string <code class="docutils literal notranslate"><span class="pre">coeff_N*x^N+...</span></code>, i.e. the
 polynomial is using descending powers.</p>
-<aside class="footnote brackets" id="id65" role="note">
-<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id64">3</a><span class="fn-bracket">]</span></span>
+<aside class="footnote brackets" id="id66" role="note">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id65">3</a><span class="fn-bracket">]</span></span>
 <p>requires exhaustive expansion, for example as triggered by
 <code class="docutils literal notranslate"><span class="pre">\write</span></code> or <code class="docutils literal notranslate"><span class="pre">\edef</span></code>.</p>
 </aside>
 <p>Since <code class="docutils literal notranslate"><span class="pre">0.8</span></code> the input is not restricted to be a polynomial name but
 is allowed to be an arbitrary expression.  Then <code class="docutils literal notranslate"><span class="pre">x</span></code> is expected as
-indeterminate but this can be customized via <a class="reference internal" href="#id67">\PolToExprInVar</a>.</p>
+indeterminate but this can be customized via <a class="reference internal" href="#id68">\PolToExprInVar</a>.</p>
 <p>The output uses the letter <code class="docutils literal notranslate"><span class="pre">x</span></code> by default, this is customizable
 via <a class="reference internal" href="#poltoexprvar">\PolToExprVar</a>.  The default output is compatible both with</p>
 <ul class="simple">
@@ -1930,7 +1932,7 @@
 <li><p>and the PSTricks <code class="docutils literal notranslate"><span class="pre">\psplot[algebraic]</span></code> input format.</p></li>
 </ul>
 <p>Attention that it is not compatible with Python, see further
-<a class="reference internal" href="#id69">\PolToExprCaret</a> in this context.</p>
+<a class="reference internal" href="#id70">\PolToExprCaret</a> in this context.</p>
 <p>The following applies:</p>
 <ul class="simple">
 <li><p>vanishing coefficients are skipped (issue <code class="docutils literal notranslate"><span class="pre">\poltoexpralltrue</span></code> to
@@ -1953,16 +1955,19 @@
 redefinition must maintain the expandability property.</p>
 </div></blockquote>
 <section id="poltoexprvar">
-<span id="id66"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprVar</span></code></h4>
+<span id="id67"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprVar</span></code></h4>
 <blockquote>
 <div><p>Defaults to <code class="docutils literal notranslate"><span class="pre">x</span></code>. The letter used in the macro output.</p>
 </div></blockquote>
 </section>
 <section id="poltoexprinvar">
-<span id="id67"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprInVar</span></code></h4>
+<span id="id68"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprInVar</span></code></h4>
 <blockquote>
 <div><p>Defaults to <code class="docutils literal notranslate"><span class="pre">x</span></code>: the letter used as the polynomial indeterminate
-in the macro input.</p>
+in the macro input:</p>
+<div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\def\PolToExprInVar</span><span class="nb">{</span>x<span class="nb">}</span><span class="c">% (default)</span>
+</pre></div>
+</div>
 <p>Recall that declared polynomials are more efficiently used in
 algebraic expressions without the <code class="docutils literal notranslate"><span class="pre">(x)</span></code>, i.e. <code class="docutils literal notranslate"><span class="pre">P*Q</span></code> is better
 than <code class="docutils literal notranslate"><span class="pre">P(x)*Q(x)</span></code>.  Thus the input, even if an expression, does not
@@ -1971,13 +1976,13 @@
 </div></blockquote>
 </section>
 <section id="poltoexprtimes">
-<span id="id68"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprTimes</span></code></h4>
+<span id="id69"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprTimes</span></code></h4>
 <blockquote>
 <div><p>Defaults to <code class="docutils literal notranslate"><span class="pre">*</span></code>.</p>
 </div></blockquote>
 </section>
 <section id="poltoexprcaret">
-<span id="id69"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprCaret</span></code></h4>
+<span id="id70"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprCaret</span></code></h4>
 <blockquote>
 <div><p>Defaults to <code class="docutils literal notranslate"><span class="pre">^</span></code> of catcode 12.  Set it to
 expand to  <code class="docutils literal notranslate"><span class="pre">**</span></code> for Python compatible output.</p>
@@ -1985,7 +1990,7 @@
 </div></blockquote>
 </section>
 <section id="poltoexprcmd">
-<span id="id70"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprCmd{}</span></code></h4>
+<span id="id71"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprCmd{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToExprCmd{<raw_coeff>}</span></code></p>
 <blockquote>
 <div><p>Defaults to <code class="docutils literal notranslate"><span class="pre">\xintPRaw{\xintRawWithZeros{#1}}</span></code>.</p>
@@ -2005,7 +2010,7 @@
 </div></blockquote>
 </section>
 <section id="poltoexproneterm">
-<span id="id71"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprOneTerm{}{}</span></code></h4>
+<span id="id72"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprOneTerm{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToExprOneTerm{<raw_coeff>}{<exponent>}</span></code></p>
 <blockquote>
 <div><p>This is the macro which from the coefficient and the exponent
@@ -2012,11 +2017,11 @@
 produces the corresponding term in output, such as <code class="docutils literal notranslate"><span class="pre">2/3*x^7</span></code>.</p>
 <p>For its default definition, see the source code.  It uses
 <a class="reference internal" href="#poltoexprcmd">\PolToExprCmd</a>, <a class="reference internal" href="#poltoexprtimes">\PolToExprTimes</a>, <a class="reference internal" href="#poltoexprvar">\PolToExprVar</a> and
-<a class="reference internal" href="#id69">\PolToExprCaret</a>.</p>
+<a class="reference internal" href="#id70">\PolToExprCaret</a>.</p>
 </div></blockquote>
 </section>
 <section id="poltoexpronetermstylea">
-<span id="id72"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprOneTermStyleA{}{}</span></code></h4>
+<span id="id73"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprOneTermStyleA{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToExprOneTermStyleA{<raw_coeff>}{<exponent>}</span></code></p>
 <blockquote>
 <div><p>This holds the default package meaning of <code class="docutils literal notranslate"><span class="pre">\PolToExprOneTerm</span></code>.</p>
@@ -2023,7 +2028,7 @@
 </div></blockquote>
 </section>
 <section id="poltoexpronetermstyleb">
-<span id="id73"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprOneTermStyleB{}{}</span></code></h4>
+<span id="id74"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprOneTermStyleB{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToExprOneTermStyleB{<raw_coeff>}{<exponent>}</span></code></p>
 <blockquote>
 <div><p>This holds an alternative meaning, which puts the fractional part of
@@ -2032,7 +2037,7 @@
 </pre></div>
 </div>
 <p><a class="reference internal" href="#poltoexprcmd">\PolToExprCmd</a> isn’t used at all in this style.  But
-<a class="reference internal" href="#poltoexprtimes">\PolToExprTimes</a>, <a class="reference internal" href="#poltoexprvar">\PolToExprVar</a> and <a class="reference internal" href="#id69">\PolToExprCaret</a> are obeyed.</p>
+<a class="reference internal" href="#poltoexprtimes">\PolToExprTimes</a>, <a class="reference internal" href="#poltoexprvar">\PolToExprVar</a> and <a class="reference internal" href="#id70">\PolToExprCaret</a> are obeyed.</p>
 <p>To activate it use <code class="docutils literal notranslate"><span class="pre">\let\PolToExprOneTerm\PolToExprOneTermStyleB</span></code>.
 To revert to the package default behaviour, issue
 <code class="docutils literal notranslate"><span class="pre">\let\PolToExprOneTerm\PolToExprOneTermStyleA</span></code>.</p>
@@ -2039,7 +2044,7 @@
 </div></blockquote>
 </section>
 <section id="poltoexprtermprefix">
-<span id="id74"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprTermPrefix{}</span></code></h4>
+<span id="id75"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToExprTermPrefix{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToExprTermPrefix{<raw_coeff>}</span></code></p>
 <blockquote>
 <div><p>It receives as argument the coefficient.  Its default behaviour is
@@ -2051,7 +2056,7 @@
 </section>
 </section>
 <section id="poltofloatexpr">
-<span id="id75"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToFloatExpr{}</span></code></h3>
+<span id="id76"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToFloatExpr{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToFloatExpr{<pol.</span> <span class="pre">expr.>}</span></code></p>
 <blockquote>
 <div><p>Similar to <a class="reference internal" href="#poltoexpr"><span class="std std-ref">\PolToExpr{<pol. expr.>}</span></a> but using
@@ -2069,7 +2074,7 @@
 <p>Extended at <code class="docutils literal notranslate"><span class="pre">0.8</span></code> to accept general expressions as input.</p>
 </div></blockquote>
 <section id="poltofloatexproneterm">
-<span id="id76"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToFloatExprOneTerm{}{}</span></code></h4>
+<span id="id77"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToFloatExprOneTerm{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToFloatExprOneTerm{<raw_coeff>}{<exponent>}</span></code></p>
 <blockquote>
 <div><p>Similar to <a class="reference internal" href="#poltoexproneterm"><span class="std std-ref">\PolToExprOneTerm{<raw_coeff>}{<exponent>}</span></a>. But does not treat
@@ -2077,7 +2082,7 @@
 </div></blockquote>
 </section>
 <section id="poltofloatexprcmd">
-<span id="id77"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToFloatExprCmd{}</span></code></h4>
+<span id="id78"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolToFloatExprCmd{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToFloatExprCmd{<raw_coeff>}</span></code></p>
 <blockquote>
 <div><p>The one-argument macro used by <code class="docutils literal notranslate"><span class="pre">\PolToFloatExprOneTerm</span></code>.
@@ -2087,8 +2092,8 @@
 </div></blockquote>
 </section>
 </section>
-<section id="id78">
-<span id="id79"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToExpr*{}</span></code></h3>
+<section id="id79">
+<span id="id80"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToExpr*{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToExpr*{<pol.</span> <span class="pre">expr.>}</span></code></p>
 <blockquote>
 <div><p>Ascending powers: <code class="docutils literal notranslate"><span class="pre">coeff_0+coeff_1*x+coeff_2*x^2+...</span></code>.</p>
@@ -2097,8 +2102,8 @@
 <a class="reference internal" href="#poltoexpr"><span class="std std-ref">\PolToExpr{<pol. expr.>}</span></a>.</p>
 </div></blockquote>
 </section>
-<section id="id80">
-<span id="id81"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToFloatExpr*{}</span></code></h3>
+<section id="id81">
+<span id="id82"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToFloatExpr*{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToFloatExpr*{<pol.</span> <span class="pre">expr.>}</span></code></p>
 <blockquote>
 <div><p>Ascending powers.</p>
@@ -2106,7 +2111,7 @@
 </div></blockquote>
 </section>
 <section id="polnthcoeff">
-<span id="id82"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolNthCoeff{}{}</span></code></h3>
+<span id="id83"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolNthCoeff{}{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolNthCoeff{<polname>}{<index>}</span></code></p>
 <blockquote>
 <div><p>It expands to the raw <code class="docutils literal notranslate"><span class="pre">N</span></code>-th coefficient (<code class="docutils literal notranslate"><span class="pre">N=0</span></code> corresponds to
@@ -2118,7 +2123,7 @@
 </div></blockquote>
 </section>
 <section id="polleadingcoeff">
-<span id="id83"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolLeadingCoeff{}</span></code></h3>
+<span id="id84"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolLeadingCoeff{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolLeadingCoeff{<polname>}</span></code></p>
 <blockquote>
 <div><p>Expands to the leading coefficient.</p>
@@ -2125,7 +2130,7 @@
 </div></blockquote>
 </section>
 <section id="poldegree">
-<span id="id84"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolDegree{}</span></code></h3>
+<span id="id85"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolDegree{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolDegree{<polname>}</span></code></p>
 <blockquote>
 <div><p>It expands to the degree. This is <code class="docutils literal notranslate"><span class="pre">-1</span></code> if zero polynomial but this
@@ -2133,7 +2138,7 @@
 </div></blockquote>
 </section>
 <section id="policontent">
-<span id="id85"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolIContent{}</span></code></h3>
+<span id="id86"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolIContent{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolIContent{<polname>}</span></code></p>
 <blockquote>
 <div><p>It expands to the contents of the polynomial, i.e. to the positive
@@ -2143,7 +2148,7 @@
 </div></blockquote>
 </section>
 <section id="poltolist">
-<span id="id86"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToList{}</span></code></h3>
+<span id="id87"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToList{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToList{<polname>}</span></code></p>
 <blockquote>
 <div><p>Expands to <code class="docutils literal notranslate"><span class="pre">{coeff_0}{coeff_1}...{coeff_N}</span></code> with <code class="docutils literal notranslate"><span class="pre">N</span></code> = degree, and
@@ -2153,7 +2158,7 @@
 </div></blockquote>
 </section>
 <section id="poltocsv">
-<span id="id87"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToCSV{}</span></code></h3>
+<span id="id88"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolToCSV{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolToCSV{<polname>}</span></code></p>
 <blockquote>
 <div><p>Expands to <code class="docutils literal notranslate"><span class="pre">coeff_0,</span> <span class="pre">coeff_1,</span> <span class="pre">coeff_2,</span> <span class="pre">.....,</span> <span class="pre">coeff_N</span></code>, starting
@@ -2205,12 +2210,12 @@
 </div>
 <p>To use the <em>exact coefficients</em> with <em>exactly executed</em> additions
 and multiplications and do the rounding only as the final last step,
-the following syntax can be used: <a class="footnote-reference brackets" href="#id89" id="id88" role="doc-noteref"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></a></p>
+the following syntax can be used: <a class="footnote-reference brackets" href="#id90" id="id89" role="doc-noteref"><span class="fn-bracket">[</span>4<span class="fn-bracket">]</span></a></p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\xintfloateval</span><span class="nb">{</span>3.27*<span class="k">\xintexpr</span> f(2.53)<span class="k">\relax</span><span class="nb">^</span>2<span class="nb">}</span>
 </pre></div>
 </div>
-<aside class="footnote brackets" id="id89" role="note">
-<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id88">4</a><span class="fn-bracket">]</span></span>
+<aside class="footnote brackets" id="id90" role="note">
+<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id89">4</a><span class="fn-bracket">]</span></span>
 <p>Cf. <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> documentation about nested expressions.</p>
 </aside>
 </div></blockquote>
@@ -2226,7 +2231,7 @@
 <section id="expandable-macros-in-relation-to-root-localization-via-sturm-theorem">
 <h3>Expandable macros in relation to root localization via <a class="reference external" href="https://en.wikipedia.org/wiki/Sturm%27s_theorem">Sturm Theorem</a></h3>
 <section id="polsturmchainlength">
-<span id="id90"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmChainLength{}</span></code></h4>
+<span id="id91"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmChainLength{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmChainLength{<sturmname>}</span></code></p>
 <blockquote>
 <div><p>Returns the integer <code class="docutils literal notranslate"><span class="pre">N</span></code> such that <code class="docutils literal notranslate"><span class="pre">sturmname_N</span></code> is the last one
@@ -2235,7 +2240,7 @@
 </div></blockquote>
 </section>
 <section id="polsturmifzeroexactlyknown">
-<span id="id91"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIfZeroExactlyKnown{}{}{}{}</span></code></h4>
+<span id="id92"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIfZeroExactlyKnown{}{}{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmIfZeroExactlyKnown{<sturmname>}{<index>}{T}{F}</span></code></p>
 <blockquote>
 <div><p>Executes <code class="docutils literal notranslate"><span class="pre">T</span></code> if the <code class="docutils literal notranslate"><span class="pre">index</span></code>-th interval reduces to a singleton,
@@ -2243,7 +2248,7 @@
 </div></blockquote>
 </section>
 <section id="polsturmisolatedzeroleft">
-<span id="id92"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolatedZeroLeft{}{}</span></code></h4>
+<span id="id93"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolatedZeroLeft{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmIsolatedZeroLeft{<sturmname>}{<index>}</span></code></p>
 <blockquote>
 <div><p>Expands to the left end-point for the <code class="docutils literal notranslate"><span class="pre">index</span></code>-th interval, as
@@ -2251,7 +2256,7 @@
 <div class="admonition note">
 <p class="admonition-title">Note</p>
 <p>Execution of this macro after some
-<a class="reference internal" href="#id46">\PolRefineInterval{<sturmname>}{<index>}</a>
+<a class="reference internal" href="#id47">\PolRefineInterval{<sturmname>}{<index>}</a>
 will take into account the now known tighter bounds.</p>
 </div>
 <p>The value is pre-formatted using <a class="reference internal" href="#poldectostring">\PolDecTostring</a>.</p>
@@ -2258,7 +2263,7 @@
 </div></blockquote>
 </section>
 <section id="polsturmisolatedzeroright">
-<span id="id93"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolatedZeroRight{}{}</span></code></h4>
+<span id="id94"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolatedZeroRight{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmIsolatedZeroRight{<sturmname>}{<index>}</span></code></p>
 <blockquote>
 <div><p>Expands to the right end-point for the <code class="docutils literal notranslate"><span class="pre">index</span></code>-th interval as
@@ -2268,7 +2273,7 @@
 </div></blockquote>
 </section>
 <section id="polsturmisolatedzeromultiplicity">
-<span id="id94"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolatedZeroMultiplicity{}{}</span></code></h4>
+<span id="id95"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolatedZeroMultiplicity{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmIsolatedZeroMultiplicity{<sturmname>}{<index>}</span></code></p>
 <blockquote>
 <div><p>Expands to the multiplicity of the unique root contained in the
@@ -2275,7 +2280,7 @@
 <code class="docutils literal notranslate"><span class="pre">index</span></code>-th interval.</p>
 <div class="admonition attention">
 <p class="admonition-title">Attention</p>
-<p>A prior execution of <a class="reference internal" href="#id38"><span class="std std-ref">\PolSturmIsolateZeros*{<sturmname>}</span></a> is mandatory.</p>
+<p>A prior execution of <a class="reference internal" href="#id39"><span class="std std-ref">\PolSturmIsolateZeros*{<sturmname>}</span></a> is mandatory.</p>
 </div>
 <p>See <code class="docutils literal notranslate"><span class="pre">The</span> <span class="pre">degree</span> <span class="pre">nine</span> <span class="pre">polynomial</span> <span class="pre">with</span> <span class="pre">0.99,</span> <span class="pre">0.999,</span> <span class="pre">0.9999</span> <span class="pre">as</span> <span class="pre">triple</span>
 <span class="pre">roots</span></code> in <code class="docutils literal notranslate"><span class="pre">polexpr-examples.pdf</span></code>.</p>
@@ -2282,7 +2287,7 @@
 </div></blockquote>
 </section>
 <section id="polsturmnbofisolatedzeros">
-<span id="id95"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmNbOfIsolatedZeros{}</span></code></h4>
+<span id="id96"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmNbOfIsolatedZeros{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmNbOfIsolatedZeros{<sturmname>}</span></code></p>
 <blockquote>
 <div><p>Expands to the number of real roots of the polynomial
@@ -2339,7 +2344,7 @@
 or equal to the given <code class="docutils literal notranslate"><span class="pre">value</span></code>.</p>
 <div class="admonition attention">
 <p class="admonition-title">Attention</p>
-<p><a class="reference internal" href="#id38"><span class="std std-ref">\PolSturmIsolateZeros*{<sturmname>}</span></a> (or the double starred
+<p><a class="reference internal" href="#id39"><span class="std std-ref">\PolSturmIsolateZeros*{<sturmname>}</span></a> (or the double starred
 variant) must have been executed beforehand.</p>
 </div>
 </div></blockquote>
@@ -2352,37 +2357,37 @@
 which are less than or equal to the given <code class="docutils literal notranslate"><span class="pre">expression</span></code>.</p>
 <div class="admonition attention">
 <p class="admonition-title">Attention</p>
-<p><a class="reference internal" href="#id38"><span class="std std-ref">\PolSturmIsolateZeros*{<sturmname>}</span></a> (or the double starred
+<p><a class="reference internal" href="#id39"><span class="std std-ref">\PolSturmIsolateZeros*{<sturmname>}</span></a> (or the double starred
 variant) must have been executed beforehand.</p>
 </div>
 </div></blockquote>
 </section>
 <section id="polsturmnbofrationalroots">
-<span id="id96"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmNbOfRationalRoots{}</span></code></h4>
+<span id="id97"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmNbOfRationalRoots{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmNbOfRationalRoots{<sturmname>}</span></code></p>
 <blockquote>
 <div><p>Expands to the number of rational roots (without multiplicities).</p>
 <div class="admonition attention">
 <p class="admonition-title">Attention</p>
-<p><a class="reference internal" href="#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> must have been executed
+<p><a class="reference internal" href="#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> must have been executed
 beforehand.</p>
 </div>
 </div></blockquote>
 </section>
 <section id="polsturmnbofrationalrootswithmultiplicities">
-<span id="id97"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmNbOfRationalRootsWithMultiplicities{}</span></code></h4>
+<span id="id98"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmNbOfRationalRootsWithMultiplicities{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmNbOfRationalRootsWithMultiplicities{<sturmname>}</span></code></p>
 <blockquote>
 <div><p>Expands to the number of rational roots (counted with multiplicities).</p>
 <div class="admonition attention">
 <p class="admonition-title">Attention</p>
-<p><a class="reference internal" href="#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> must have been executed
+<p><a class="reference internal" href="#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> must have been executed
 beforehand.</p>
 </div>
 </div></blockquote>
 </section>
 <section id="polsturmrationalroot">
-<span id="id98"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmRationalRoot{}{}</span></code></h4>
+<span id="id99"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmRationalRoot{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmRationalRoot{<sturmname>}{<k>}</span></code></p>
 <blockquote>
 <div><p>Expands to the k-th rational root.  They are enumerated from left to
@@ -2389,13 +2394,13 @@
 right starting at index value <code class="docutils literal notranslate"><span class="pre">1</span></code>.</p>
 <div class="admonition attention">
 <p class="admonition-title">Attention</p>
-<p><a class="reference internal" href="#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> must have been executed
+<p><a class="reference internal" href="#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> must have been executed
 beforehand.</p>
 </div>
 </div></blockquote>
 </section>
 <section id="polsturmrationalrootindex">
-<span id="id99"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmRationalRootIndex{}{}</span></code></h4>
+<span id="id100"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmRationalRootIndex{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmRationalRootIndex{<sturmname>}{<k>}</span></code></p>
 <blockquote>
 <div><p>Expands to the index of the <code class="docutils literal notranslate"><span class="pre">k</span></code>th rational root as part of the
@@ -2407,25 +2412,25 @@
 </div>
 <div class="admonition attention">
 <p class="admonition-title">Attention</p>
-<p><a class="reference internal" href="#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> must have been executed
+<p><a class="reference internal" href="#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> must have been executed
 beforehand.</p>
 </div>
 </div></blockquote>
 </section>
 <section id="polsturmrationalrootmultiplicity">
-<span id="id100"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmRationalRootMultiplicity{}{}</span></code></h4>
+<span id="id101"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolSturmRationalRootMultiplicity{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolSturmRationalRootMultiplicity{<sturmname>}{<k>}</span></code></p>
 <blockquote>
 <div><p>Expands to the multiplicity of the <code class="docutils literal notranslate"><span class="pre">k</span></code>th rational root.</p>
 <div class="admonition attention">
 <p class="admonition-title">Attention</p>
-<p><a class="reference internal" href="#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> must have been executed
+<p><a class="reference internal" href="#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a> must have been executed
 beforehand.</p>
 </div>
 </div></blockquote>
 </section>
 <section id="polintervalwidth">
-<span id="id101"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolIntervalWidth{}{}</span></code></h4>
+<span id="id102"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolIntervalWidth{}{}</span></code></h4>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolIntervalWidth{<sturmname>}{<index>}</span></code></p>
 <blockquote>
 <div><p>The <code class="docutils literal notranslate"><span class="pre">10^E</span></code> width of the current <code class="docutils literal notranslate"><span class="pre">index</span></code>-th root localization
@@ -2436,13 +2441,13 @@
 <section id="expandable-macros-for-use-within-execution-of-polprintintervals">
 <h3>Expandable macros for use within execution of <code class="docutils literal notranslate"><span class="pre">\PolPrintIntervals</span></code></h3>
 <p>These macros are for usage within custom user redefinitions of
-<a class="reference internal" href="#id56">\PolPrintIntervalsKnownRoot</a>, <a class="reference internal" href="#id57">\PolPrintIntervalsUnknownRoot</a>, or
+<a class="reference internal" href="#id57">\PolPrintIntervalsKnownRoot</a>, <a class="reference internal" href="#id58">\PolPrintIntervalsUnknownRoot</a>, or
 in redefinitions of <a class="reference internal" href="#polprintintervalsprintexactzero">PolPrintIntervalsPrintExactZero</a> (used in the
-default for the former) and of <a class="reference internal" href="#id59">\PolPrintIntervalsPrintLeftEndPoint</a>,
-<a class="reference internal" href="#id60">\PolPrintIntervalsPrintRightEndPoint</a> (used in the default for the
+default for the former) and of <a class="reference internal" href="#id60">\PolPrintIntervalsPrintLeftEndPoint</a>,
+<a class="reference internal" href="#id61">\PolPrintIntervalsPrintRightEndPoint</a> (used in the default for the
 latter).</p>
 <section id="polprintintervalsthevar">
-<span id="id102"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheVar</span></code></h4>
+<span id="id103"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheVar</span></code></h4>
 <blockquote>
 <div><p>Expands to the name (default <code class="docutils literal notranslate"><span class="pre">Z</span></code>) used for representing the roots,
 which was passed as optional argument <code class="docutils literal notranslate"><span class="pre">varname</span></code> to
@@ -2450,7 +2455,7 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalstheindex">
-<span id="id103"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheIndex</span></code></h4>
+<span id="id104"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheIndex</span></code></h4>
 <blockquote>
 <div><p>Expands to the index of the considered interval (indexing starting
 at 1 for the leftmost interval).</p>
@@ -2457,7 +2462,7 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalsthesturmname">
-<span id="id104"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheSturmName</span></code></h4>
+<span id="id105"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheSturmName</span></code></h4>
 <blockquote>
 <div><p>Expands to the argument which was passed as <code class="docutils literal notranslate"><span class="pre"><sturmname></span></code> to
 <a class="reference internal" href="#polprintintervals"><span class="std std-ref">\PolPrintIntervals[varname]{<sturmname>}</span></a>.</p>
@@ -2464,17 +2469,17 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalstheleftendpoint">
-<span id="id105"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheLeftEndPoint</span></code></h4>
+<span id="id106"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheLeftEndPoint</span></code></h4>
 <blockquote>
 <div><p>The left end point of the interval, as would be produced by
 <a class="reference internal" href="#polsturmisolatedzeroleft">\PolSturmIsolatedZeroLeft</a> if it was
 used with arguments the Sturm chain name and interval index returned
-by <a class="reference internal" href="#id104">\PolPrintIntervalsTheSturmName</a> and
-<a class="reference internal" href="#id103">\PolPrintIntervalsTheIndex</a>.</p>
+by <a class="reference internal" href="#id105">\PolPrintIntervalsTheSturmName</a> and
+<a class="reference internal" href="#id104">\PolPrintIntervalsTheIndex</a>.</p>
 </div></blockquote>
 </section>
 <section id="polprintintervalstherightendpoint">
-<span id="id106"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheRightEndPoint</span></code></h4>
+<span id="id107"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheRightEndPoint</span></code></h4>
 <blockquote>
 <div><p>The right end point of the interval, as would be produced by
 <a class="reference internal" href="#polsturmisolatedzeroright">\PolSturmIsolatedZeroRight</a> for
@@ -2482,10 +2487,10 @@
 </div></blockquote>
 </section>
 <section id="polprintintervalsthemultiplicity">
-<span id="id107"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheMultiplicity</span></code></h4>
+<span id="id108"></span><h4><code class="docutils literal notranslate"><span class="pre">\PolPrintIntervalsTheMultiplicity</span></code></h4>
 <blockquote>
 <div><p>The multiplicity of the unique root within the interval of index
-<a class="reference internal" href="#id103">\PolPrintIntervalsTheIndex</a>. Makes sense only if the starred (or
+<a class="reference internal" href="#id104">\PolPrintIntervalsTheIndex</a>. Makes sense only if the starred (or
 double-starred) variant of <a class="reference internal" href="#polsturmisolatezeros">\PolSturmIsolateZeros</a> was used earlier.</p>
 </div></blockquote>
 </section>
@@ -2494,7 +2499,7 @@
 <section id="tex-booleans-with-names-enacting-their-defaults">
 <h2>TeX Booleans (with names enacting their defaults)</h2>
 <section id="xintverbosefalse">
-<span id="id108"></span><h3><code class="docutils literal notranslate"><span class="pre">\xintverbosefalse</span></code></h3>
+<span id="id109"></span><h3><code class="docutils literal notranslate"><span class="pre">\xintverbosefalse</span></code></h3>
 <blockquote>
 <div><p>This is actually an <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> configuration. Setting it to
 <code class="docutils literal notranslate"><span class="pre">true</span></code> triggers the writing of information to the log when new
@@ -2507,7 +2512,7 @@
 </div></blockquote>
 </section>
 <section id="polnewpolverbosefalse">
-<span id="id109"></span><h3><code class="docutils literal notranslate"><span class="pre">\polnewpolverbosefalse</span></code></h3>
+<span id="id110"></span><h3><code class="docutils literal notranslate"><span class="pre">\polnewpolverbosefalse</span></code></h3>
 <blockquote>
 <div><p>When <code class="docutils literal notranslate"><span class="pre">\poldef</span></code> is used, both a variable and a function are
 defined.  The default <code class="docutils literal notranslate"><span class="pre">\polnewpolverbosefalse</span></code> setting suppresses
@@ -2528,7 +2533,7 @@
 </div></blockquote>
 </section>
 <section id="poltypesetallfalse">
-<span id="id110"></span><h3><code class="docutils literal notranslate"><span class="pre">\poltypesetallfalse</span></code></h3>
+<span id="id111"></span><h3><code class="docutils literal notranslate"><span class="pre">\poltypesetallfalse</span></code></h3>
 <blockquote>
 <div><p>If <code class="docutils literal notranslate"><span class="pre">true</span></code>, <a class="reference internal" href="#poltypeset">\PolTypeset</a> will also typeset the vanishing
 coefficients.</p>
@@ -2535,7 +2540,7 @@
 </div></blockquote>
 </section>
 <section id="poltoexprallfalse">
-<span id="id111"></span><h3><code class="docutils literal notranslate"><span class="pre">\poltoexprallfalse</span></code></h3>
+<span id="id112"></span><h3><code class="docutils literal notranslate"><span class="pre">\poltoexprallfalse</span></code></h3>
 <blockquote>
 <div><p>If <code class="docutils literal notranslate"><span class="pre">true</span></code>, <a class="reference internal" href="#poltoexpr"><span class="std std-ref">\PolToExpr{<pol. expr.>}</span></a> and
 <a class="reference internal" href="#poltofloatexpr"><span class="std std-ref">\PolToFloatExpr{<pol. expr.>}</span></a> will also
@@ -2546,7 +2551,7 @@
 <section id="utilities">
 <h2>Utilities</h2>
 <section id="poldectostring">
-<span id="id112"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolDecToString{}</span></code></h3>
+<span id="id113"></span><h3><code class="docutils literal notranslate"><span class="pre">\PolDecToString{}</span></code></h3>
 <p>Syntax: <code class="docutils literal notranslate"><span class="pre">\PolDecToString{decimal</span> <span class="pre">number}</span></code></p>
 <blockquote>
 <div><p>This is a utility macro to print decimal numbers.  It is an alias
@@ -2571,11 +2576,11 @@
 <div><p>Serves to customize the package. Currently only two keys are
 recognized:</p>
 <ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">norr</span></code>: the postfix that <a class="reference internal" href="#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a>
+<li><p><code class="docutils literal notranslate"><span class="pre">norr</span></code>: the postfix that <a class="reference internal" href="#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a>
 should append to <code class="docutils literal notranslate"><span class="pre"><sturmname></span></code> to declare the primitive polynomial
 obtained from original one after removal of all rational roots.
 The default value is <code class="docutils literal notranslate"><span class="pre">_norr</span></code> (standing for “no rational roots”).</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">sqfnorr</span></code>: the postfix that <a class="reference internal" href="#id41"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a>
+<li><p><code class="docutils literal notranslate"><span class="pre">sqfnorr</span></code>: the postfix that <a class="reference internal" href="#id42"><span class="std std-ref">\PolSturmIsolateZeros**{<sturmname>}</span></a>
 should append to <code class="docutils literal notranslate"><span class="pre"><sturmname></span></code> to declare the primitive polynomial
 obtained from original one after removal of all rational roots and
 suppression of all multiplicities.
@@ -2590,15 +2595,20 @@
 <section id="technicalities">
 <h2>Technicalities</h2>
 <ul>
-<li><p>The <code class="docutils literal notranslate"><span class="pre">@</span></code> is allowed in the name of a polynomial (independently of
-whether it is of catcode letter or other.)  This has always been the
-case, but was not documented by polexpr prior to <code class="docutils literal notranslate"><span class="pre">0.8</span></code>, as the
-author has never found the time to provide some official guidelines on
-how to name temporary variables and the <code class="docutils literal notranslate"><span class="pre">@</span></code> is used already as such
-internally; time has still not yet been found to review the situation
-but it seems reasonable to recommend at any rate to restrict usage of
-<code class="docutils literal notranslate"><span class="pre">@</span></code> to scratch variables of defined macros and to avoid using it to
-name document variable.</p></li>
+<li><p>Do not use the underscore <code class="docutils literal notranslate"><span class="pre">_</span></code> as the <em>first character</em> of a
+polynomial name, even if of catcode letter.  This may cause an
+infinite loop.</p></li>
+<li><p>The <code class="docutils literal notranslate"><span class="pre">@</span></code> is allowed in the names of polynomials, independently of
+whether it is of catcode letter or other.  In defining macros which
+will use <code class="docutils literal notranslate"><span class="pre">\poldef</span></code> to create polynomials it seems reasonable to
+adopt the convention that <code class="docutils literal notranslate"><span class="pre">@</span></code> as <em>first</em> character in polynomial
+names is to be reserved to temporary auxiliary polynomials.</p>
+<div class="admonition attention">
+<p class="admonition-title">Attention</p>
+<p>Do not use <code class="docutils literal notranslate"><span class="pre">@_</span></code> at start of polynomial names.  This is reserved for
+internal usage by the package.</p>
+</div>
+</li>
 <li><p>Catcodes are set temporarily by <a class="reference internal" href="#poldef">\poldef</a> macro to safe
 values prior to grab the polynomial expression up to the terminator
 <code class="docutils literal notranslate"><span class="pre">;</span></code>, and also by <a class="reference internal" href="#id5">\PolDef</a> prior to grab the
@@ -2709,7 +2719,7 @@
 <li><a class="reference internal" href="#poldef-polname-letter-expression-using-the-letter-as-indeterminate"><code class="docutils literal notranslate"><span class="pre">\poldef</span> <span class="pre">polname(letter):=</span> <span class="pre">expression</span> <span class="pre">using</span> <span class="pre">the</span> <span class="pre">letter</span> <span class="pre">as</span> <span class="pre">indeterminate;</span></code></a></li>
 <li><a class="reference internal" href="#poldef-letter-polname-expr-using-the-letter-as-indeterminate"><code class="docutils literal notranslate"><span class="pre">\PolDef[<letter>]{<polname>}{<expr.</span> <span class="pre">using</span> <span class="pre">the</span> <span class="pre">letter</span> <span class="pre">as</span> <span class="pre">indeterminate>}</span></code></a></li>
 <li><a class="reference internal" href="#polgenfloatvariant"><code class="docutils literal notranslate"><span class="pre">\PolGenFloatVariant{}</span></code></a></li>
-<li><a class="reference internal" href="#poltypeset"><code class="docutils literal notranslate"><span class="pre">\PolTypeset{}</span></code></a><ul>
+<li><a class="reference internal" href="#poltypeset"><code class="docutils literal notranslate"><span class="pre">\PolTypeset[]{}</span></code></a><ul>
 <li><a class="reference internal" href="#poltypesetcmd"><code class="docutils literal notranslate"><span class="pre">\PolTypesetCmd{}</span></code></a><ul>
 <li><a class="reference internal" href="#polifcoeffisplusorminusone"><code class="docutils literal notranslate"><span class="pre">\PolIfCoeffIsPlusOrMinusOne{}{}</span></code></a></li>
 </ul>
@@ -2719,7 +2729,7 @@
 <li><a class="reference internal" href="#poltypesetcmdprefix"><code class="docutils literal notranslate"><span class="pre">\PolTypesetCmdPrefix{}</span></code></a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#id13"><code class="docutils literal notranslate"><span class="pre">\PolTypeset*{}</span></code></a></li>
+<li><a class="reference internal" href="#id13"><code class="docutils literal notranslate"><span class="pre">\PolTypeset*[]{}</span></code></a></li>
 <li><a class="reference internal" href="#pollet"><code class="docutils literal notranslate"><span class="pre">\PolLet{}={}</span></code></a></li>
 <li><a class="reference internal" href="#polgloballet"><code class="docutils literal notranslate"><span class="pre">\PolGlobalLet{}={}</span></code></a></li>
 <li><a class="reference internal" href="#polassign-toarray"><code class="docutils literal notranslate"><span class="pre">\PolAssign{}\toarray{}</span></code></a></li>
@@ -2727,13 +2737,13 @@
 <li><a class="reference internal" href="#polfromcsv"><code class="docutils literal notranslate"><span class="pre">\PolFromCSV{}{}</span></code></a></li>
 <li><a class="reference internal" href="#polmapcoeffs"><code class="docutils literal notranslate"><span class="pre">\PolMapCoeffs{}{}</span></code></a></li>
 <li><a class="reference internal" href="#polreducecoeffs"><code class="docutils literal notranslate"><span class="pre">\PolReduceCoeffs{}</span></code></a></li>
-<li><a class="reference internal" href="#id20"><code class="docutils literal notranslate"><span class="pre">\PolReduceCoeffs*{}</span></code></a></li>
+<li><a class="reference internal" href="#id21"><code class="docutils literal notranslate"><span class="pre">\PolReduceCoeffs*{}</span></code></a></li>
 <li><a class="reference internal" href="#polmakemonic"><code class="docutils literal notranslate"><span class="pre">\PolMakeMonic{}</span></code></a></li>
 <li><a class="reference internal" href="#polmakeprimitive"><code class="docutils literal notranslate"><span class="pre">\PolMakePrimitive{}</span></code></a></li>
 <li><a class="reference internal" href="#poldiff"><code class="docutils literal notranslate"><span class="pre">\PolDiff{}{}</span></code></a></li>
-<li><a class="reference internal" href="#id25"><code class="docutils literal notranslate"><span class="pre">\PolDiff[]{}{}</span></code></a></li>
+<li><a class="reference internal" href="#id26"><code class="docutils literal notranslate"><span class="pre">\PolDiff[]{}{}</span></code></a></li>
 <li><a class="reference internal" href="#polantidiff"><code class="docutils literal notranslate"><span class="pre">\PolAntiDiff{}{}</span></code></a></li>
-<li><a class="reference internal" href="#id28"><code class="docutils literal notranslate"><span class="pre">\PolAntiDiff[]{}{}</span></code></a></li>
+<li><a class="reference internal" href="#id29"><code class="docutils literal notranslate"><span class="pre">\PolAntiDiff[]{}{}</span></code></a></li>
 <li><a class="reference internal" href="#poldivide"><code class="docutils literal notranslate"><span class="pre">\PolDivide{}{}{}{}</span></code></a></li>
 <li><a class="reference internal" href="#polquo"><code class="docutils literal notranslate"><span class="pre">\PolQuo{}{}{}</span></code></a></li>
 <li><a class="reference internal" href="#polrem"><code class="docutils literal notranslate"><span class="pre">\PolRem{}{}{}</span></code></a></li>
@@ -2740,19 +2750,19 @@
 <li><a class="reference internal" href="#polgcd"><code class="docutils literal notranslate"><span class="pre">\PolGCD{}{}{}</span></code></a></li>
 <li><a class="reference internal" href="#root-localization-routines-via-the-sturm-theorem">Root localization routines via the Sturm Theorem</a><ul>
 <li><a class="reference internal" href="#poltosturm"><code class="docutils literal notranslate"><span class="pre">\PolToSturm{}{}</span></code></a></li>
-<li><a class="reference internal" href="#id35"><code class="docutils literal notranslate"><span class="pre">\PolToSturm*{}{}</span></code></a></li>
+<li><a class="reference internal" href="#id36"><code class="docutils literal notranslate"><span class="pre">\PolToSturm*{}{}</span></code></a></li>
 <li><a class="reference internal" href="#polsturmisolatezeros"><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros{}</span></code></a></li>
-<li><a class="reference internal" href="#id38"><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros*{}</span></code></a><ul>
+<li><a class="reference internal" href="#id39"><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros*{}</span></code></a><ul>
 <li><a class="reference internal" href="#polsturmisolatezerosandgetmultiplicities"><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosAndGetMultiplicities{}</span></code></a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#id41"><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros**{}</span></code></a><ul>
+<li><a class="reference internal" href="#id42"><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZeros**{}</span></code></a><ul>
 <li><a class="reference internal" href="#polsturmisolatezerosgetmultiplicitiesandrationalroots"><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosGetMultiplicitiesAndRationalRoots</span></code></a></li>
 </ul>
 </li>
 <li><a class="reference internal" href="#polsturmisolatezerosandfindrationalroots"><code class="docutils literal notranslate"><span class="pre">\PolSturmIsolateZerosAndFindRationalRoots{}</span></code></a></li>
 <li><a class="reference internal" href="#polrefineinterval"><code class="docutils literal notranslate"><span class="pre">\PolRefineInterval*{}{}</span></code></a></li>
-<li><a class="reference internal" href="#id46"><code class="docutils literal notranslate"><span class="pre">\PolRefineInterval[]{}{}</span></code></a></li>
+<li><a class="reference internal" href="#id47"><code class="docutils literal notranslate"><span class="pre">\PolRefineInterval[]{}{}</span></code></a></li>
 <li><a class="reference internal" href="#polensureintervallength"><code class="docutils literal notranslate"><span class="pre">\PolEnsureIntervalLength{}{}{}</span></code></a></li>
 <li><a class="reference internal" href="#polensureintervallengths"><code class="docutils literal notranslate"><span class="pre">\PolEnsureIntervalLengths{}{}</span></code></a></li>
 <li><a class="reference internal" href="#polsettosturmchainsignchangesat"><code class="docutils literal notranslate"><span class="pre">\PolSetToSturmChainSignChangesAt{}{}{}</span></code></a></li>
@@ -2795,8 +2805,8 @@
 <li><a class="reference internal" href="#poltofloatexprcmd"><code class="docutils literal notranslate"><span class="pre">\PolToFloatExprCmd{}</span></code></a></li>
 </ul>
 </li>
-<li><a class="reference internal" href="#id78"><code class="docutils literal notranslate"><span class="pre">\PolToExpr*{}</span></code></a></li>
-<li><a class="reference internal" href="#id80"><code class="docutils literal notranslate"><span class="pre">\PolToFloatExpr*{}</span></code></a></li>
+<li><a class="reference internal" href="#id79"><code class="docutils literal notranslate"><span class="pre">\PolToExpr*{}</span></code></a></li>
+<li><a class="reference internal" href="#id81"><code class="docutils literal notranslate"><span class="pre">\PolToFloatExpr*{}</span></code></a></li>
 <li><a class="reference internal" href="#polnthcoeff"><code class="docutils literal notranslate"><span class="pre">\PolNthCoeff{}{}</span></code></a></li>
 <li><a class="reference internal" href="#polleadingcoeff"><code class="docutils literal notranslate"><span class="pre">\PolLeadingCoeff{}</span></code></a></li>
 <li><a class="reference internal" href="#poldegree"><code class="docutils literal notranslate"><span class="pre">\PolDegree{}</span></code></a></li>
@@ -2886,7 +2896,7 @@
         <li class="right" >
           <a href="polexpr.html" title="Introduction to polexpr"
              >previous</a> |</li>
-        <li class="nav-item nav-item-0"><a href="polexpr.html">polexpr 0.8.7 documentation</a> »</li>
+        <li class="nav-item nav-item-0"><a href="polexpr.html">polexpr 0.8.7a documentation</a> »</li>
         <li class="nav-item nav-item-this"><a href="">polexpr reference</a></li> 
       </ul>
     </div>

Modified: trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-ref.rst.txt
===================================================================
--- trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-ref.rst.txt	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/doc/generic/polexpr/polexpr-ref.rst.txt	2022-05-19 20:10:47 UTC (rev 63337)
@@ -33,15 +33,12 @@
   i.e. per default one ``a, .., z, A, .., Z`` (more letters can be declared
   under Unicode engines).
 
-- ``polname`` consists of *letters*, *digits*, and also the ``_`` and
-  ``'`` characters are allowed.  The polynomial name **must** start with
-  a letter: do not use the underscore ``_`` as *first character* of a
-  polynomial name (even if of catcode letter).  No warning is emitted
-  but dire consequences will ensue.  The ``@`` is also allowed
-  (independently of its catcode "letter" or "other", which does not
-  matter).  It is recommended to avoid using it as first character,
-  except for temporary polynomial variables.
+- ``polname`` is a word (no space) built with *letters*, *digits*, and
+  the ``@``, ``_`` and ``'`` characters are allowed.  The polynomial
+  name **must** start with a letter.
 
+  For guidelines regarding ``_`` and ``@`` see Technicalities_.
+
 - The colon before the equality sign is optional and its (reasonable)
   catcode does not matter.
 
@@ -1079,7 +1076,8 @@
     *expression* can make use of previously defined polynomials.
 
     Polynomial names must start with a letter and are constituted of
-    letters, digits, underscores and the right tick ``'``.
+    letters, digits, underscores, the ``@`` (see Technicalities_) and
+    the right tick ``'``.
 
     The whole xintexpr_ syntax is authorized, as long as the final
     result is of polynomial type::
@@ -1100,17 +1098,16 @@
       and also other polynomials (via their names, thanks to previous
       item).
 
-    Notice that any function defined via ``\xintdeffunc`` and using
-    only algebraic operations (and ople indexing or slicing operations)
-    should work fine in ``\xintexpr/\xinteval`` with such polynomial
-    names as argument.
+    Any function defined via ``\xintdeffunc`` and only algebraic
+    operations, as well as ople indexing or slicing operations, should
+    work fine in ``\xintexpr/\xinteval`` with such polynomial names as
+    argument.
 
-    In the case of a constant polynomial, the xintexpr_ variable (not the
-    internal data structure on which the package macros operate)
+    In the case of a constant polynomial, the xintexpr_ *variable* (not
+    the internal data structure on which the package macros operate)
     associated to it is indistinguishable from a scalar, it is actually
     a scalar and has lost all traces from its origins as a polynomial
     (so for example can be used as argument to the ``cos()`` function).
-
     The *function* on the other hand remains a one-argument function,
     which simply has a constant value.
 
@@ -1122,7 +1119,7 @@
 
        Worse, a
        previously existing floating point function of the same name will
-       be let undefined again, to avoid hard to debug mismatches between
+       be made undefined again, to avoid hard to debug mismatches between
        exact and floating point polynomials. This also applies when the
        polynomial is produced not via ``\poldef`` or ``\PolDef`` but
        as result of usage of the other package macros.
@@ -1187,10 +1184,10 @@
 
 .. _PolTypeset:
 
-``\PolTypeset{}``
-~~~~~~~~~~~~~~~~~
+``\PolTypeset[]{}``
+~~~~~~~~~~~~~~~~~~~
 
-Syntax: ``\PolTypeset{<pol. expr.>}``
+Syntax: ``\PolTypeset[<letter>]{<pol. expr.>}``
 
     Typesets in descending powers, switching to math mode if in text
     mode, after evaluating the polynomial expression::
@@ -1197,11 +1194,11 @@
 
       \PolTypeset{mul(x-i,i=1..5)}% possible since polexpr 0.8
 
-    The letter used in the input expression is by default ``x``,
+    The letter used in the input is by default assumed to be ``x``,
     but can be modified by a redefinition of `\\PolToExprInVar`_.
 
-    It uses also by default the letter ``x`` on output but this one can
-    be changed via an optional argument::
+    The letter used in the output is also by default ``x``.  This one
+    can be changed on-the-fly via the optional ``<letter>``::
 
       \PolTypeset[z]{polname or polynomial expression}
 
@@ -1294,17 +1291,19 @@
 
 .. _PolTypeset*:
 
-``\PolTypeset*{}``
-~~~~~~~~~~~~~~~~~~
+``\PolTypeset*[]{}``
+~~~~~~~~~~~~~~~~~~~~
 
-Syntax: ``\PolTypeset*{<pol. expr.>}``
+Syntax: ``\PolTypeset*[<letter>]{<pol. expr.>}``
 
-    Typesets in ascending powers. Use ``[<letter>]`` optional argument
-    (after the ``*``) to use another letter than ``x``.
+    Typesets in ascending powers. The ``<letter>`` optional argument
+    (after the ``*``) declares the letter to use in the *output*.
+    As for `\\PolTypeset <PolTypeset>`_, it defaults to ``x``.
 
+    To modify the expected ``x`` in the *input*, see `\\PolToExprInVar`_.
+
     Extended at ``0.8`` to accept general expressions and not only
-    polynomial names.  Redefine `\\PolToExprInVar`_ to use in the
-    expression another letter than default ``x``.
+    polynomial names.
 
 
 .. _PolLet:
@@ -1667,18 +1666,21 @@
 
     .. note::
 
-       The declaration of the ``S_k``\ 's will overwrite
-       with no warning previously declared polynomials with identical
-       names ``S_k``.  This is original reason why the macro expects two
-       names: ``<polname>`` and ``<sturmname>``.
+       The declaration of the ``S_k``\ 's will overwrite with no warning
+       previously declared polynomials with identical names ``S_k``,
+       i.e. ``<sturmname>_k``.  This is why the macro was designed
+       to expect two names: ``<polname>`` and ``<sturmname>``.
 
        It is allowed to use the polynomial name ``P`` as Sturm chain
-       name ``S``: ``\PolToSturm{f}(f}``, but of course fusing the
-       namespaces is slightly dangerous.  And, also `\\PolSturmIsolateZeros
-       <PolSturmIsolateZeros_>`_ creates variables sharing
-       the ``<sturmname>`` prefix, which must be taken into account to
-       avoid name clashes.
+       name ``S``: ``\PolToSturm{P}{P}``, but this is considered bad
+       practice for the reason mentioned in the previous paragraph.
 
+       Furthermore, `\\PolSturmIsolateZeros <PolSturmIsolateZeros_>`_
+       creates xintexpr_ variables whose names start with
+       ``<sturmname>L_``, ``<sturmname>R_``, and ``<sturmname>Z_``, also
+       ``<sturmname>M_`` for holding the multiplicities, and this may
+       overwrite pre-existing user-defined xintexpr_ variables.
+
     .. warning::
 
        The reason why the ``S_k``\ 's are declared as polynomials is
@@ -2300,8 +2302,10 @@
 ^^^^^^^^^^^^^^^^^^^
 
     Defaults to ``x``: the letter used as the polynomial indeterminate
-    in the macro input.
+    in the macro input::
 
+      \def\PolToExprInVar{x}% (default)
+
     Recall that declared polynomials are more efficiently used in
     algebraic expressions without the ``(x)``, i.e. ``P*Q`` is better
     than ``P(x)*Q(x)``.  Thus the input, even if an expression, does not
@@ -3086,17 +3090,21 @@
 Technicalities
 --------------
 
+- Do not use the underscore ``_`` as the *first character* of a
+  polynomial name, even if of catcode letter.  This may cause an
+  infinite loop.
 
-- The ``@`` is allowed in the name of a polynomial (independently of
-  whether it is of catcode letter or other.)  This has always been the
-  case, but was not documented by polexpr prior to ``0.8``, as the
-  author has never found the time to provide some official guidelines on
-  how to name temporary variables and the ``@`` is used already as such
-  internally; time has still not yet been found to review the situation
-  but it seems reasonable to recommend at any rate to restrict usage of
-  ``@`` to scratch variables of defined macros and to avoid using it to
-  name document variable.
+- The ``@`` is allowed in the names of polynomials, independently of
+  whether it is of catcode letter or other.  In defining macros which
+  will use ``\poldef`` to create polynomials it seems reasonable to
+  adopt the convention that ``@`` as *first* character in polynomial
+  names is to be reserved to temporary auxiliary polynomials.
 
+  .. attention::
+
+     Do not use ``@_`` at start of polynomial names.  This is reserved for
+     internal usage by the package.
+
 - Catcodes are set temporarily by `\\poldef <poldef;_>`_ macro to safe
   values prior to grab the polynomial expression up to the terminator
   ``;``, and also by `\\PolDef <PolDef_>`_ prior to grab the

Modified: trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.css
===================================================================
--- trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.css	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.css	2022-05-19 20:10:47 UTC (rev 63337)
@@ -230,6 +230,10 @@
     clear: both;
 }
 
+.footnote {
+    background-color: #f8f9de; /* polexpr.css */
+}
+
 .footnote:target  {
     background-color: #ffa;
 }

Modified: trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.html
===================================================================
--- trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.html	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.html	2022-05-19 20:10:47 UTC (rev 63337)
@@ -6,7 +6,7 @@
     <meta charset="utf-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
 
-    <title>Introduction to polexpr — polexpr 0.8.7 documentation</title>
+    <title>Introduction to polexpr — polexpr 0.8.7a documentation</title>
     <link rel="stylesheet" type="text/css" href="polexpr.css" />
     <link rel="next" title="polexpr reference" href="polexpr-ref.html" /> 
   </head><body>
@@ -16,7 +16,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="polexpr-ref.html" title="polexpr reference"
              accesskey="N">next</a></li>
-        <li class="nav-item nav-item-0"><a href="#">polexpr 0.8.7 documentation</a> »</li>
+        <li class="nav-item nav-item-0"><a href="#">polexpr 0.8.7a documentation</a> »</li>
         <li class="nav-item nav-item-this"><a href="">Introduction to polexpr</a></li> 
       </ul>
     </div>  
@@ -28,6 +28,8 @@
             
   <section id="introduction-to-polexpr">
 <h1>Introduction to polexpr</h1>
+<div class="toctree-wrapper compound">
+</div>
 <p><a class="reference external" href="https://www.ctan.org/pkg/polexpr">polexpr</a> is a TeX and LaTeX macro package.</p>
 <p>To use it with Plain or formats other than LaTeX:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="k">\input</span> polexpr.sty
@@ -63,7 +65,7 @@
 <section id="usage-via-xintsession">
 <h2>Usage via <a class="reference external" href="https://www.ctan.org/pkg/xintsession">xintsession</a></h2>
 <p>The simplest manner to get a feeling for the package abilities regarding
-in particularl root localization is to use it on the command line
+in particular root localization is to use it on the command line
 via the <a class="reference external" href="https://www.ctan.org/pkg/xintsession">xintsession</a> interface.  Here is an example:</p>
 <div class="highlight-latex notranslate"><div class="highlight"><pre><span></span><span class="s">$</span><span class="nb"> rlwrap etex xintsession</span>
 <span class="o">[</span><span class="nb">...xintsession welcome message...</span><span class="o">]</span><span class="nb"></span>
@@ -111,8 +113,8 @@
 LaTeX Project Public License version 1.3c.</p>
 <p>See README.md for details.</p>
 </section>
-<section id="in-memoriam-jurgen-gilg-1967-2022">
-<h2>In memoriam: Jürgen Gilg (1967-2022)</h2>
+<section id="in-memoriam-jurgen-gilg-1966-2022">
+<h2>In memoriam: Jürgen Gilg (1966-2022)</h2>
 <p>My first contact with Jürgen was in January 2018, and his <em>little
 question</em> about usage of <a class="reference external" href="https://www.ctan.org/pkg/xintexpr">xintexpr</a> for differentiating polynomials
 proved the direct cause for the <a class="reference internal" href="polexpr-changes.html#firstrelease"><span class="std std-ref">creation of polexpr</span></a>.  His regular comments and questions (often, jointly
@@ -129,8 +131,6 @@
 only a bit more than 4 years… I will sorely miss this friendship with
 a gentle soul from <em>over the Rhine</em>.</p>
 <p>I dedicate the work which has gone into <a class="reference external" href="https://www.ctan.org/pkg/polexpr">polexpr</a> to Jürgen’s memory.</p>
-<div class="toctree-wrapper compound">
-</div>
 </section>
 </section>
 
@@ -145,7 +145,7 @@
 <li><a class="reference internal" href="#">Introduction to polexpr</a><ul>
 <li><a class="reference internal" href="#usage-via-xintsession">Usage via xintsession</a></li>
 <li><a class="reference internal" href="#license-is-lppl-1-3c">License is LPPL 1.3c</a></li>
-<li><a class="reference internal" href="#in-memoriam-jurgen-gilg-1967-2022">In memoriam: Jürgen Gilg (1967-2022)</a></li>
+<li><a class="reference internal" href="#in-memoriam-jurgen-gilg-1966-2022">In memoriam: Jürgen Gilg (1966-2022)</a></li>
 </ul>
 </li>
 </ul>
@@ -178,7 +178,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="polexpr-ref.html" title="polexpr reference"
              >next</a></li>
-        <li class="nav-item nav-item-0"><a href="#">polexpr 0.8.7 documentation</a> »</li>
+        <li class="nav-item nav-item-0"><a href="#">polexpr 0.8.7a documentation</a> »</li>
         <li class="nav-item nav-item-this"><a href="">Introduction to polexpr</a></li> 
       </ul>
     </div>

Modified: trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.rst.txt
===================================================================
--- trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.rst.txt	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/doc/generic/polexpr/polexpr.rst.txt	2022-05-19 20:10:47 UTC (rev 63337)
@@ -1,9 +1,23 @@
 .. comment: -*- fill-column: 72; mode: rst -*-
 
+
 =========================
  Introduction to polexpr
 =========================
 
+.. toctree::
+   :hidden:
+   :maxdepth: 2
+
+   polexpr-ref
+   polexpr-changes
+
+
+.. only :: latex
+
+   Introduction to polexpr
+   -----------------------
+
 polexpr_ is a TeX and LaTeX macro package.
 
 To use it with Plain or formats other than LaTeX::
@@ -48,7 +62,7 @@
 ----------------------
 
 The simplest manner to get a feeling for the package abilities regarding
-in particularl root localization is to use it on the command line
+in particular root localization is to use it on the command line
 via the xintsession_ interface.  Here is an example::
 
     $ rlwrap etex xintsession
@@ -101,7 +115,7 @@
 See README.md for details.
 
 
-In memoriam: Jürgen Gilg (1967-2022)
+In memoriam: Jürgen Gilg (1966-2022)
 ------------------------------------
 
 My first contact with Jürgen was in January 2018, and his *little
@@ -143,15 +157,6 @@
 .. _DocUtils: http://docutils.sourceforge.net/docs/index.html
 
 
-.. toctree::
-   :hidden:
-   :maxdepth: 2
-
-   polexpr-ref
-   polexpr-changes
-
-
-
 .. Local variables:
 .. sentence-end-double-space: t;
 .. End:

Modified: trunk/Master/texmf-dist/tex/generic/polexpr/polexpr.sty
===================================================================
--- trunk/Master/texmf-dist/tex/generic/polexpr/polexpr.sty	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/tex/generic/polexpr/polexpr.sty	2022-05-19 20:10:47 UTC (rev 63337)
@@ -2,7 +2,7 @@
 % License: LPPL 1.3c (author-maintained)
 % Usage: \input polexpr.sty   (Plain or other macro formats)
 %    or  \usepackage{polexpr} (LaTeX macro format)
-% Release 0.8.7 (2022/05/14) of polexpr.sty. This file inputs
+% Release 0.8.7a (2022/05/19) of polexpr.sty. This file inputs
 %   polexprcore.tex
 %   polexprexpr.tex
 %   polexprsturm.tex
@@ -54,7 +54,7 @@
 \XINTsetupcatcodes% (does \endlinechar13 in particular)
 \XINT_providespackage
 \ProvidesPackage{polexpr}%
-  [2022/05/14 v0.8.7 Polynomial expressions with rational coefficients (JFB)]%
+  [2022/05/19 v0.8.7a Polynomial expressions with rational coefficients (JFB)]%
 \begingroup
  \def\x#1/#2/#3 #4\xint:{#1#2#3}%
  \ifnum\expandafter\x\expanded{\csname ver at xintexpr.sty\endcsname}\xint:

Modified: trunk/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/tex/generic/polexpr/polexprcore.tex	2022-05-19 20:10:47 UTC (rev 63337)
@@ -1,5 +1,5 @@
 %% filename: polexprcore.tex
-%% Part of the polexpr package (0.8.7, 2022/05/14)
+%% Part of the polexpr package (0.8.7a, 2022/05/19)
 %%
 %% Core routines for infix operators +, -, *, //, /:, ^, ** and functions
 %%

Modified: trunk/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/tex/generic/polexpr/polexprexpr.tex	2022-05-19 20:10:47 UTC (rev 63337)
@@ -1,5 +1,5 @@
 %% filename: polexprexpr.tex
-%% Part of the polexpr package (0.8.7, 2022/05/14)
+%% Part of the polexpr package (0.8.7a, 2022/05/19)
 %%
 %% Polynomial extensions to the \xintexpr syntax:
 %%

Modified: trunk/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex	2022-05-19 20:10:31 UTC (rev 63336)
+++ trunk/Master/texmf-dist/tex/generic/polexpr/polexprsturm.tex	2022-05-19 20:10:47 UTC (rev 63337)
@@ -1,5 +1,5 @@
 %% filename: polexprsturm.tex
-%% Part of the polexpr package (0.8.7, 2022/05/14)
+%% Part of the polexpr package (0.8.7a, 2022/05/19)
 %%
 %% Implements the Sturm localization Algorithm
 %% Added at polexpr 0.4



More information about the tex-live-commits mailing list.