From 7b16d3b1d6a8cb9b23b012e4527ee5d9e061aa04 Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Mon, 20 Jan 2014 11:01:30 +0000 Subject: TeX & Co: New versions from Knuth (TeX tuneup of 2014) git-svn-id: svn://tug.org/texlive/trunk@32727 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/mf.web | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'Build/source/texk/web2c/mf.web') diff --git a/Build/source/texk/web2c/mf.web b/Build/source/texk/web2c/mf.web index 13c4b85f498..ca3cb2518d8 100644 --- a/Build/source/texk/web2c/mf.web +++ b/Build/source/texk/web2c/mf.web @@ -25,6 +25,7 @@ % Version 2.7182 fixed bugs related to "" (August 1996). % Version 2.71828 suppressed autorounding in dangerous cases (June 2003). % Version 2.718281 was a general cleanup with minor fixes (February 2008). +% Version 2.7182818 was similar (January 2014). % A reward of $327.68 will be paid to the first finder of any remaining bug. @@ -154,7 +155,7 @@ helping to determine whether an implementation deserves to be known as `\MF\kern.5pt' [cf.~Stanford Computer Science report CS1095, January 1986]. -@d banner=='This is METAFONT, Version 2.718281' {printed when \MF\ starts} +@d banner=='This is METAFONT, Version 2.7182818' {printed when \MF\ starts} @ Different \PASCAL s have slightly different conventions, and the present @!@:PASCAL H}{\ph@> @@ -295,7 +296,7 @@ redundant code to be eliminated when the production system is being generated. Arithmetic overflow will be detected in all cases. @:PASCAL H}{\ph@> @^system dependencies@> -@^Overflow in arithmetic@> +@^overflow in arithmetic@> @= @{@&$C-,A+,D-@} {no range check, catch arithmetic overflow, no debug overhead} @@ -11139,11 +11140,11 @@ are the most important; diagonal lines (when $\vert u\vert=\vert v\vert=1$) are next; and then come lines with slope $\pm2$ or $\pm1/2$. The nicest way to generate all rational directions having small -numerators and denominators is to generalize the Stern-Brocot tree +numerators and denominators is to generalize the Stern--Brocot tree [cf.~{\sl Concrete Mathematics}, section 4.5] @^Brocot, Achille@> @^Stern, Moritz Abraham@> -to a ``Stern-Brocot wreath'' as follows: Begin with four nodes +to a ``Stern--Brocot wreath'' as follows: Begin with four nodes arranged in a circle, containing the respective directions $(u,v)=(1,0)$, $(0,1)$, $(-1,0)$, and~$(0,-1)$. Then between pairs of consecutive terms $(u,v)$ and $(u',v')$ of the wreath, insert the @@ -11172,7 +11173,7 @@ the intersection $(m'',n'')$ and compute its class with respect to $(u+u',v+v')$. If the class is too large to be the best approximation, we move back the proper number of steps from $(m'',n'')$ toward smaller class numbers on both $l$ and~$l'$, unless this requires moving to points -that are no longer in the polygon; in this we arrive at two points that +that are no longer in the polygon; in this way we arrive at two points that determine a line~$l''$ having the appropriate class. The process continues recursively, until it cannot proceed without removing the last remaining point from the class for $(u,v)$ or the class for $(u',v')$. @@ -11298,10 +11299,10 @@ if gamma<=abs(alpha) then else alpha:=1-gamma @ If $a$ and $b$ are the semi-major and semi-minor axes, -the given ellipse rises highest above the $y$-axis at the point +the given ellipse rises highest above the $x$-axis at the point $\bigl((a^2-b^2)\sin\theta\cos\theta/\rho\bigr)+i\rho$, where $\rho=\sqrt{(a\sin\theta)^2+(b\cos\theta)^2}$. It reaches -furthest to the right of~the $x$-axis at the point +furthest to the right of~the $y$-axis at the point $\sigma+i(a^2-b^2)\sin\theta\cos\theta/\sigma$, where $\sigma=\sqrt{(a\cos\theta)^2+(b\sin\theta)^2}$. @@ -11446,6 +11447,7 @@ left_length(r):=left_length(r)-delta; end @ Only the coordinates need to be copied, not the class numbers and other stuff. +At this point either |link(p)| or |link(link(p))| is |null|. @= begin s:=null; q:=h; @@ -11455,7 +11457,8 @@ loop@+ begin r:=get_node(knot_node_size); link(r):=s; s:=r;@/ q:=link(q); if y_coord(q)=0 then goto done1; end; -done1: link(p):=s; beta:=-y_coord(h); +done1: if (link(p)<>null) then free_node(link(p),knot_node_size); +link(p):=s; beta:=-y_coord(h); while y_coord(p)<>beta do p:=link(p); q:=link(p); end @@ -22436,6 +22439,7 @@ end @ @= begin check_gf; gf_string("title ",cur_exp); +@.title@> end @ @= -- cgit v1.2.3