summaryrefslogtreecommitdiff
path: root/usergrps/uktug/baskervi/3_2/rahtz.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /usergrps/uktug/baskervi/3_2/rahtz.tex
Initial commit
Diffstat (limited to 'usergrps/uktug/baskervi/3_2/rahtz.tex')
-rw-r--r--usergrps/uktug/baskervi/3_2/rahtz.tex291
1 files changed, 291 insertions, 0 deletions
diff --git a/usergrps/uktug/baskervi/3_2/rahtz.tex b/usergrps/uktug/baskervi/3_2/rahtz.tex
new file mode 100644
index 0000000000..e948ab10b8
--- /dev/null
+++ b/usergrps/uktug/baskervi/3_2/rahtz.tex
@@ -0,0 +1,291 @@
+\title{A brief guide to \TeX\ assistants}
+\author[Sebastian Rahtz]{Sebastian Rahtz\\ArchaeoInformatica\\York}
+\begin{article}
+
+\def\PicR#1#2#3{%
+ \begin{figure*}
+ \centerline{\rotatebox{-90}{\epsfig{figure=#1.ps,#3}}}
+ \caption{#2}\label{#1}
+ \end{figure*}
+}
+\def\Pic#1#2{%
+ \begin{figure*}
+ \centerline{\epsfig{figure=#1.ps,height=.4\textheight}}
+ \caption{#2}\label{#1}
+ \end{figure*}
+}
+
+This paper offers a `back to basics' overview of the various types of
+software which are of assistance to the \TeX nical writer on a
+personal computer (this includes Unix machines, but excludes, for
+instance, VMS or VM/CMS systems). It is based on a presentation to the
+October \ukt\ meeting, and I am grateful to the other speakers, and
+our chairman Allan Reese, for insights and news. I would also like to
+refer readers to the Dutch \TeX\ Group's journal {\em MAPS}, whose
+issue 93.2 contains a variety of useful papers on \TeX\ interfaces
+(two of which are reproduced elsewhere in this issue of \BV.)
+
+Every \TeX\ user knows that the traditional command-line way of
+working (the `edit ; compile; \verb|{|preview, print\verb|}|' cycle)
+is far from ideal, and many people want some help.
+We may define eight different ways in which the environment we
+interact with can be improved:
+\begin{enumerate}
+\item Integrated environments (e.g.\ \TeX tures\ on Mac), where
+ everything is tightly-coupled, and designed from the ground up to
+ work together;
+\item Integrating shells (e.g.\ \TeX shell), where a set of different
+ programs are controlled by a single interface, which does its best
+ to protect the user from their idiosyncrasies and errors;
+\item Loosely-coupled packages (e.g.\ Windows, Desqview setups), where
+ a multi-tasking environment is used to combine together various
+ programs to provide a useful working environment;
+\item \TeX-aware editors (e.g.\ Gnuemacs AUC\TeX\ package), which
+ simplify the input of complex markup, and check syntax;
+\item \TeX\ super-scripts, including Makefile generators (e.g.\
+ `texit'); these take away the need to remember complicated program
+ switches, and remembering which files are up to date, by
+ understanding the rules about the different types of \TeX-related files;
+\item Super-previewers (e.g.\ xtex), which allow us to make greater
+ use of the previewer to inspect and interact with our document.
+\item Hypertext source convertors (e.g.\ latex2html), which make the
+ tedium of writing generic markup with \LaTeX\ more worthwhile by
+ giving it a life beyond the printed page;
+\item Friendly \TeX\ programming; when we {\em do} interact with
+ \TeX's enigmatic `*' prompt, we want macros to help us, not hinder
+ us. This is discussed by Jonathan Fine elsewhere in this \BV.
+\end{enumerate}
+
+Since most computer users seem to belong in distinct
+`camps', based on machines and operating systems, it seems appropriate
+to examine what is on offer in each area.
+
+\section{Windows, OS/2, and NT}
+For a fully-fledged Windows \TeX, we have to look to the commercial
+companies: Turbo\TeX, from Kinch Computer Co, offers a full \TeX,
+previewer, and drivers with a moderately-well integrated Windows
+interface, although (critically) it lacks a real integrated editor.
+The `traditional' PC supplier of \TeX, PC\TeX, has also recently
+released a Windows setup, although it (like Turbo\TeX) fails to take
+advantage of builtin fonts properly. Y\&Y sell a high-quality Windows
+previewer and PostScript driver, linked with a public domain \TeX\ and
+commercial programmer's editor, which work together well in a
+loosely-coupled way, and offer genuine integration with the Windows
+font systems (although the previewer has trouble using PK fonts).
+{\em Scientific Word} (described elsewhere in this \BV) takes a
+different direction by offering a WYSIWYG writers interface
+(particularly for maths) which saves files in \LaTeX\ format and does
+final formatting for printing with Turbo\TeX. None of these products,
+however, offer the same degree of integration and instant previewing as
+Textures on a Mac, and we still await the `real' Windows \TeX.
+
+The more impoverished writer who wants to build her own Windows \TeX\
+setup has a not altogether easy time.\footnote{Wietse Dol discusses
+ this more fully elsewhere in this \BV.} There is an excellent
+previewer, Hippocrates Sendoukas' {\em Dviwin} (now at version 2.81,
+but {\em still} lacking support for virtual fonts, and nowhere near
+using the Windows system fonts), and the excellent em\TeX\ ports of
+the basic \TeX\ programs run in DOS windows (with some shenanigans
+necessary to change extended memory managers), but integration is left
+to the user. The powerful editor Microemacs has an adequate Windows
+port, extensible to allow \TeX\ jobs (compiling, previewing, printing
+--- see Figure \ref{mea}) and context-sensitive help to be selected
+from menus, but it does not provide much protection for the user from
+the essentially unsatisfactory nature of Windows DOS boxes and
+multi-tasking. The alternative, running a DOS \TeX\ shell in a DOS box
+under Windows, probably gives a better result (see Wietse Dol's article).
+But the convenience of access to Windows printer drivers (such as fax
+boards --- see Figure \ref{dwina}) is a pointer to why this
+possibility should not be ignored.
+\PicR{mea}{Microemacs \TeX\ menus}{height=.4\textheight}
+\PicR{dwina}{Dviwin accessing Windows printer driver}{height=.4\textheight}
+
+Those converting to NT will, of course, have access to all the
+Windows tools, and the Unix `web2c' \TeX\ has been ported, but there
+do not yet appear to be any interfaces which make serious use of
+NT's abilities.
+
+OS/2 users are well served by the basic em\TeX\ kit, which has a
+proper Presentation Manager previewer, and by various shells (e.g.\
+{\em PM\TeX} which make life easy. Given the good multi-tasking,
+Windows compatibility, and the availability of compilers to port most
+Unix tools (such as {\em Gnuemacs}, {\em make} etc), the OS/2 \TeX ie
+has the best of almost all worlds.
+
+\section{DOS}
+The hard-pressed DOS user (or lover --- there are a few) has a
+plethora of tools to make up for the inadequacies of the command line.
+The most mature of the `shell' programs, which run \TeX, previewer,
+printer, editor etc for you sequentially when you select menu items
+from a character-based screen, is probably
+J\"urgen Schlegelmilch's \TeX shell (see Phons Bloemen's article below). A
+typical screen is shown in Figure \ref{tsb}. Other offerings include
+Thomas Esken's \TeX surface, Johannes Martin's \TeX pert,
+Ulrich Jahnz's Eddi4\TeX, the editors Redit and ET (see Reese's article
+above) and Petr Olsak's menu builder `mnu'. All of
+these have some or all of the following characteristics:
+\begin{itemize}
+\item a model of the original Turbo Pascal --- character screens
+ with pull-down menu bars;
+\item protection from the horrors of DOS environment variables
+ controlling programs from four different authors ({\em after} you
+ have got the shell properly configured);
+\item \TeX\ and other programs activated by `shelling out' to DOS,
+ (an intrinsically `uncool' procedure), with parsing of error messages;
+\item heavy use of customizable environments (see Figure \ref{eb}),
+ which can confuse the novice to screaming point;
+\item limited editors which can be difficult to use with
+ `industrial strength' documents;
+\item access to online \TeX\ context-sensitive help.
+\end{itemize}
+This is not to deny the great usefulness of parts of all of the DOS
+\TeX\ shells, but their parts are greater than their sum. The
+dedicated DOS \TeX\ user will find them extremely useful, but perhaps they
+can be summed up by saying that they will not convert many Microsoft
+Word users.
+
+\PicR{tsb}{\TeX shell, after running \TeX\ and finding an error}{width=.3\textheight}
+\PicR{eb}{Eddi4\TeX\ customization}{width=.3\textheight}
+
+A recent initiative by Dutch \TeX\ users has resulted in 4\TeX\ (see
+the article by Wietse Dol), a \TeX\ shell accompanied by a packaging
+of almost all the good public domain \TeX\ goodies. This is
+undoubtedly the system which is getting most support and development.
+The even more powerful As\TeX\ setup of Michel Lavaud (described in
+\TUB\ 14.3, 238--44) unfortunately depends on commercial software for
+its implementation, but those interested in a wider perspective on
+{\em managing} their \TeX\ document library should examine this closely.
+
+Those who want the approach of Scientific Word (WYSIWYG maths
+composition) in plain DOS can try the public domain ET by John
+Collins, or the commercial {\em Leo} from ABK Software.
+
+\section{Macintosh systems}
+The Macintosh user does not need convincing about GUIs or integration;
+for hard cash, she can buy what is probably the fastest (given the
+processor), slickest \TeX\ around, Textures. A port of the Unix \TeX\
+is available (CMac\TeX), and a half-way house, the shareware Oz\TeX,
+which offers integration between a good compiler, previewer and
+printer driver, but not quite the smooth transition of Textures, or the use
+of system fonts. What is lacking on a Mac is a WYSIWYG interface to
+mathematical writing such as that offered by Scientific Word.
+
+\section{Unix, etc}
+The Unix \TeX\ user has a rich variety of tools to play with; like
+everything else in Unix, they are dangerously powerful, and require
+dedication to obtain true mastery. They start with simple things
+like the {\em csh} or {\em bash} history mechanisms, which let you recall
+previous commands by name:
+\begin{verbatim}
+$ history
+ 171 lutex fine2
+ 172 dvips fine2
+ 175 latex interfac
+ 176 lpq
+ 180 dvips fine2 -o fine2.ps
+ 182 cp fine2.ps /user
+$ !lat
+$ !dv
+\end{verbatim}
+
+Another universal Unix tool is `make' which manages the relationship
+between different stages of a document's `compilation' from various
+sources, and keeps things up to date. A large book, with dozens of
+input files, hundreds of graphics inclusions from different programs,
+a bibliography managed with \BibTeX, and an index, is likely to need
+such a tool to keep the author sane. There are various tools to help
+you write `make' files, and to do similar jobs to `make':
+\begin{description}
+\item[imaketex] Just write an {\em imake} file and you just type
+ `make'; as in `just write'\ldots
+\item[texit] A Perl script which makes educated guesses about the
+ state of your \TeX\ file and helps you decide what to do next;
+\item[latexmk] Given a \LaTeX\ file this tries to work out what to do,
+ like a `makefile'; but does not understand multiple-level dependencies;
+\item[latex\_make] A set of rules for real `make', which understand a
+ wide range of common \TeX\ jobs; but tailoring is not for the
+ beginner. Sample `make' rules are shown in Figure \ref{make}.
+\end{description}
+If you are already a Unix programmer, these are well worth
+investigating.
+
+\begin{figure*}
+\footnotesize
+\begin{verbatim}
+# ensure that the bbl file gets regenerated if the bib file is changed
+%.bbl : $(BIBFILES)
+ @# if there is no aux file, skip this, it will get done later
+ -@if [ -r $*.aux ] ;\
+ then $(BIBTEX) $* ; \
+ fi
+# create a dvi file from a tex file
+% %.dvi: %.tex
+ $(LATEX) $*
+ -@egrep -c 'Citation .* undefined.' $*.log && ($(BIBTEX) $*;$(LATEX) $*)
+ -@grep 'Rerun to get cross-references right' $*.log && $(LATEX) $*
+# create postscript file of a dvi file
+%.ps: %.dvi
+ echo dvips -D $(PRINT_RES) -p $(PAGE_F) -l $(PAGE_T) -o $@ $*
+ dvips -D $(PRINT_RES) -p $(PAGE_F) -l $(PAGE_T) -o $@ $*
+
+\end{verbatim}
+\caption{An example of `make' rules for a \TeX\ file}\label{make}
+\end{figure*}
+There do not appear to be any obvious public domain \TeX\ shells for
+the X Window system; the `doc' editor does provide help in writing
+\LaTeX, with limited immediate formatting, but it still leaves you
+to run \TeX. The Berkeley Vor\TeX\ program to produce an interactive
+\TeX\ ended some years ago without a real success (although various
+results have now been released for general use; they are available in
+CTAN).
+
+The queen of Unix software is Gnuemacs; as well as being an {\em
+extremely} sophisticated editor, it provides hooks to run jobs
+synchronously or asynchronously from within the editor, and parse the
+output. The latest X Window version allows for user-defined menu
+bars, and multiple windows, which allows the Unix user access to as
+sophisticated a setup as almost everything except Textures. The actual
+editing can be enhanced with powerful Lisp routines to check syntax
+provide structure skeletons, edit in outline mode etc; the
+best-supported and enhanced package is Kresten Krab Thorup and Per
+Abrahamsen's AUC\TeX. If you can learn to be happy with Gnuemacs, this
+has almost limitless possibilities. An example screen is given in
+Figure \ref{auctex}.
+
+\Pic{auctex}{Gnuemacs and AUC\TeX}
+
+\section{Conclusions}
+If you have to choose a \TeX\ environment, how do you start evaluating
+the offerings? I would suggest that base your choice on the following
+criteria:
+\begin{itemize}
+\item The editor; this is where you spend most of the time;
+\item On-line help; \LaTeX\ is unmemorable;
+\item Integration with windowing systems; doing just \TeX\ is dull;
+\item {\em Lack} of special features; compatibility with other \TeX\
+ setups is important;
+\item Integration with the `style' of the environment (ie use of Adobe
+ Type Manager).
+\end{itemize}
+For the five possible environments you might consider choosing:
+\begin{itemize}
+\item AUC\TeX: if you use the X Window system and {\em gnuemacs},
+ there is no other way to live;
+\item \TeX shell: if you like plain DOS, this is well-designed and
+ easily customized;
+\item Dviwindo: it really is a Windows application, and understands
+ PostScript fonts;
+\item \TeX tures: it works; it has semi-instant previewing; it
+ integrates its fonts with the rest of the Mac;
+\item OS/2 and emTeX: a very good command-line \TeX, a Presentation
+ Manager previewer, and integration with a reliable operating system.
+\end{itemize}
+
+{\sl [Note: all the public domain or shareware software referred to in
+ this article can be found in the CTAN archives. The commercial
+ vendors all advertise in \TUB.]}
+\end{article}
+\endinput
+%-----------------
+\slidechapter{X Window}
+\item[xlatex]