[Info-vax] LaTeX on VMS

Ralf Gaertner ralf.gaertner at t-systems.com
Thu Oct 6 04:23:29 EDT 2011


On 3 Okt., 23:47, glen herrmannsfeldt <g... at ugcs.caltech.edu> wrote:
> In comp.os.vms Phillip Helbig---undress to reply <hel... at astro.multiclothesvax.de> wrote:
>
> (snip)
>
> > Much LaTeX development was done on VMS, maybe even Lamport's original
> > LaTeX.  It is a very portable programme, and has existed on VMS for
> > decades.  Hence, there is no need to "port" it.  What might be an issue
> > are incompatibilities which have crept into the distribution.
>
> LaTeX should run on any system that can run TeX.  
>
> In the early days, all TeX work was done in Pascal, but then someone
> wrote Web2C and, in the end, it is compiled C code.
>
> The old VMS TeX system used a command definition (CLD if I remember)
> to define the commands and arguments to VMS.  That presumably
> takes some work to decode inside the program.  Compiling the output
> of Web2C would not do that, but still should make a usable system.
>
> Otherwise, does the old VMS TeX source (and changefile) still exist?
>
> -- glen

Yes, the old TeX does indeed use a CLD for most of the programs and
tools. Since a CLD
definition is much simpler to code, I wrote a wrapper routine to match
the VMS qualifiers
to the appropiate command line options of DVIPS.

Updating TeX / LaTeX is not really hard (but time consuming):
- fetch the latest sources from D.Knuth and modify the VMS changefiles
for TANGLE and
  WEAVE until the old and versions provide the same results.
- do the same with the the other VMS changefiles for the utilites
(like GFTOPK etc.)
- do the same with the VMS changefiles for TeX and Metafont

The changes are minimal when I looked at them. Now you have a basic
TeX system

Get the sources for DVIPS and compile them on VMS; you have to pull
them from TeXlive
or another archive.

Since LaTeX requires e-TeX you have to fetch it from CTAN and update
the VMS changefile
for TeX. If this is done, get LaTeX (which includes AMSTeX etc.) and
put the files into the
correct places. Finally run TeX in the init mode to create the format
files.

Metafont is somewhat more interesting. Even that today Postscript
fonts are common,
it is a nice execise to unify Metafont. Originally all Metrafont code
was written in Pascal,
then the VAX / VMS implementation replaced the CPU intensive code by
VAX Macro.
During the port to Alpha / VMS the Macro code could not be easily
ported due to some
bugs, so it was replaced by C code, which results in a slighly
complicated build procedure.
Using the original Pacsal code would simplify this (even for a I64
port).

Nevertheless, one has to provide the Postscript fonts as they are
available by CTAN;
this will result in fiddling with file attributes or converting the
fonts into a VMS specific
format (VMS knows a lot more file types than text or binary).

Once you have this new Metafont you have to test them by rebuilding
the standard fonts;
that is where the MFWARE utilities (GFTOPK etc.) are helpful.

Now you have to fetch the sources for pdfTeX and pdfLaTeX to get a
more modern TeX.
Then there are TeX branches like like LuaTeX which might be of
interest. Since LaTeX
gets improved by smaller packages one has the fetch them regulary from
CTAN. At
this point one might think about the performance and add a VMS
specific "library manager"
to handle the large amount of sources (text) and fonts (binary) used
by TeX. This will of
course need a change of TeX to access a library module instead of a
file. The Unix
implementations use KPATHSEA to speed up the file search.

And to make this understandable the online help must be up to date.

Ralf



More information about the Info-vax mailing list