TeX/Mathematica is a set of tools that provide facilities of Mathematica Notebooks in a UNIX environment, under GNU Emacs. They permit interaction between a text and a Mathematica buffer and, if desired, the use of TeX/LaTeX to annotate Mathematica-based explorations and programs. Inclusion of Mathematica-generated graphics in TeX/LaTeX documents printed using PostScript is supported. The tools also support the automatic generation of Mathematica packages from Mathematica documents. With these tools one can interactively develop and refine teaching and research documents. The interactive nature of the tools encourages Mathematica-based exploration as a natural part of the writing process. Getting TeX/Mathematica *********************** The TeX/Mathematica tools are available from Internet host `chem.bu.edu' [128.197.30.18] by anonymous `ftp' in directory `/pub/tex-mathematica'. The author can be reached at Internet address `dan@chem.bu.edu'. The `ftp' directory contains four files * `README', which duplicates the information in this node. * `CHANGES', which describes changes that have been made. * `tex-mma-j.ps.Z', the compressed PostScript documentation/example. * `tex-mma.tar.Z', the TeX/Mathematica distribution kit (includes the first three files). LaTeX description of TeX/Mathematica ==================================== The PostScript document `tex-mma-j.ps.Z' is derived from the LaTeX description of TeX/Mathematica. Transfer the document from the `ftp' directory in binary (image) mode and then print it with zcat tex-mma-j.ps.Z | lpr The source for this document is the LaTeX file `tex-mma-j.tex' and the BibTeX file `tex-mma-j.bib'. You can use `tex-mma-j.tex' as a LaTeX example of a TeX/Mathematica document. Files in the distribution kit ============================= The file `tex-mma.tar.Z' contains the TeX/Mathematica tools. These consist of the following: Documentation things: * `tex-mma.texinfo', Texinfo documentation of TeX/Mathematica * `tex-mma.ps.Z', compressed Texinfo document formatted with TeX into PostScript * `tex-mma.info', Info file (this file) for on-line Emacs documentation * `tex-mma-j.tex', LaTeX description/example of TeX/Mathematica * `tex-mma-j.bib', BibTeX file for `tex-mma-j.tex' * `tex-mma-j.ps.Z', compressed LaTeX documentation formatted in PostScript * `sin3x.ps', Mathematica-generated figure included in `tex-mma-j.tex' * `tex-mma-tex.tex', TeX example of TeX/Mathematica * `texinfo.tex', TeX macros used to format `tex-mma.texinfo' GNU Emacs things: * `tex-mma.el', the `tex-mathematica' package * `math.el', David Jacobson's Mathematica mode package (*Note math::) * `unix-tex-mma.el', example implementation of cell-type `unix' TeX/LaTeX things: * `mathematica10pt.tex', TeX 10 point TeX/Mathematica interface * `mathematica12pt.tex', TeX 12 point TeX/Mathematica interface * `mathematica.sty', LaTeX generic TeX/Mathematica interface * `mathematica.tex', macros for formatting TeX/Mathematica documents, used by the preceding files Shell scripts and Mathematica commands for processing graphics, and shell script and template file for Mathematica package assembly: * `PSTeX.m', generates `psfig'-adapted graphics to a file, without PostScript prolog * `addBBox', shell script called by `PSTeX' * `PSTeXpro.m', generates `psfig'-adapted graphics to a file, with PostScript prolog * `addBBoxpro', shell script called by `PSTeXpro' * `addBBoxpro.awk', `awk' script called by `addBBoxpro' * `PSFile.m', generates full-page graphics to a file, with PostScript prolog * `tex-mma-assemble-package', shell script for Mathematica package assembly * `tex-mma-assemble-package.tmplt', Emacs Lisp template used by `tex-mma-assemble-package' This is from Cameron Smith (*Note addBBox::): * `mma.pro.1.2', Mathematica Version 1.2 PostScript prolog. Note that a different prolog will be needed for Mathematica Version 2.0. This will be available from the author (*Note Getting tex-math::). These are from Trevor Darrell's `psfig/tex' distribution (*Note psfig::): * `psfig.pro', `psfig' PostScript prolog. * `psfig.sty', `psfig' for LaTeX. * `psfig.tex', `psfig' for TeX. Installation procedure ====================== 1. Transfer `tex-mma.tar.Z' in binary (image) mode into an empty directory, and extract its contents, with (for example) zcat tex-mma.tar.Z | tar xvf - 2. Install the Info on-line documentation file `tex-mma.info' where your Emacs looks for Info file. If desired, add a pointer to it to your Info directory file so that it will appear in the Info top-level menu. The source for `tex-mma.info' is `tex-mma.texinfo'. The file `tex-mma.ps.Z' is the compressed TeX formatted version, made using the `texinfo.tex' included in the distribution (see the beginning of `tex-mma.texinfo' for directions). The formatted version can be printed with zcat tex-mma.ps.Z | lpr It contains complete details of the TeX/Mathematica tools. 3. Edit `tex-mma.el' to * set `tex-mma-process-string' to the command you use to start Mathematica (default is `math'); * set `tex-mma-info-file' to point to where you put the file `tex-mma.info' 4. Run `M-x byte-compile' on `tex-mma.el' and store the resulting `tex-mma.elc' wherever your GNU Emacs looks for files. 5. Add the following to the GNU Emacs initialization file (autoload 'tex-mathematica "tex-mma" "Major-mode for interaction with Mathematica from TeX." t) (autoload 'plain-tex-mathematica "tex-mma" "Major-mode for interaction with Mathematica from TeX." t) (autoload 'latex-mathematica "tex-mma" "Major-mode for interaction with Mathematica from TeX." t) 6. If you do not have David Jacobson's Mathematica mode package `math.el', install it following the instructions in `math.el'. If you do have `math.el', make sure your version is at least as current as the one here, which contains changes necessary for use with `tex-mma.el'. Make sure you place the file `math.el' (or, better, the byte-compiled file `math.elc') where your Emacs looks for libraries, so that `tex-mma.elc' will be able to load it if it is not already loaded. 7. Edit `mathematica.tex' (at the end) to specify where the PostScript prolog files `psfig.pro' and `mma.pro.1.2' will be, and put the prolog files there. 8. If you are using a LaTeX *earlier* than 2 May 90, edit `mathematica.sty' according to the comments there. 9. Put `mathematica.tex', `mathematica.sty', `mathematica12pt.tex', `mathematica10pt.tex', `psfig.sty', and `psfig.tex' where your TeX looks for macro files. 10. Put `PSTeX.m', `PSTeXpro.m' and `PSFile.m' where your Mathematica looks for packages. 11. Edit `addBBoxpro' to specify which `awk' you use (default is GNU awk, `gawk'). 12. Edit `tex-mma-assemble-package' to set the variables `bindir', `tmpdir' and `tmpdirsed' for your system, as described in the comments there and then place `tex-mma-assemble-package.tmplt' in `bindir'. 13. Put `addBBox', `addBBoxpro', `addBBoxpro.awk' and `tex-mma-assemble-package' on your system's binary search path, make sure they have execute status, and then execute `rehash'. You should be ready to go: Startup emacs, run `M-x tex-mathematica' and have fun.