diff options
Diffstat (limited to 'macros/generic/polexpr/polexpr-examples.tex')
-rw-r--r-- | macros/generic/polexpr/polexpr-examples.tex | 86 |
1 files changed, 49 insertions, 37 deletions
diff --git a/macros/generic/polexpr/polexpr-examples.tex b/macros/generic/polexpr/polexpr-examples.tex index fa2f330513..564c1912da 100644 --- a/macros/generic/polexpr/polexpr-examples.tex +++ b/macros/generic/polexpr/polexpr-examples.tex @@ -145,25 +145,12 @@ \makeatletter \catcode`_ 11 -\def\everbatimtop {\MacroFont\small}% default -\let\everbatimbottom\empty -\let\everbatimhook\empty - \def\everbatim {\s@everbatim\@everbatim } -\@namedef{everbatim*}{\s@everbatim\expandafter\@everbatimx\expandafter - {\the\newlinechar}} -\let\everbatimbgcolorcmd\empty -\def\everbatimeverypar{\strut - {\everbatimbgcolorcmd\vrule\@width\linewidth }% - \kern-\linewidth - \kern\everbatimindent } -\def\everbatimindent {\z@} -% voir plus loin atbegindocument +%! ancienne méthode sans doute motivé par possibilité code ferme un groupe? +%! \@namedef{everbatim*}{\s@everbatim\@everbatimx\expandafter +%! {\the\newlinechar}} +\@namedef{everbatim*}{\s@everbatim\@everbatimx } -\def\endeverbatim {\if@newlist \leavevmode\fi\endtrivlist } - -\@namedef{endeverbatim*}{\endeverbatim\aftergroup\everbatimundoparskip} -\def\everbatimundoparskip{\vbox{}\kern-\baselineskip\kern-\parskip} % Note 25 juin 2021 % On ne peut pas emboîter un everbatim à l'intérieur d'un everbatim % ou un everbatim* à l'intérieur d'un everbatim*... @@ -197,6 +184,14 @@ }% \obeylines \@vobeyspaces } +\def\everbatimtop {\MacroFont\small}% default +\let\everbatimhook\empty +\def\everbatimeverypar{\strut + {\everbatimbgcolorcmd\vrule\@width\linewidth }% + \kern-\linewidth + \kern\everbatimindent } +\let\everbatimbgcolorcmd\empty +\def\everbatimindent {\z@} \begingroup \lccode`X 13 @@ -210,31 +205,47 @@ |lowercase[|endgroup% both freezes catcodes and converts X to active ^^M |def|@everbatim #1X#2\end{everbatim}% [#2|end[everbatim]|everbatimbottom ] -|def|@everbatimx #1#2X#3\end{everbatimY}]% - {#3\end{everbatim*}% - \everbatimbottom +|def|@everbatimx #1X#2\end{everbatimY}]% + {#2\end{everbatim*}% +% refactored 2022/01/11, rather than passing \newlinechar value +% as was done formerly via everbatim* (see above) and fetching it here as #1 +% it is thus assumed executed contents will not terminate a scope + \edef\everbatimrestorenewlinechar{\newlinechar\the\newlinechar\relax}% \newlinechar 13 +% refactored 2022/01/11: +% attention, \parskip set to zero for execution of contents +% reason: avoid extra space if everbatim* is in an \item of a list +% between verbatim and output of execution, if it starts a paragraph +% \vskip-\parskip would be no good in case contents create a display + \edef\everbatimrestoreparskip{\parskip\the\parskip}% + \parskip\z@skip % execution as LaTeX code of contents \everbatimxprehook - \scantokens {#3}% - \newlinechar #1\relax + \scantokens {#2}% + \everbatimrestorenewlinechar + \everbatimrestoreparskip \everbatimxposthook }% - % L'espace venant du endofline final mis par \scantokens sera inhibé si #3 se % termine par un % ou un \x, etc... -\let\everbatimxfgcolorcmd\empty +\let\everbatimbottom\empty + +\def\endeverbatim {\if@newlist \leavevmode\fi\endtrivlist } +\@namedef{endeverbatim*}{\endeverbatim} +% \@namedef{endeverbatim*}{\endeverbatim\aftergroup\everbatimundoparskip} +% \def\everbatimundoparskip{\vbox{}\kern-\baselineskip\kern-\parskip} +% \let\everbatimundoparskip\empty + +% rationale: we do not want a group +% see xint.dtx for better way avoiding colorstack overflow problem +% with latex+dvipdfmx \def\everbatimxprehook {\colorlet{everbsavedcolor}{.}% - \everbatimxfgcolorcmd - \smallskip % pour polexpr-examples.tex - % à cause de problèmes avec les - % output en "display" - }% + \everbatimxfgcolorcmd}% +\let\everbatimxfgcolorcmd\empty % default \def\everbatimxposthook {\color{everbsavedcolor}} - \catcode`_ 8 \makeatother @@ -251,9 +262,9 @@ % \verb %\colorlet{verbcolor}{DarkCyan} -\colorlet{verbcolor}{black} +\colorlet{verbcolor}{Maroon} \colorlet{verbsoftwrapiconcolor}{DarkBlue} -\def\MicroFont{\ttfamily%\color{verbcolor} +\def\MicroFont{\ttfamily\color{verbcolor} \makestarlowast\makequotesstraight}% % everbatim/everbatim* @@ -265,11 +276,13 @@ \def\MacroFont{\ttfamily\color{everbatimfgcolor}} %\colorlet{everbatimbgcolor}{WhiteSmoke} -\colorlet{everbatimbgcolor}{Ivory} +%\colorlet{everbatimbgcolor}{Ivory} +\colorlet{everbatimbgcolor}{Beige} \def\everbatimbgcolorcmd{\color{everbatimbgcolor}} %\colorlet{everbatimxfgcolor}{MidnightBlue} -\colorlet{everbatimxfgcolor}{OliveDrab} +%\colorlet{everbatimxfgcolor}{OliveDrab} +\colorlet{everbatimxfgcolor}{Maroon} \def\everbatimxfgcolorcmd{\color{everbatimxfgcolor}} % Notice that \macrocode uses \macro@font which stores the \MacroFont meaning @@ -281,7 +294,7 @@ The package provides a parser |\poldef| of algebraic polynomial -expressions. +expressions. Once defined, a polynomial is usable by its name either as a numerical function in |\xintexpr/\xinteval|, or for additional polynomial @@ -373,11 +386,10 @@ file. \section{A first example} - In this example the polynomial is square-free. \begin{everbatim*} \poldef f(x) := x^7 - x^6 - 2x + 1; - +% \PolToSturm{f}{f} \PolSturmIsolateZeros{f} The \PolTypeset{f} polynomial has \PolSturmNbOfIsolatedZeros{f} distinct real |