[OS X TeX] Binomial Expansion
Ross Moore
ross at ics.mq.edu.au
Thu Nov 23 05:27:17 CET 2006
Hello Alain,
On 23/11/2006, at 1:52 PM, Alain Schremmer wrote:
> If the following is OT, I would very much appreciate being
> redirected to some more appropriate list.
>
> If only to learn a little bit about how LaTeX works, I thought I
> would try over the Christmas break to work on defining something like
>
> \Evaluate{Polynomial in x}{some number}
>
> and/or
>
> \Expand{a}{b}{some degree} (i.e. binomial expansions)
>
> Of course I have no hope whatsoever to succeed with either one but
> I started to read Appendix 1 of Companion 2ed and that doesn't look
> like very relevant.
TeX was not designed to do symbolic algebra; though,
in principle, it has enough features to be able to.
Some packages have been written to do a bit, but they
are hardly efficient beyond simple calculations.
Do you have packages like Mathematica, or Maple ?
These can be run from the command-line, and programmed
to write their output into a file.
Indeed, there's usually a TeXForm, which is designed
for use within (La)TeX jobs.
This means that you can use (La)TeX to write programming
code into a file, then:
a. using TeX's \write18 feature
(provided --shell-escape is enabled )
launch an external program to run, and read that file,
writing the result into a different file;
b. pause the TeX job until the external job is finished;
c. read in and process the result.
All of these steps are do-able, but none are particularly
easy to program correctly in TeX, without some experience.
As an example of such interactive programming with TeX,
I have written coding that performs the following task:
a. locates the bibliography of a maths article;
b. writes it into an external file; then
c. re-reads the external file, with the macros having
altered meanings, to do the following:
(i) build up an XML file including information from
the bibliography for each bibitem;
(ii) prepares a data-base query including ...
(iii) ... the author, title, etc. in a loosely
formatted LaTeX form, as might be used to typeset it;
(iv) add lines for some extra fields, initially empty.
d. invokes a Perl program to submit the XML file to
MathSciNet at www.ams.org as a batched-MRef query;
e. awaits the result of the query, which is written into
another file;
f. calls up the command-line 'grep' utility to locate
and store the values of the previously empty fields;
(which are the data-base codes for the articles themselves)
g. then uses more TeX programming to read and parse the
new information, for use in typesetting the article.
The result of all this is to include an active hyperlink to the
MathSciNet record of each referenced bib-item as part of the
typeset presentation of the bibliography.
(The information found this way is also used to create a web-site
for the article, including the bibliography hyperlinked to
MathSciNet, as above.)
Many different programs are involved in this example.
In your case, it can be something simpler using just
Mathematica or Maple (or whatever); but you still need
to learn how to make TeX write to external files, and
read back the results from other files.
>
> Is there something readable on the subject? For instance, something
> that would help me read the awesome polynom.sty?
It may take years of practice before that becomes readable.
At some point you will have to read parts of The TeX Book,
or other books about programming in TeX.
Only then do you have any real chance of understanding what
each line of such coding is actually doing.
>
> Hopeful regards
> --schremmer
Best of luck,
Ross
------------------------------------------------------------------------
Ross Moore ross at maths.mq.edu.au
Mathematics Department office: E7A-419
Macquarie University tel: +61 +2 9850 8955
Sydney, Australia 2109 fax: +61 +2 9850 8114
------------------------------------------------------------------------
------------------------- Info --------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
& FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
More information about the macostex-archives
mailing list