[Aimmath-commit] AIM/WEB-INF/maple/aim LaTeX.mpl,1.5,1.6
Brought to you by:
gustav_delius,
npstrick
|
From: <mo...@us...> - 2003-09-10 02:38:14
|
Update of /cvsroot/aimmath/AIM/WEB-INF/maple/aim
In directory sc8-pr-cvs1:/tmp/cvs-serv15309
Modified Files:
LaTeX.mpl
Log Message:
fixed bug "missing parentheses around complex numbers"
Index: LaTeX.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/LaTeX.mpl,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** LaTeX.mpl 1 Sep 2003 16:34:42 -0000 1.5
--- LaTeX.mpl 10 Sep 2003 02:38:02 -0000 1.6
***************
*** 174,202 ****
# KM
`Package/Assign`(
! `latex/latex/*`,
! "",
! proc(e)
! local subexp, den, ee, subee, i, num, texlist, lnum,lden, `\\,`, `\\frac `, `\\sqrt `,
! `{`, `}`;
! global _LatexSmallFractionConstant;
! option
! `Copyright (c) 1992 by the University of Waterloo. All rights reserved.`;
!
if type(op(1, e), 'numeric') and op(1, e) < 0 then
! RETURN(`latex/latex/copy`('`-`'), `latex/print`(-e))
! fi;
if type(op(1, e), 'numeric') then
! # KM
! # DIST i := _LatexSmallFractionConstant;
! # DIST _LatexSmallFractionConstant := 50;
! # END KM
! texlist :=
! `latex/print`(op(1, e)), `\\,`, `latex/print`(subsop(1 = 1, e))
! ;
! # KM
! # DIST _LatexSmallFractionConstant := i;
! # END KM
! RETURN(texlist)
! fi;
texlist := NULL;
num := 1;
--- 174,196 ----
# KM
`Package/Assign`(
! `latex/latex/*`,
! "",
! proc(e)
! local subexp, den, ee, ff, subee, i, k, num, texlist, `\\,`,
! `\\frac `, `\\sqrt `, `{`, `}`, ccnt, keepcnt, ll, nlist;
! global _LatexSmallFractionConstant;
! option `Copyright (c) 1992 by the University of Waterloo. All rights reserved.`;
if type(op(1, e), 'numeric') and op(1, e) < 0 then
! LaTeX:-CountCharacters(1);
! return `latex/latex/copy`('`-`'), `latex/print`(-e)
! end if;
if type(op(1, e), 'numeric') then
! # i := _LatexSmallFractionConstant;
! # _LatexSmallFractionConstant := 50;
! texlist := `latex/print`(op(1, e)), `\\,`,
! `latex/print`(subsop(1 = 1, e));
! # _LatexSmallFractionConstant := i;
! return texlist
! end if;
texlist := NULL;
num := 1;
***************
*** 206,269 ****
if type(subee, 'fraction') then
num := num*op(1, subee); den := den*op(2, subee)
! elif type(subee, '`^`') and type(op(2, subee), 'rational') and
! op(2, subee) < 0 then
! if type(subee,table) then
! den := den/op(subee)
! else
! den := den/subee
! fi
! else
! if type(subee,table) then
! num := num*op(subee)
! else
! num := num*subee
! fi
! fi
! od;
if den <> 1 then
! if type(num, '`latex/istall`') or type(den, '`latex/istall`') then
if num <> 1 then
texlist := `latex/print`(num);
! if type(num, `+`) then
! texlist := `\\left(`, texlist, `\\right)`
! fi
else texlist := NULL
! fi;
! if type(den, '`*`') then den := [op(den)] else den := [den] fi;
for subexp in den do
! texlist := texlist, `latex/print`(1/subexp)
! od;
texlist
! else
! lnum := `if`(type(num,table),
! `latex/print`(op(num)),`latex/print`(num));
! lden := `if`(type(den,table),
! `latex/print`(op(den)),`latex/print`(den));
! texlist := texlist, `{`, '`\\frac `', '`{`',
! lnum, '`}`', '`{`', lden, '`}`', `}`;
! fi
else
i := 1;
! for subee in ee do
! if type(subee, {'series', '`+`'}) then
! texlist := texlist, `latex/latex/prinpar`(subee)
! elif i < nops(ee) and type(subee, 'function') and
! member(op(0, subee), {diff, Diff}) then
! texlist := texlist, `latex/latex/prinpar`(subee)
! elif type(subee,table) then
! texlist := texlist,`latex/print`(op(subee));
! else texlist := texlist, `latex/print`(subee)
! fi;
if i < nops(ee) and (
! i = 1 and type(op(1, ee), 'integer') or type(subee, '`!`') or
! type(subee, {'string', 'symbol'}) and 1 < length(subee) or
! has([`latex/print`(subee)], '`\\sqrt `')) then
! texlist := texlist, `\\,`
! fi;
i := i + 1
! od
! fi;
! RETURN(texlist)
! end
):
--- 200,268 ----
if type(subee, 'fraction') then
num := num*op(1, subee); den := den*op(2, subee)
! elif
! type(subee, '`^`') and type(op(2, subee), 'rational')
! and op(2, subee) < 0 then den := den/subee
! else num := num*subee
! end if
! end do;
if den <> 1 then
! if type(num, '`latex/istall`') or
! type(den, '`latex/istall`') then
if num <> 1 then
texlist := `latex/print`(num);
! if type(num, '`+`') then texlist :=
! ` \\left( `, texlist, ` \\right) `
! end if
else texlist := NULL
! end if;
! if type(den, '`*`') then den := [op(den)]
! else den := [den]
! end if;
for subexp in den do
! nlist := `latex/print`(1/subexp);
! ll := LaTeX:-CheckLineBreak();
! texlist := texlist, nlist, ll
! end do;
texlist
! else texlist := texlist, `{`, '`\\frac `', '`{`',
! `latex/print`(num), '`}`', '`{`',
! `latex/print`(den), '`}`', `}`
! end if
else
i := 1;
! ff := [op(ee)];
! for k to nops(ff) do
! keepcnt := LaTeX:-ResetCount();
! if type(ff[k], {'series', '`+`'}) then
! nlist := `latex/latex/prinpar`(ff[k])
! elif type(ff[k], 'complex'('numeric')) and
! nops(ff[k]) = 2 then
! nlist := `latex/latex/prinpar`(ff[k])
! elif i < nops(ee) and type(ff[k], 'function')
! and member(op(0, ff[k]), {diff, Diff}) then
! nlist := `latex/latex/prinpar`(ff[k])
! elif type(ff[k], 'function') and
! member(op(0, ff[k]), {`@`, `@@`}) then
! nlist := `latex/latex/prinpar`(ff[k])
! elif type(ff[k], procedure) then
! nlist := `latex/latex/prinpar`(ff[k])
! else nlist := `latex/print`(ff[k])
! end if;
if i < nops(ee) and (
! i = 1 and type(op(1, ee), 'integer') or
! type(ff[k], '`!`') or
! type(ff[k], {'string', 'symbol'}) and
! 1 < length(ff[k]) or
! has([`latex/print`(ff[k])], '`\\sqrt `')) then
! nlist := nlist, `\\,`
! end if;
! ccnt := LaTeX:-SetCount(keepcnt);
! ll := LaTeX:-CheckLineBreak(ccnt);
! texlist := texlist, nlist, ll;
i := i + 1
! end do
! end if;
! texlist
! end
):
|