# [texhax] TeX v. Word, etc.

Fri Aug 25 14:21:33 CEST 2006

On Aug 24, 2006, at 8:27 PM, John R. Culleton wrote:

> Perhaps LaTeX is not the right version of TeX to be working with.
> Rephrase the questions substituting e.g. pdftex and see
> what the answers will be.

Right, everyone wants to roll their own'' support for cross-
projects, it's a mostly unnecessary duplication of effort in general.

An exercise for the reader would be to consult archives of this list
and comp.text.tex and see how often one of John's questions has been
answered with \usepackage{foo}'' or check the source of LaTeX
package bar'' and adapt it back to Plain TeX.

> The TeX primitives (or pdfetex primitives) offer the broadest
> reach of possibilities for adaptation. Plain TeX and plain pdftex
> constrain things somewhat, but still keep all the primitives
> around. LaTeX predfines so much and redefines the rest so that
> the range of possiblities is constrained still further. Plain
> assumes a paper document but still allows for fine grained
> variations. LaTeX lessens the range of action still more. This
> makes expected documents and formats easier but unexpected ones
> harder.

Pretty much anything in LaTeX can be re-defined --- what do you find
possible in Plain TeX which is insurmountable in LaTeX?

> Until we adopt a base language that allows full use of the
> primitives of TeX we are working with one hand tied behind our
> back. It is a bit like using a spread sheet for maintaining
> accounting records. The easy becomes still easier but the
> unusual becomes much harder.

That also creates a maintenance nightmare, and makes making changes
to the back-end untenable. See below.

> Now I am not suggesting we go all the way back to "assembly
> code." But I do suggest that harder tasks require cutting away
> some of the superstructure and getting closer to the guts of the
> TeX language.

Then just use Plain TeX --- but remember you have to roll your
own'' support for pretty much _everything_ --- reading manmac.tex and
the TeXbook are enlightening as regards what's entailed in this.

This, by Bruno Voisin on the XeTeX mailing list should provide
something of a context for how and why LaTeX does things:

On Aug 25, 2006, at 4:27 AM, Bruno Voisin wrote:

>> One possible explanation might be that xltxtra.sty uses the "macho"
>> TeX programming style that the LaTeX companion warns against: i.e.
>> using plain-TeX control sequences such as \hbox, \lower and \raise
>> instead of the corresponding standard LaTeX commands \mbox and
>> \raisebox; or using \newlength and \setlength without putting their
>> arguments inside braces { and }. While normally harmless, this might
>> cause conflicts with other packages playing with the inner TeX
>> workings; whereas -- in an ideal LaTeX world -- redefinitions
>> adhering closely to the LaTeX syntax rules should be safe.
>>
>> That's also what the LaTeX 3 team is warning against, for a different
>> reason: while the low-level commands used internally by LaTeX (in its
>> classes and packages) may work differently or not at all in LaTeX 3
>> vs. LaTeX 2e, the top-level commands (i.e. those documented and
>> directly accessible to the user) should be backwards-compatible.

> And pdftex is closer to that base than LaTeX.

pdftex _is_ TeX (a TeX variant) and it is used as the back-end for
pdflatex (actually it's pdfetex and pdfelatex in most distributions
now).

As a counter-counterpoint to the above, the text _TeX for the
Impatient_ is freely available now (though w/o the nifty graphics ---
I scanned those and sent them to the authors, but still waiting for
them to be re-integrated) and eplain is being maintained now, so
makes for a nice alternative.

William

--
senior graphic designer
Fry Communications

This email message and any files transmitted with it contain information
which is confidential and intended only for the addressee(s). If you are
not the intended recipient(s), any usage,  dissemination, disclosure, or
action taken in  reliance on it is prohibited.  The reliability of  this
method of communication cannot be guaranteed.  Email can be intercepted,
corrupted, delayed, incompletely transmitted, virus-laden,  or otherwise
affected during transmission. Reasonable steps have been taken to reduce
the risk of viruses, but we cannot accept liability for damage sustained
as a result of this message. If you have received this message in error,
please immediately delete it and all copies of it and notify the sender.