diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /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.tex | 291 |
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] |