summaryrefslogtreecommitdiff
path: root/obsolete/macros/inrstex/inrsdoc/thbas.tex
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/macros/inrstex/inrsdoc/thbas.tex')
-rw-r--r--obsolete/macros/inrstex/inrsdoc/thbas.tex220
1 files changed, 220 insertions, 0 deletions
diff --git a/obsolete/macros/inrstex/inrsdoc/thbas.tex b/obsolete/macros/inrstex/inrsdoc/thbas.tex
new file mode 100644
index 0000000000..4dfc9e1afa
--- /dev/null
+++ b/obsolete/macros/inrstex/inrsdoc/thbas.tex
@@ -0,0 +1,220 @@
+%-*-tex-*-
+\ifundefined{writestatus} \input status \relax \fi %
+\chcode{bas}
+\def\testhrule{\hrule}
+\def\testvrule{\vrule}
+\def\cqu{\cquote{Once a ``question'' is perfectly understood, we
+must free it of every conception superfluous to its meaning \dots}{
+ Rules for the Direction of the Mind, Rule XIII,
+Ren\'e~Descartes (1596-1650)}}
+
+\chapterhead{bas}{BASIC IDEAS\cr and\cr TERMINOLOGY}
+This chapter introduces some more terminology used in \tex\ and \intex. These
+are {\it boxes, glue, dimensions, modes, penalties, groups, tokens, token lists,
+definitions, macros, assignments} and {\it parameters}.
+
+\shead{boxes}{Boxes}
+
+\vbox{\hrule\hbox{\vrule\vbox{\hsize=\hcolumnsize
+\tex\ can be imagined as assembling boxes, in various {\it modes},
+much in the same way that a child
+builds a castle.
+Pages are formatted by glueing together such boxes. This page has some of the
+component boxes outlined so you can see them. In fact this paragraph
+is surrounded by a box that is made up by \tex's page paragraph builder,
+when it pastes together a page. However this process starts from the bottom
+up. First \hh{l}\hh{e}\hh{t}\hh{t}\hh{e}\hh{r}\hh{s} are glued together
+horizontally to make the word \hh{letters}. Then all the words in a paragraph
+are glued together, with appropriate
+interword spacing, in a single long line. Finally this long line is broken
+into page-width lines in the nicest way.
+}\vrule}\hrule}
+
+A {\it horizontal} box, one with a {\it horizontal list} such as the
+words in a paragraph, is an |\hbox|. A
+{\it vertical} box, for example the one that contains the
+vertical list of |\hbox|es for the lines,
+is called a |\vbox|.
+The most important |\vbox| for \tex\ is the one that is used to collect the
+lines that make up the page. This is box 255, and it is on this box that the
+page builder works. There are, in fact, 256 boxes available to use. Some of
+these have been already used by |plain| or an extension package.
+
+
+\shead{glue}{Glue}
+Boxes are not the whole story. Between boxes there is {\it glue}. This glue
+can stretch or shrink and is stretched or shrunk in order to make a list of
+boxes inside another, such as words on a line, evenly fill out the line. This
+is how words are right justified on a line. When there is not enough stretch
+or shrink available, \tex\ complains about an {\it underfull} or {\it
+overfull} box. Overfull boxes are indicated on the document with an ugly
+black vertical line at the end of the offending box. Underfull boxes cause
+error messages and the glue is stretched beyond its limits.
+When glue is inserted, it shows up as blanks or white space.
+More detail on glue will be found in Chapter~\ref{dimnum}.
+
+\let\testhrule=\relax
+\let\testvrule=\relax
+
+\shead{dimensions}{Dimensions}
+Boxes have dimensions that consist of a |<decimal number>| and a two letter
+unit of measurement such as |in| for inches or |cm| for cm. Thus ``2.54cm''
+is another way of saying ``1in''. When \tex\ is processing some text looking
+for a dimension, it reads the next two letters after a number and attempts to
+interpret this as a unit of measure, whether or not there is a space or non
+letter following. More details on dimensions will be found in
+Chapter~\ref{dimnum}.
+
+\shead{modes}{Modes}
+When \TeX\ is
+putting together a horizontal list of boxes, such as characters in a line,
+it is said to be in the {\it horizontal} mode. The result of working on a
+{\it horizontal} list of boxes is a {\it horizontal} box.
+
+If \TeX\ is putting together
+boxes {\bf inside} another {\it horizontal} box, it is in the {\it internal} {\it horizontal} mode.
+Lines are assembled as a {\it vertical} list to create {\it vertical} boxes. When
+assembling {\it vertical} list of boxes to makeup a page, \TeX\ is said to be in
+{\it vertical} mode. When processing a {\it vertical} list of boxes to make up a
+{\it vertical} box it is in the {\it internal vertical} mode. \tex's page builder is in
+action when \tex\ is in {\it vertical} mode. When in {\it internal \it vertical} mode it is
+not. In fact this is about the {\bf only} difference between the two
+modes.\footnote{\ddagger}{This was not the case in \tex78.}
+
+\TeX\ has two other modes, {\it mathematics} mode, and {\it display mathematics}
+mode. It is in these modes that mathematical equations, subscripts, and
+superscripts are produced. You {\bf cannot} create subscripts and superscripts
+in non {\it mathematics} mode. {\it Mathematics} mode is used to imbed {\it mathematics}
+or mathematical symbols amongst normal text. {\it Display mathematics} will
+create a displayed equation.
+
+For the most part \tex\ will flip from one mode to another automatically when
+it meets a command that should occur in one of the specific
+modes.
+
+\shead{penalties}{Penalties}
+\tex\ does its work by assigning {\it penalties} to various visually
+disturbing aspects of the page. It then tries to make the total of these
+penalties as low as possible, and when it happens, confidently declares that
+the best possible job has been done. Sometimes the results are not as nice as
+either you or \tex\ would like. \tex\ not liking it means that there was no
+feasible way to do things, such as build a paragraph, or break a page without
+violating the norms of good taste as embodied in such things as glue
+stretching badness on a line. The result is {\it underfull} or {\it overfull}
+boxes. In some cases, the result is just plain awful. \tex\ has about 40
+parameters, and the various extensions many more. Any of these may be changed
+to improve a given situation. In fact, since \tex\ actually assigns penalties
+based on the context or state of a page, the penalty approach will
+theoretically satisfy any objective. Difficulties arise in choosing the
+penalties to match your objectives and upon obtaining a consensus on
+objectives. The playing with penalties is an advanced occupation.
+
+\shead{grouping}{Grouping}
+One of the most important ideas in \tex, is that of a {\it group}.
+Commands in \intex\ of the form |\begin... \end...|,
+the inside of boxes and fields in an |\halign| always
+form a {\it group}. The |{...}| also form a group {\bf unless they are
+being used to determine the parameters for a definition}.
+
+A {\it group} allows for an action to be restricted to a small locality,
+and to easily revert to the previous form when going outside the group. For
+instance, this paragraph is set in roman type. The command |\bf| \bf causes
+everything after it to appear in bold face type until there is something like
+a |\rm| \rm to return it back to normal. However if the |\bf| were placed
+inside a group, the effect of the command will be undone when leaving the
+group {\bf without} you having to remember what to undo. To insert some
+{\bf bold face type} in the midst of roman type just enclose it in a group
+like |{\bf bold face type}| and the roman will magically reappear after the
+group.
+
+Both |{...}| and the |\begingroup...\endgroup| pairs define groups. The
+major difference is that the text inside |{...}| is absorbed by \tex\
+immediately as a single entity while the passing through a |\begingroup| just
+causes \tex\ to note that it has gone into another level of grouping.
+
+Braces |{...}| are most useful to define parameter groups for definitions
+For instance the command |\sqrt{<math expression>}| uses the |{...}| to
+determine exactly what should be under the square root sign. They are also
+useful for short groups within the body of the text.
+
+However, for major, long groups the |\begingroup...\endgroup| pair should
+be used.
+For instance, in \intex, |\beginappendices| begins a group which is
+ended when you say |\endappendices|. While inside that group special
+changes to the format of equation numbers and section references are
+occurring. When the group is left, these are undone. In fact, in \intex, any
+command that has the form |\begin...| will enter a group and have a
+corresponding |\end...| associated with it that must be used to properly
+leave the group.
+
+While \tex\ is still reading commands, before it has settled down to actually
+doing its work, braces and |\begingroup...\endgroup| pairs do not need to
+match. This is a perfectly valid grouping
+|{...\begingroup...}...\endgroup|.
+In fact |{ ...\endgroup| is not a valid grouping.
+When the information in the \tex\ commands get finally
+deep down inside \tex, all groups are the same and if a group is opened it
+must eventually be closed. This is possible because of the special way that
+\tex\ destroys braces while it is digesting commands. \tex\ never destroys
+|\begingroup...\endgroup| pairs.
+
+\shead{tokenlists}{Tokens and Token Lists}
+When \tex\ reads your file, it {\bf immediately} changes the input characters
+{\it tokens}. In this sense a command like |\begingroup| is a {\bf single}
+token. A {\it token list} is simply a list of tokens. One of the features of
+\tex\ that is used in \intex\ is the named {\it token list}. For instance,
+\intex\ defines the token list |\chaptername| to be the chapter name. This
+chapter has a name
+\begintt
+\chaptername = {Basic Ideas\cr and\cr Terminology}
+\endtt
+Note that there are |\cr| in this list that do not give any trouble. To
+insert the contents of a {\it token list} into the text, the command
+|\the\chaptername| is used. The following
+\begingroup
+\chaptername = {Basic Ideas\cr and\cr Terminology}
+$$
+\centerline{\vbox{\halign{\strut\hss #\cr
+ \the\chaptername \cr}}}
+$$
+\endgroup
+is obtained by
+\begintt
+\centerline{\vbox{\halign{\strut\hss #\cr
+ \the\chaptername \cr}}}
+\endtt
+\def\mjf{Michael J. Ferguson}
+
+\shead{defsintro}{Definitions or Macros}
+Both \tex\ and \intex\ let the user define their own commands. These are of
+the form |\<name>| and are single tokens. The terms {\it definitions} and
+{\it macros} are to be considered identical. If for some reason your name
+occurs frequently in your text, the following would make typing easier:
+\begintt
+\def\mjf{Michael J. Ferguson}
+\endtt
+would allow for ``\mjf, \mjf, \mjf'' to be inserted in the text by merely typing
+``|\mjf, \mjf, \mjf|''. More details on definitions will be found in
+Chapter~\ref{defs} and in the \texbook.
+
+All the internal \intex\ macro definitions have an {\tt @} as the second
+letter. Since an {\tt @} is not normally allowed in definition names there is
+no danger that you will inadvertently redefine a command that is used by
+\intex\ but is not found in the command index (following page \pref{index}).
+
+
+\shead{assignments}{Assignments and Parameters}
+{\it Parameters} in \tex\ and \intex\ are used to keep and allow modification
+of such things as page sizes, list spacing, or page margins. They are all
+modified by
+\begintt
+\<parameter name> [=] <new value>
+\endtt
+where the ``|=|'' is optional. For example
+\begintt
+\houterpagesize = 8in
+\endtt
+will change the width of the page to eight inches.
+
+\ejectpage
+\done \ No newline at end of file