Sorry if this has already been asked, but, if there is something similar like this TeXmaker for plain TeX?
[Tex/LaTex] TeXmaker for plain TeX
editorsplain-textexmaker
Related Solutions
The "smallest" possible TeX is what Knuth called "virgin" TeX (TeXbook, p.342): it knows just primitive commands, no macros. Plain TeX is the set of macros (developed by Knuth) which makes TeX usable in everyday life of a typist.
And yes, these days we're using many different sets of macros ... one popular set is of course LaTeX. Plain TeX is, well ... the plainest of these ;-)
Regarding formats (as far as I understand). "Teaching" TeX all the macros (of plain TeX, for example) on each run would take too long (well, at least in the old days). Thus, we do it once for good: we input the definitions and take a snapshot, called a format.
The available commands can be classified into primitive commands and macros. Macros are composite commands built from primitive commands and/or other macros.
The "virgin" TeX knows only the primitive commands. Which primitive commands are known to TeX depends on the particular engine. For example, eTeX has more primitives than the original (Knuth's) TeX; \unexpanded
is an example of a new eTeX primitive. Examples of primitive commands: \relax
, \def
, \halign
. (There's about 300 of them.)
Formats (plain TeX, LaTeX, etc.) extend TeX's vocabulary by defining macros. (Actually, packages also do that.) For example, plain TeX defines macros \item
, \rm
, \newdimen
, \loop
, etc. (Plain TeX defines about 600 macros. The complete vocabulary of plain TeX has thus about 900 words.)
To check whether a command is primitive or a macro, one can:
- look into the index of the TeXbook: primitive operations are marked with an asterisk
- Use (primitive) command
\show
:\show\cs
writes the meaning of\cs
to the terminal. If you\show
a primitive command, it will simply tell you its "name":\relax=\relax
,halign=\halign
, etc. In contrast, if you use\show
on a macro, you will get its definition, e.g.\newdimen=macro:->\alloc@ 1\dimen \dimendef \insc@unt
.
To reiterate, there are two types of commands:
- primitives (these are the only things that "virgin" TeX knows about)
- macros ("virgin" TeX knows no macros; macros are defined by formats and packages; formats and packages define only macros)
First some personal experience: for one of the conference proceedings I was in charge of for the TeXnical aspects, I got several papers to put into shape. One of them was in Word: I asked for a printout and then converted the “saved as text” version line by line following the printout.
Another one was in plain TeX. The conversion was quite easy: I changed the initial macro definitions to use \newcommand
or \newtheorem
; then I went through the document and the translation to LaTeX was a rather short and easy job.
Much more painful was translating most papers from their authors' concept of LaTeX to the real one.
About your specific points in the list, here's my two cent.
You never use
\hsize
in a LaTeX document, not even in the preamble (sole exceptions, some tricks withtabularx
). Using\textwidth
is not “simpler”: would you say that driving on the left side in the UK is simpler? Well, it's the same: setting the text width with\hsize
is like driving on the right side in the UK.You never (with no exception) change
\@outputpage
, unless your name is Frank and you're German (plus some other strict conditions).While it's possible to specify page parameters by explicitly changing
\oddsidemargin
and friends, it's much better done withgeometry
. By the way,\hoffset
and\voffset
should always be zero.The current value of the page number is accessible as
\thepage
(which changes according to the chosen numbering style). Using\value{page}
(or\c@page
) should be a very rare need. Besides, one should not use\pageno
in plain TeX document, but\folio
, that's analogous to\thepage
.
Probably your point 2 is about adding structure the the header and footer; this is done with packages such as fancyhdr
, scrlayer-scrpage
or titleps
.
If you use \beginsection
and \proclaim
, it's not difficult to switch to LaTeX; of course, you'll remove all manually assigned numbers.
Most common plain TeX constructions work also in LaTeX; the manual mentions \line
among those having different meaning. Of course, no font selection command will work.
However, the mere fact that a plain TeX macro also works in LaTeX should not mean we can keep it. A typical example is \centerline
, that has essentially no place in a LaTeX document (it's not color safe, for instance), but also \root 3\of{2017}
should not be used.
Yes, I know that \centerline
can in some cases get me simply out of a problem, but such usages should always be buried in macros defined in the preamble.
The well structured plain TeX document I mentioned before, was written in a logical fashion, with consistent markup. The markup was not the same as in LaTeX, but this was not a problem: I just had to make a translation table and apply some search-and-replace.
A badly written document, using plain TeX, AMS-TeX, ConTeXt, LaTeX, Lollipop or whatever format, is just badly written and sometimes it's a pain also making it a valid document for the original format.
Best Answer
the programs
tex
,pdftex
orluatex
are not directly supported by TeXmaker. Open the menue for User Commands and then createTeX
with the commandRestart TeXmaker and the new option should be seen in the menu for the different programs.