$Modified: Wed Feb 9 19:48:19 EST 1994 by dan $ TeX/Mathematica 1.4, for Mathematica versions 2.1 and 2.2, and Emacs 18 and 19 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, using a WEB-like notation. Package generation can be used to document other programming languages. 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 for Mathematica versions 2.1 and 2.2 are available from Internet host `chem.bu.edu' [128.197.30.18] by anonymous `ftp' in directory /pub/tex-mathematica/for-Mathematica-2.1-and-2.2 The TeX/Mathematica tools for Mathematica versions 1.2 and 2.0 are available in correspondingly named directories. 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. * `tutorial.ps.Z', the compressed tutorial/LaTeX example formatted in PostScript. * `tex-mma.tar.Z', the TeX/Mathematica distribution kit (includes the first three files). * Menu: * Documentation:: LaTeX description of TeX/Mathematica * Install:: Step-by-step installation instructions * Changes:: Chenages made from previous versions * Tool kit:: Contains the TeX/Mathematica tools LaTeX description of TeX/Mathematica ==================================== Transfer the PostScript document `tutorial.ps.Z' from the `ftp' directory in binary (image) mode and then print it with zcat tutorial.ps.Z | lpr The source for this document is the LaTeX file `tutorial.tex' and the BibTeX file `tutorial.bib'. You can use `tutorial.tex' as a LaTeX example of a TeX/Mathematica document. 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. The file `tex-mma.ps.Z' is the compressed TeX formatted version of the Info on-line documentation of TeX/Mathematica (what you are reading now), 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 the shell script `tex-mma-install', according to the instructions there. Then execute it, with, for example, chmod +x tex-mma-install; tex-mma-install This will customize the TeX/Mathematica tools for your system and place them in the appropriate directories. If you want to change things, just re-edit `tex-mma-install' and then re-execute it. 4. Add the contents of `tex-mma.m' to your Mathematica initialization file `init.m' and add the contents of `tex-mma.emacs' to your Emacs system default file `default.el' or your own initialization file `.emacs'. 5. The latest version (1.9) of psfig/TeX is included. This works with compressed figures, which are supported in the latest (5.512a) version of the Rokicki `dvips' processor. You can print the documentation for psfig/TeX 1.9 with, for example, zcat psfig-doc.ps.Z | lpr You should be ready to go: Execute `rehash', startup emacs, run `M-x latex-mathematica', for example (*note Startup::.), and have fun. Changes from previous versions ============================== TeX/Mathematica incorporates the new graphics prolog of Mathematica version 2.1 (this is unchanged in version 2.2). Because of the change in graphics prolog, this version does not work with Mathematica version 2.0. In LaTeX, `mathematica' is now implemented as a true environment. The query `Replace output?' has been removed from `tex-mma-math-update', since synchronization is now handled under program control. A consequence is that execution of initialization cells (`C-c i') or all cells (`C-c a') can be done without user intervention, by using the `C-u' prefix. `tex-mma.el' has been rewritten as a minor mode, using `min-bind.el' functions. This means that TeX/Mathematica works with Emacs 18 and Emacs 19, and with either GNU `tex-mode.el' or `AUC-TeX'. Thanks to Christian Lynbech (`lynbech@daimi.aau.dk') for the original nudge, Per Abrahamsen (`abraham@research.att.com') for suggesting the minor-mode approach, and Inge Frick (`inge@nada.kth.se') for providing `min-bind.el'. The new function `tex-mma-math-interrupt' has been added, to interrupt evaluation of the current cell. It is bound to to `C-c C-c'. A related change is that `tex-mma-math-send-cell' has been modified to optionally interrupt Mathematica when `C-g' (`keyboard-quit') is entered. `TeX-mma-mode-map' has been changed to `tex-mma-keymap'. The map now contains just the TeX/Mathematica-specific bindings. These bindings can be augmented or changed using startup hooks. Startup hooks have been changed from `text-mode-hook', `TeX-mma-mode-hook', and `plain-TeX-mode-hook' to `tex-mma-minor-mode-hook' and `plain-tex-mma-minor-mode-hook' The hooks FILE`-tex-mma-hook', used to setup new cell types, are left unchnaged. Upon package assembly (`C-c m'), the assembled file is made visible in another window. `C-u' was inadvertently disabled as the universal prefix character. This has been fixed. Files in the distribution kit ============================= The TeX/Mathematica tools 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 files (this file) for on-line Emacs documentation * `tutorial.tex', LaTeX tutorial/example of TeX/Mathematica * `tutorial.bib', BibTeX file for `tutorial.tex' * `tutorial.ps.Z', compressed LaTeX tutorial formatted in PostScript * `tutorial-fig.ps.Z' and `tutorial-fig.ps.bb', compressed Mathematica-generated figure and bounding box information included in `tutorial.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::.) * `shell-tex-mma.el', example implementation of cell-type `shell' * `min-bind.el', Inge Frick's (`inge@nada.kth.se') package to bind keymaps, syntax tables and varibales in minor modes. Used by `tex-mma.el' * `kill-fix.el', used by `min-bind.el' * `min-out.el', outline minor mode, provided as a convenience for editing `tex-mma.el' TeX/LaTeX things: * `mathematica10pt.tex', TeX 10 point TeX/Mathematica interface * `mathematica12pt.tex', TeX 12 point TeX/Mathematica interface * `mathematica.tex', macros for formatting TeX/Mathematica documents, used by the preceding files * `mathematicag.tex', `mma-tex-mma.tex' and `shell-tex-mma.tex' are alternatives to and `mathematica.tex' for multiple-cell types (*note Macros::.) * `mathematica.sty', `verbatim.sty', `vrbinput.sty', and `vrbtabs.sty' are macros for formatting LaTeX/Mathematica documents * `shell.sty', example definition of new cell types for LaTeX/Mathematica (*note Macros::.) * `mathematicaT.sty', template to define other cell types. This template was used to make `shell.sty'. See comments in the file. 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.el.tmplt', Emacs Lisp template * `tex-mma-compress', shell script to compress graphics * `tex-mma-convert', shell script to convert graphics to Mathematica 2.0 format * `tex-mma-convert.sed', sed script used by `tex-mma-convert' These are the graphics prologs (*note addBBox::.): * `mma.pro-2.1', Mathematica Version 2.1 PostScript prolog. Note that a different prolog is needed for Mathematica Version 2.1. * `mma.pro-2.0', Mathematica Version 2.0 PostScript prolog. Note that a different prolog is needed for Mathematica Version 1.2. This is available from the author (*note Getting tex-math::.). These are from Trevor Darrell's `psfig/tex' distribution (*note psfig::.): * `psfig.tex', `psfig' for TeX. * `psfig.sty', a symbolic link to `psfig.tex', for LaTeX. * `psfig-doc.ps.Z', the compressed PostScript documentation of psfig/TeX 1.9.