summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/context/manuals/reference/en/co-introduction.tex
blob: 14622ae4b2d230197bac8d639dc71ec5ef0ad8ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
% interface=en

\startcomponent co-introduction

\environment contextref-env
\product contextref


\MPinclusions
  {color gray;
   gray := (.95,.95,.95);}

\def\MPcircle#1#2#3#4#5%
  {\startuseMPgraphic{circle}
     path p;
     p := fullcircle xscaled #1\space yscaled #2;
     pickup pencircle scaled #3;
     fill p withcolor \MPcolor{#5};
     draw p withcolor \MPcolor{#4};
   \stopuseMPgraphic
   \useMPgraphic{circle}}

\defineoverlay
  [MPcircleA]
  [\MPcircle{\overlaywidth}{\overlayheight}{2pt}{FrameColor}{GrayColor}]

\startbuffer[fig-cont]

\unprotect

\setupframed[\c!background=MPcircleA,\c!frame=\v!off,\c!offset=\v!none]

\framed
  [\c!width=6cm,\c!height=5cm]
  {\vfil \ConTeXt \vfil \vfil
   \leavevmode\framed[\c!width=.5\hsize,\c!height=.3\hsize]
     {\vfil \TeX \vfil }
   \vfil\vfil}

\protect

\stopbuffer


\chapter{Introduction}

\section{\TEX}
\index[tex]{\TEX}
\index{Knuth}

\TEX\ was developed at Stanford University during the
seventies. The designer, developer and spiritual father of
\TEX\ is Donald E. Knuth. Knuth developed \TEX\ to typeset
his own publications and to give an example of a
systematically developed and annotated program.

The \TEX\ project was supported by the American Mathematical
Society and resulted in the programming language and program
\TEX, the programming language and program \METAFONT, the
Computer Modern typefaces and a number of tools and
publications.

\TEX\ is used worldwide, supports many languages, runs on
almost every platform and is stable since 1982, which is
rather unique in today's information technology.

\TEX\ is a batch||oriented typesetting system. This means
that the complete text is processed from beginning to end
during which typesetting commands are interpreted. Because
you tell your typesetting intentions to \TEX, the system can
also be qualified as an intentional typesetting system.
In most documents one can stick to commands that define the
structure and leave the typographic details to \TEX. One
can concentrate on the content, instead of on makeup; the
author can concentrate on his reader and his intentions with
the text. We prefer such an intentional system over a
page||oriented system, especially in situations where you
have to process bulky documents with regularly changing
content. Furthermore an intentional typesetting system is
rather flexible and makes it possible to change layout
properties depending on its application. Thus, the same
text source can be used to produce various results,
for example, both on||line and printed output. It can also
cooperate quite well with other text||processing programs
and tools.

% from http://en.wikipedia.org/wiki/LaTeX
Developed in the early 1980s,
\LATEX\ was intended to provide a high-level language
that accesses the power of \TEX.
\LATEX\ essentially comprises a collection of \TEX\ macros
and a program to process \LATEX\ documents.
Because the \TEX\ formatting commands are very low-level,
it is usually much simpler for end-users to use \LATEX.
\LATEX\ is based on the idea that it is better
to leave document design to document designers,
and to let authors get on with writing documents.

% from http://wiki.contextgarden.net/What_is_ConTeXt:
\CONTEXT\ is a document markup language and document preparation system
also based on the \TEX\ typesetting system.
It was designed with the same general-purpose aims as \LATEX\ %
of providing an easy to use interface
to the high quality typesetting engine provided by \TEX.
However, while \LATEX\ insulates the writer from typographical details,
\CONTEXT\ takes a complementary approach
by providing structured interfaces for handling typography,
including extensive support for colors, backgrounds, hyperlinks,
presentations, figure-text integration, and conditional compilation.
It gives the user extensive control over formatting
while making it easy to create new layouts and styles
without learning the \TEX\ macro language.
{\CONTEXT}'s unified design avoids the package clashes
that can happen with \LATEX.
\CONTEXT\ also attempts to more closely respect the syntactical style
of plain \TEX.

\section[context]{\CONTEXT}
\index[context]{\CONTEXT}

The development of \CONTEXT\ started in 1990. A number
of \TEX\ based macro packages had been used to our
satisfaction. However, the non||technical users at our
company were not accustomed to rather complex and, in particular, non||Dutch
interfaces. For this reason we initiated the development of
\CONTEXT\ with a parameter driven interface and commands
that are easy to understand. Initially the user interface
was only available in Dutch.

The functionality of \CONTEXT\ was developed during the
production of many complex educational
materials, workplace manuals and handbooks. In 1994 the
package was stable enough to warrant a Dutch user manual.
Over the years many new features and 
a multi-lingual interface have been added (currently 
English, German, French, Italian, Romanian? \unknown\ interfaces are supported).
Though \CONTEXT\ has matured and is as (un|)|stable as any other
macro package, there are still a great number of wishes
and development remains active. These
will be implemented in the spirit of the existing \CONTEXT\
commands.

\starthiding
\CONTEXT\ comes with a number of \PERL\ scripts, like
\TEXUTIL\ and \TEXEXEC. Also a number of modules are
available, like \PPCHTEX\ for typesetting chemical
structures.
\stophiding

\todo{Add some text about recent developments, especially the split between mkii and mkiv}

\section{Commands}
\index{commands}
\index{macros}
\index{brackets}

A \CONTEXT\ document is normally coded in \UTF\ or another plain text encoding like ISO~Latin1. Any preferred text editor may be used. Inside such a file,
the actual document text is interspersed with \CONTEXT\ commands.
These commands tell the system how the text should be
typeset. A \CONTEXT\ command begins with a backslash 
(\type {\}). An example of a command is \type {\italic}. Most
of the time a command does something with the text that
comes after the command. The text after the command \type
{\italic} will be typeset {\italic text it italic}.

When you use a command like \type{\italic} you acting as a typesetter,
and when you are writing paragraphs you are acting as an author.
Typesetting and writing are conflicting activities; as an
author you would probably rather spend as little time as possible
typesetting. When you are actually writing text and you have 
to indicate that something special has to happen with the text, 
it is therefore best to use generic commands than specific typesetting commands. 
An example of such a generic command is \type{\em} ({\em emphasis}). 
By using \type{\em} instead of \type{\italic}, you enable the typesetter 
(who could also be you) to change the typeset result without him or her having to alter the text.

{\setupcaption[figure][width=fit]
\placefigure[right][fig:cohesion tex]
  {}{\getbuffer[fig-cont]}}


A \TEX\ user normally speaks of macros instead of commands.
A macro is a (normally small) program. Although this manual uses
both \quote {command} and \quote {macro}, we will try
consistently use the word command for users and macro for
programmers. A collection of macros is called a macro package. 

A command is often followed by setups and/or 
argument text. Setups are placed between brackets (\type{[]},
are optional and there may be more than one set). The scope or range
of the command (the text acted upon) is placed between curly
brackets (\type{{}}, there may be more than one of those as well). 

An example of a command with setups and an argument text is

\startbuffer
\framed[width=3cm,height=1cm]{that's it}
\stopbuffer

\typebuffer

When this input is processed by \CONTEXT, the result will look like this:

\startbaselinecorrection
\getbuffer
\stopbaselinecorrection

Alternatively, using the default setups:

\startbuffer
\framed{that's it}
\stopbuffer

\typebuffer

\startbaselinecorrection
\getbuffer
\stopbaselinecorrection

Setups in \CONTEXT\ come in two possible formats. First, 
there can be a list of comma-separated key||value pairs 
like we saw already

\startbuffer
\setupsomething [variable=value, variable=value, ...]
\stopbuffer

\typebuffer

Second, there can be a comma-separated list of just values

\startbuffer
\setupsomething [option, option,...]
\stopbuffer

\typebuffer

In both cases the setups are placed between \type{[]}. Spaces, tabs and even a newline between the command and the opening \type{[} or after any of the separation commas are ignored. But multiple newlines are disallowed, and whitespace before commas, around the equals sign and before the closing~\type{]} is significant. 

Some practical examples of correct command invocations are:

\startbuffer
\setupwhitespace [big]
\setupitemize  [packed, columns]
\setuplayout   [backspace=4cm,
                topspace=2.5cm]
\stopbuffer

\typebuffer

Many typographical operations are performed on a text that
is enclosed within a \type{start-stop} construction:

\startbuffer
\startsomething
.............................
\stopsomething
\stopbuffer

\typebuffer

And often keywords or key||value pairs can be passed, that inform
\CONTEXT\ of the users wishes like

\startbuffer
\startnarrower[2*left,right]
.............................
\stopnarrower
\stopbuffer
\typebuffer

or

\startbuffer
\startitemize[n,broad,packed]
\item .......................
\item .......................
\stopitemize
\stopbuffer
\typebuffer

The simplest \CONTEXT\ document is

\startbuffer
\starttext
Hello World!
\stoptext
\stopbuffer

\typebuffer

\section {Running \CONTEXT}

For basic usage, running

\startbuffer
context myfile
\stopbuffer
\typebuffer

or

\startbuffer
context myfile.tex
\stopbuffer
\typebuffer

is sufficient to convert your \ConTeXt\ source in \type{myfile.tex} to the
\PDF\ file \type{myfile.pdf}. Several command line options control the
\ConTeXt\ run. For a complete list of options, you can run

\startbuffer
context --help
\stopbuffer
\typebuffer

Here some examples:
\starttabulate[|lT|lp|]
\HL
\NC \bf option \NC \bf meaning \NC \NR
\HL
\NC --result=name \NC rename the resulting output to the given name \NC \NR
\NC --mode=list   \NC enable given the modes (conditional processing
in styles \NC \NR
\NC --once \NC only run once (no multipass data file is produced) \NC \NR
\NC --nonstopmode   \NC run without stopping \NC \NR
\NC --version   \NC report installed context version \NC \NR
\HL
\stoptabulate

\todo{Maybe some more explainations about \type{texexec} and \type{context}
  here, maybe from a text editor or environment like texworks.}

\section{Advanced commands}

There are also commands that are used to define new commands.
For example:

\startbuffer
\definesomething[name]
\stopbuffer

\typebuffer

Sometimes a definition inherits its characteristics from
another (existing) one. In those situations a definition
looks like:

\startbuffer
\definesomething[clone][original]
\stopbuffer

\typebuffer

In many cases one can also pass settings to these commands.
In that case a definition looks like:

\startbuffer
\definesomething[name][variable=value,...]
\stopbuffer

\typebuffer

These setups can also be defined in a later stage with:

\startbuffer
\setupsomething[name][variable=value,...]
\stopbuffer

\typebuffer

An example of such a name coupled definition and setup is:

\startbuffer
\definehead[section][chapter]
\setuphead[section][textstyle=bold]
\stopbuffer

\typebuffer

The alternatives shown above are the most common appearances
of the commands. But there are exceptions:

\startbuffer
\defineenumeration[Question][location=inmargin]
\useexternalfigure[Logo][FIG-0001][width=4cm]
\definehead[Procedure][section]
\setuphead[Procedure][textstyle=slanted]
\stopbuffer

\typebuffer

After the first command the newly defined command \type
{\Question} is available which we can use for numbered
questions and to place numbers in the margin. With the
second command we define a picture that is scaled to a \type
{width} of 4cm. After the third command a new command \type
{\procedure} is available that inherits its characteristics
from the predefined command \type {\section}. The last
command alters the characteristics of the newly defined
head. Later we will discuss these commands in more detail.


We use \type{begin-end} constructions to mark textblocks.
Marked textblocks can be typeset, hidden, replaced or
called up at other locations in the document.

\startbuffer
\beginsomething
.............................
\endsomething
\stopbuffer

\typebuffer

These commands enable the author to type questions and
answers in one location and place them at another location
in the document. Answers could be placed at the end of a
chapter with:

\startbuffer
\defineblock[Answer]
\setupblock[Answer][bodyfont=small]
\hideblocks[Answer]
.............................
\chapter{........}
.............................
\beginofAnswer
.............................
\endofAnswer
.............................
\stopbuffer

\typebuffer

In this case answers will be typeset in a smaller bodyfont
size, but only when asked for. They are hidden by default,
but stored in such a way, that they can later be typeset.

Commands come in many formats. Take for example:

\startbuffer
\placefigure
  [left]
  [fig:logo]
  {This is an example of a logo.}
  {\externalfigure[Logo]}
\stopbuffer

\typebuffer

This command places a picture at the left hand side of a
text while the text flows around the picture. The picture
has a reference \type {fig:logo}, i.e.\ a logical name. The
third argument contains the title and the fourth calls the
picture. In this case the picture is a figure defined
earlier as \type {Logo}. \in {Figure} [fig:cohesion tex] is
typeset this way.

The last example has arguments between optional brackets
(\type{[]}). Many commands have optional arguments. In case
these optional arguments are left out the default values
become operative.

You may have noticed that a spacy layout of your \ASCII\
text is allowed. In our opinion, this increases readability
considerably, but you may of course decide to format your
document otherwise. When the \CONTEXT\ commands in this
manual are discussed they are displayed in the following
way:

\showsetup{setupfootertexts}

The command \type{\setupfootertexts}, which we will discuss
in detail in a later chapter, has three arguments of which
the first is optional. The first argument defaults to
\type{[text]}. Optional arguments are displayed with the word
 {\ttxx OPTIONAL} below the brackets. Default values are
\underbar{underlined} and placeholders (as opposed to literal
keywords) are typeset in {\ttx UPPERCASE}. In this example {\ttx TEXT}
means that you can provide any footer text. \CONTEXT\ is able to keep
track of the status of information on the page, for instance the name of the
current chapter. We call this kind of information {\ttx
MARK}, so the command \type {\setupfootertexts} accepts
references to marks, like those belonging to sectioning
commands: \type{chapter}, \type{section}, etc. The argument
\type{date} results in the current system date.

When the setup of some commands are displayed you will
notice a $\blacktriangleleft \blacktriangleright$ in the
right hand top corner of the frame. This indicates that this
command has a special meaning in interactive or screen
documents. Commands for the interactive mode only show solid
arrows, commands with an additional functionality show
gray arrows.

\section{Programs}
\index[texutil]{\TEXUTIL}
\index[texexec]{\TEXEXEC}

\TEX\ does a lot of text manipulations during document
processing. However, some manipulations are carried out by
\TEXUTIL. This program helps \TEX\ to produce registers,
lists, tables of contents, tables of formulas, pictures etc.
This program is implemented as a \PERL\ script.

Document processing can best be done with \TEXEXEC. This
\PERL\ script enables the user to use different processing
modes and to produce different output formats. It also keeps
track of changes and processes the files as many times as
needed to get the references and lists right.

\section{Files}
\index{files}
%\index{extensions}
\index[utf]{\UTF}
\todo{Where is a better place to write about \TABLE ? The old paragraph:

\CONTEXT\ relies on plain \TEX. Plain \TEX, \CONTEXT\ and a
third package \TABLE\ are brought together in a so called
format file. \TABLE\ is a powerful package for typesetting
tables. A format file can be recognized by its suffix
\type{fmt}. \TEX\ can load format files rather fast and
efficiently.}

\CONTEXT\ is used with \UTF-8 source files. \UTF-8 is a character encoding,
that can represent every character in the Unicode character set, and that is
backward-compatible with \ASCII. The \UTF-8 file with the prescribed extension
\type{tex} is processed by \CONTEXT. During this process \CONTEXT\ produces a
\PDF\ (Portable Document Format) output file. \PDF\ files are of high
graphical quality and are also interactive (hyperlinked).

With the command
\startbuffer
\enableregime[encoding]
\stopbuffer
\typebuffer
\CONTEXT\ supports also other character encodings such as ISO~Latin1.

It is highly recommended, that all input files, i.e.\ the \ConTeXt\ source and
other included files such as image files, have only the letters a--z, digits
and dashes in their names, that is in the names of their full paths, otherwise
you can easily get into problems. Especially the characters *, ?, the space
character and some more are known to cause problems, sometimes because of
\ConTeXt\ itself (internal pattern matching), sometimes because of issues with
the underlying operating system. The dot \quote{.} is somewhat special: it's
used to separate the suffix from the rest of the file-name, but at other
places in the path it can cause trouble just like \quote{*} or \quote{?}.

\section{Texts}

\subsection{Characters}
\index{characters}

A traditional \TEX\ source file contains only \ASCII\ characters. Higher \ASCII\
values to produce characters like ë, ô and ñ can also
be used in this version of \TEX\ (in preference to the traditional
mechanism of escaped sequences such as \type {\"e}, \type {\^o}, etc.).
However, some characters in \TEX\
have special meanings (such as \%, \$, and of course \{\}).
These characters can be typeset by
putting a \type {\} in front of it. A \% is obtained by
typing \type {\%} (if one would type only a \type {%} the
result would be undesirable because \TEX\ interprets text
after a \% as comment that should not be processed), a \$ is
produced by \type {\$} (a \type {$} without a \type {\}
indicates the beginning of the mathemathical mode), a \# is displayed by
\type{\#} (in \TEX, \type{#} stands for arguments in macro definitions),
and a pair of \{ and \} without leading backslashes define the opening and
closing of a group. Finally the backslash~\backslash\ itself is entered by
typing \type{\backslash}.

\todo{What about other \quote{reserved} symbols?
Need to say something about \type{\enableregime[utf]} in mkii.}

\subsection{Paragraphs}
\index{paragraphs}

\TEX\ performs its operations mostly upon the text element
{\em paragraph}. A paragraph is ended by \type{\par} or,
preferably, by an empty line. Empty lines in an \ASCII\ text
are preferred because of readability of the source.

\subsection{Boxes}
\index{boxes}

In this manual we will sometimes talk about boxes. Boxes are
the building blocks of \TEX. \TEX\ builds a page in
horizontal and vertical boxes. Every {\handletokens
character\with \ruledhbox} is a box, a \ruledhbox
{\handletokens word\with \ruledhbox} is also a box
{\handletokens built\with \ruledhbox} out of a number of
boxes, a line is \unknown

When \TEX\ is processing a document many messages may occur
on the screen. Some of these messages are warnings related to overfull or
underful boxes. Horizontal and vertical boxes can be typeset
by the \TEX\ commands \type{\hbox} and \type{\vbox}.
Displacements can be achieved by using \type {\hskip} and
\type {\vskip}. It does not hurt to know a bit about the
basics of \TEX, because that way one can far more easilly
write his or her own alternatives to, for instance, chapter
headers.

\subsection{Fonts}
\index{fonts}

\TEX\ is one of the few typesetting systems that does mathematical
typesetting right. To do so \TEX\ needs a complete
font||family. This means not only the characters and numbers
but also full mathematical symbols. Complete fontfamilies are
Computer Modern Roman and Lucida Bright. Both come in serif
and sans serif characters and a monospaced character is also
available. Other fontfamilies are available, more or less complete.

\subsection{Dimensions}
\index{dimensions}
\index{\type{pt}}
\index{\type{ex}}
\index{\type{em}}
\index{\type{cm}}

Characters have dimensions. Spacing between words and lines
have dimensions. These dimensions are related to one of the
units of \in{table}[tab:dimensions]. For example the
linespacing in this document is \the\baselineskip.

\placetable[here][tab:dimensions]{Dimensions in \TEX.}
\starttable[|c|l|l|]
\HL
\VL \bf dimension  \VL \bf meaning \VL \bf equivalent   \VL \SR
\HL
\VL \type{pt} \VL point         \VL $\rm 72.27pt=1in$   \VL \FR
\VL \type{bp} \VL big point     \VL $\rm 72bp=1in$      \VL \MR
\VL \type{pc} \VL pica          \VL $\rm 1pc=12pt$      \VL \MR
\VL \type{in} \VL inch          \VL $\rm 1in=2.54cm$    \VL \MR
\VL \type{cm} \VL centimeter    \VL $\rm 2.54cm=1in$    \VL \MR
\VL \type{mm} \VL millimeter    \VL $\rm 10mm=1cm$      \VL \MR
\VL \type{dd} \VL didot point   \VL $\rm 1157dd=1238pt$ \VL \MR
\VL \type{cc} \VL cicero        \VL $\rm 1cc=12dd$      \VL \MR
\VL \type{sp} \VL scaled point  \VL $\rm 65536sp=1pt$   \VL \LR
\HL
\stoptable

We will often specify layout dimensions in points or
centimeters or milimeters. A point is about $\rm 0.3515~mm$
is an American publishing standard.
The European Didot point, equivalent to
$\rm 0.254\cdot1238/1157/72.27 = 0.376065~mm$,
is about 7\%\ larger.

Next to the mentioned dimension \TEX\ also uses \type{em}
and \type{ex}. Both are font dependant. An \type {ex} has
the height of an x, and an \type{em} the width of an M. In
the Computer Modern Roman typefaces, numbers have a width of
$1/2$em, while a --- (\type{---}) is one em.

\subsection{Error messages}
\index{error messages}
\index{stopping}

While processing a document, \TEX\ generates status messages
(what \TEX\ is doing), warning messages (what \TEX\ could do
better) and error messages (what \TEX\ considers wrong). An
error message is always followed by a \type{halt} and
processing will be stopped. A linenumber and a \type{?} will
appear on screen. At the commandline you can type \type{H}
for help and the available commands will be displayed.

Some fatal errors will lead to an * on the screen. \TEX\ is
expecting a filename and you have to quit processing. You
can type \type{stop} or \type{exit} and if that doesn't work
you can always try \type{ctrl-z} or \type{ctrl-c}.

\section{Version numbers}
\index[TeX+version]{\TEX+version}
\index[ETeX]{\ETEX}
\index[NTS]{\NTS}
\index[PDFTEX]{\PDFTEX}

\TEX\ was frozen in 1982. This meant that no functionality
would be added from that time on. However, exceptions were
made for the processing of multi||language documents, the
use of 8-bits \ASCII||values and composed characters.
Additionally some bugs were corrected. At this moment \TEX\
version 3.141592 is being used. The ultimate \TEX\ version
number will be~$\pi$, while \METAFONT\ will become the Euler
number~$e$.

\CONTEXT\ can handle both \ETEX\ and \PDFTEX, which are
extensions to \TEX. Both are still under development so we
suggest using the latest versions available. This manual was
typeset using \ifx \eTeXversion \undefined \else \PDFETEX,
with \ETEX\ version \the \eTeXversion \eTeXrevision\ and
\fi \PDFTEX\ version \the \pdftexversion \pdftexrevision.

\CONTEXT\ is still under development. Macros are continually
improved in terms of functionality and processing speed.
Improvements are also made within existing macros. For example
the possibility to produce highly interactive \PDF\
documents has altered some low||level functionality of
\CONTEXT\ but did not alter the interface. We hope that in
due time \CONTEXT\ will be a reasonable complete document
processing system, and we hope that this manual shows much of
its possibilities. This document was processed with \CONTEXT\ version
\contextversion.

\section{Top ten}

A novice user might be shooed away by the number of
\CONTEXT\ commands. Satisfying results can be obtained by
only using the next ten groups of commands:

\startitemize[n,packed,broad]
\item  \type {\starttext},
       \type {\stoptext}
\item  \type {\chapter},
       \type {\section},
       \type {\title},
       \type {\subject},
       \type {\setuphead},
       \type {\completecontent}
\item  \type {\em},
       \type {\bf},
       \type {\cap}
\item  \type {\startitemize},
       \type {\stopitemize},
       \type {\item},
       \type {\head}
\item  \type {\abbreviation},
       \type {\infull},
       \type {\completelistofabbreviations}
\item  \type {\placefigure},
       \type {\externalfigure},
       \type {\useexternalfigures}
\item  \type {\placetable},
       \type {\starttable},
       \type {\stoptable}
\item  \type {\definedescription},
       \type {\defineenumeration}
\item  \type {\index},
       \type {\completeindex}
\item  \type {\setuplayout},
       \type {\setupfootertexts},
       \type {\setupheadertexts}
\stopitemize

\section{Warning}

\CONTEXT\ users have the possibility to define their own commands. These newly
defined commands may come into conflict with plain \TEX\ or \CONTEXT\
commands. To avoid this, it is advisable to use capitalized characters
in your own command definitions, such as:

\startexample
\starttyping
\def\MyChapter#1%
  {\chapter{#1}\index{#1}}
\stoptyping
\stopexample

This command starts a new chapter and defines an index entry
with the same name.

\stopcomponent