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 /info/dickimaw/src/novices/term-defs |
Initial commit
Diffstat (limited to 'info/dickimaw/src/novices/term-defs')
23 files changed, 1110 insertions, 0 deletions
diff --git a/info/dickimaw/src/novices/term-defs/argument.tex b/info/dickimaw/src/novices/term-defs/argument.tex new file mode 100644 index 0000000000..16690f2c54 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/argument.tex @@ -0,0 +1,5 @@ +Some \glspl{command} take one or more \glspl*{argument}. This +provides a way to give \LaTeX\ additional information so that it is +able to carry out the command. There are two types of arguments: +\glslink{mandatory}{mandatory} and \glslink{optional}{optional}. + diff --git a/info/dickimaw/src/novices/term-defs/auxiliary.tex b/info/dickimaw/src/novices/term-defs/auxiliary.tex new file mode 100644 index 0000000000..2f8b633578 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/auxiliary.tex @@ -0,0 +1,53 @@ +When \LaTeX\ creates your \gls{output}, it not only creates a PDF +file but also creates other associated files. The most common of these are +the log file\indexLOG, which has the extension \texttt{.log}, and +the \gls*{auxiliary}, which has the extension \texttt{.aux}. + +The log file contains a transcript of the most recent \LaTeX\ run. +It lists all the files that have been loaded, including the \glsterm{cls} +and any \htmlref{packages}{sec:packages} that your document has used. +There should also be the class or package version number and date, +although this is dependent on the class or package author. If you +ever want \htmlref{to ask for help}{ch:help}, you need to say what +version you are using. + +For example, this book uses the \icls{scrbook} +class, so the log file includes the lines: +\begin{flushleft}\ttfamily +\noindent +(\slash usr\slash local\slash texlive\slash 2010\slash texmf-dist\slash tex\slash latex\slash koma-script\slash scrbook.cls\par +\noindent +Document Class:\ scrbook 2010\slash 06\slash 17 v3.06 KOMA-Script document class (book)\par +\end{flushleft} +(This is actually now out-of-date as the latest version at the time +of writing this is version~3.11a dated 2012/07/05.) + +Error messages, warnings and general information messages are also +written to the log file as well as the document statistics. You can +delete this log file if you like. It will be created again the next +time you run \LaTeX. + +The auxiliary file contains all the information needed for +cross-referencing (covered in \sectionref{sec:crossref}). This is +needed to ensure all your cross-references are up-to-date. You can +delete this file, but you will need at least two \LaTeX\ runs to +ensure your cross-references are correct the next time you create +your \gls{output}. + +\htmlref{TeXWorks}{sec:texworks} also creates a file with the extension +\texttt{.synctex.gz}\indexSYNCTEX. This file allows you to jump to +and from the \gls{source} and the appropriate part of the +\gls{output}. If you delete this file, you will have to run \LaTeX\ +again before you can use this function. + +Other files that may be created include the table of contents file +(\texttt{.toc})\indexTOC, the list of figures file +(\texttt{.lof})\indexLOF\ and the list of tables file (\texttt{.lot})\indexLOT. +Some \glsunset{cls}\glspl{cls}\glsreset{cls} or \htmlref{packages}{sec:packages} create +additional files. If your operating system +hides file extensions, you might want to switch off this behaviour, +if possible, to make it easier to distinguish between all the +various files. + +TeXWorks has a menu item \menu{File}\menuto\menu{Remove AUX Files} +that will remove the auxiliary files. diff --git a/info/dickimaw/src/novices/term-defs/cls.tex b/info/dickimaw/src/novices/term-defs/cls.tex new file mode 100644 index 0000000000..53d0bae718 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/cls.tex @@ -0,0 +1,11 @@ +The \gls*{cls} (\texttt{.cls}) defines the page layout, heading +styles and various \glspl{command} and \glspl{environment} needed for a +particular type of document. The class file is specified using the +command +\begin{definition} +\glsentrytext{documentclass}\oarg{\meta{options}}\marg{\meta{class-name}} +\end{definition}% +where \meta{class-name} is the name of the +file without the \texttt{.cls} extension. All \LaTeX\ documents +must start with this command. This book uses the +\icls{scrbook} class. diff --git a/info/dickimaw/src/novices/term-defs/command.tex b/info/dickimaw/src/novices/term-defs/command.tex new file mode 100644 index 0000000000..1453311872 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/command.tex @@ -0,0 +1,144 @@ +A \gls*{command} is used to tell \LaTeX\ to do a particular thing +at that point in the document. These are the basic forms a command +can take: + +\begin{enumerate} +\item \label{itm:controlword}\textbf{A Control Word.}\index{command!control word|hyperpage} + +This is a backslash \gls{backslashchar} followed by letters (A,\ldots,Z,a,\ldots,z). \faq{Commands gobble following space}{xspace}There can be no +non-alphabetical characters in the command, apart from the initial +backslash, and the name is always \textbf{case-sensitive} so, for example, \glsni{gamma} +and \glsni{Gamma} have different meanings. One command +that often trips up new users is \gls{LaTeX}, which prints the +LaTeX logo: \makeimg{LaTeX logo}{\LaTeX}. This command has three +captial letters and two lower case letters. If you get the case +of any of the letters incorrect, you will get an \dq{undefined +control sequence} error. + +\strut\warning There must be no space between the backslash and the +start of the command name. Some command names are made up of two +or more names joined together, such as \glsni{tableofcontents}. +\emph{Make sure you don't insert any spaces in the control word.} This will +either lead to an error or an unexpected result. +For example, +\begin{alltt}\correct +\cmdname{appendixname} +\end{alltt} +displays \dq{\appendixname} but +\begin{alltt}\wrong +\cmdname{appendix name} +\end{alltt} +switches to the appendices and then prints the word \dq{name}. + +Most \LaTeX\ commands have fairly self-explanatory names. +(For example, \booklinebreak\glsni{chapter} starts a new chapter and +\glsni{rightarrow} prints an arrow pointing to the right.) +However, in most cases, you need to use U.S. spelling +(for example, \glsni{color} rather than \cmdname{colour}). + +This is the most common form of command. Any spaces immediately +following a command of this type are ignored, so for example +\begin{codeS} +\gls{TeX} nician +\end{codeS}% + will produce +\begin{resultS}[TeXnician (where the TeX logo is written with a dropped E)] +\TeX nician +\end{resultS}% + whereas +\begin{codeS} +\glsni{TeX}\marg{} nician +\end{codeS}% + will produce +\begin{resultS}[TeX nician (where the TeX logo is written with a dropped E)] +\TeX{} nician +\end{resultS}% +\bookpagebreak + But the following will cause an \dq{undefined control sequence} + error: +\begin{alltt}\wrong +\cmdname{TeXnician} +\end{alltt} + +There is one command that you must use in every document you create, +and that is the \glsi{documentclass} command. This command +must be placed at the very start of your document, and indicates what +type of document you are creating. This command is described in more detail +\latex{in }\chapterref[later]{ch:simpledoc}. + +\item \label{itm:starredcommand}\textbf{A Starred Command}\index{command!starred|hyperpage} + +Some commands have variants that are indicated by an asterisk at the +end of the name. For example, \verb|\chapter| makes a numbered +chapter whereas \verb|\chapter*| is makes an unnumbered chapter. +A \keyword{starred command} is the version of the command with the +asterisk. (On a UK keyboard the asterisk character is usually +located on the same key as the digit~\texttt{8}.) + +This may seem like a different form to a control word, described +above. After all, I've just said that a control word can only +contain alphabetical characters. However a starred command is actually a control +word (such as \glsi{chapter}) followed by an asterisk. The +control word checks to see if the next character is +an asterisk. If it is, it performs one action, otherwise it performs +another action. + +This type should therefore just come under the previous category, +but as you will often hear of \dq{starred commands} it seemed better +to have a separate category. + +\item \label{itm:controlsymbol}\textbf{A Control Symbol.}\index{command!control +symbol|hyperpage} + +This is a backslash followed by a single non-alphabetical character. +For example \glsi{percent} will print a percent symbol. +Spaces are +not ignored after this type of command, for example +\begin{codeS} +17.5\glsi{percent} VAT +\end{codeS}% +will produce +\begin{resultS}[vat.html] +17.5\% VAT +\end{resultS} + +It's also possible to have starred forms of control symbols. For +example \glsi{newline.dbbackslashchar} forces a line break. If it's +not followed by an asterisk a page break is allowed at that line +break, but if it is followed by an asterisk \verb|\\*| no page break is allowed +at that line break. (If a page break is needed, it will be made at +the end of the previous line instead.) + +\item \label{itm:charactersequence}\textbf{Character Sequence.}\index{command!character +sequence|hyperpage} + +Some special sequences of characters combine to form an instruction. For example \texttt{ffi} +is the command to produce the \makeimg{ffi}{ffi} ligature, and the sequence +of symbols \iexclamdowncmd\ is the command to produce the upside +down exclamation mark !` + +\item \textbf{An Internal Command.}\index{command!internal|hyperpage} + +This is like the first type, a control word, but the +\texttt{@}\index{"@ in a command name@\texttt{"@} (in a command name)|hyperpage} +character appears in the command name (for example +\cmdname{c@section}) \emph{however} internal commands should only be +used in \htmlref{class files}{sec:cls} or +\htmlref{packages}{sec:packages}. The @ symbol takes on a special +meaning when a file is included using \glsi{documentclass} (a +class file) or \glsi{usepackage} (a package). + +For example, in a class file or package \cmdname{c@section} is an +internal representation of the section +\htmlref{counter}{ch:counters}, whereas in a \texttt{.tex} file +\cmdname{c@section} is interpreted as the command \cmdname{c} (the +cedilla \htmlref{accent command}{obj:accents}) that takes the +character @ as its argument, followed by \texttt{section}, which +produces the rather odd looking +\makeimg{@ with a cedilla section}{\c{@}section}\faq{\textbackslash @ and @ in macro +names}{atsigns}. + +Don't be tempted to use internal commands until you have first +grasped the basics. You have been warned! + +\end{enumerate} diff --git a/info/dickimaw/src/novices/term-defs/declaration.tex b/info/dickimaw/src/novices/term-defs/declaration.tex new file mode 100644 index 0000000000..beea9b3a2f --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/declaration.tex @@ -0,0 +1,84 @@ +The term \gls*{declaration} is used to refer to a \gls{command} that +affects the document from that point onwards. The declaration itself +does not produce any text and, in most cases, its effect can be +localised by placing the declaration within a \gls{group}. For +example, \glsi{bfseries} is a declaration that switches the +current font weight to bold, so the following code +\begin{code} +\begin{alltt} +Here is some normal text. +\glsni{bfseries} Here is some bold text. +\end{alltt} +\end{code}% +will appear in the typeset document looking like: +\begin{resultS}[declaration.html] +Here is some normal text. \bfseries Here is some bold text. +\end{resultS} + +Some declarations don't immediately have a visible effect. For +example, the declarations +\begin{definition} +\gls{raggedright} +\gls{raggedleft} +\gls{centering} +\end{definition} +only set the paragraph justification to ragged-right, +ragged-left or centred, respectively, if the +declaration is still in effect at the end of the paragraph. +That is, if it is still in effect at the next \glsni{par} or blank line. + +\xminisec{Example:} +\begin{code} +This is an example paragraph illustrating the paragraph justification declarations. The default justification is fully justified. +\glsni{raggedright} The paragraph justification can be switched to +ragged-right or \glsni{raggedleft} ragged-left. +\glsni{par} +\end{code} +\begin{result}[raggedleft.html] +This is an example paragraph illustrating the paragraph justification declarations. The default justification is fully justified. +\raggedright The paragraph justification can be switched to +ragged-right or \raggedleft ragged-left. +\par +\end{result} +Above, the justification at the paragraph break is ragged-left, so +that's the justification used for the entire paragraph. +Compare with: +\begin{code} +\marg{This is an example paragraph illustrating the paragraph justification declarations. The default justification is fully +justified. +\glsni{raggedright} The paragraph justification can be switched to +ragged-right or \glsni{raggedleft} ragged-left.} +\glsni{par} +\end{code} +\begin{result}[fullyjustified.html] +\setlength{\parindent}{1.5em}% For the benefit of LaTeX2HTML +{This is an example paragraph illustrating the paragraph justification declarations. The default justification is fully justified. +\raggedright The paragraph justification can be switched to +ragged-right or \raggedleft ragged-left.}\relax +\par +\end{result} +Above, the justification at the paragraph break is fully-justified, +since both the declarations \glsni{raggedright} and +\glsni{raggedleft} are cancelled when their local scope (signified +by the curly braces) ends. +This type of mistake most often occurs when people try to centre +text doing something like: +\begin{alltt} +\marg{\glsni{centering} Some text that is supposed to +be centred. +} +\wrong +Next paragraph. +\end{alltt} +The paragraph break (blank line) must go before the closing brace. +\begin{alltt} +\marg{\glsni{centering} Some text that is supposed to +be centred. +\correct +} +Next paragraph. +\end{alltt} + +\warning While we're on the subject of centred text, don't be +tempted to use \cmdname{centerline}. It's obsolete~\cite{l2tabu}. + diff --git a/info/dickimaw/src/novices/term-defs/dvi.tex b/info/dickimaw/src/novices/term-defs/dvi.tex new file mode 100644 index 0000000000..34cfb3a3d4 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/dvi.tex @@ -0,0 +1,18 @@ +\glsterm{tex} (and subsequently \LaTeX) originally created \glspl*{dvi} +instead of PDF files.\footnote{There was no PDF +back then.} However, although there are free DVI viewers, not many +people have them installed, so it's really only \TeX\ users who +can read them. Also, you can't embed image files in a DVI file or +have fancy effects, such as rotation. Instead, people can use +\TeX\slash \LaTeX\ to create +a DVI file and then use an application to convert the DVI file to +PostScript. + +These days PDF is the preferred platform-independent format, and +with the advent of PDF\TeX, modern \TeX\slash \LaTeX\ users can +directly create PDF documents rather than going through the DVI +route. Some people still prefer to create DVI files as an +intermediate step, particularly if they want to embed PostScript +instructions (as is done by the \isty{pstricks} package). For +simplicity, this book assumes that you have a modern \TeX\ +distribution and are using PDF\LaTeX\ rather than \LaTeX\TO DVI. diff --git a/info/dickimaw/src/novices/term-defs/environment.tex b/info/dickimaw/src/novices/term-defs/environment.tex new file mode 100644 index 0000000000..d4b8f0aa3a --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/environment.tex @@ -0,0 +1,51 @@ +An \gls*{environment} is a block of code contained within the +\glspl{command} +\begin{definition} +\gls{begin}\marg{\meta{env-name}} +\end{definition}% +and +\begin{definition} +\gls{end}\marg{\meta{env-name}} +\end{definition}% +where \meta{env-name} is the +name of the environment. The block of code is then formatted in a +method specific to that environment. For example, the +\gls{env-bfseries}\footnote{Note there is no backslash in +the +environment name.}\ environment will typeset the contents of the +environment in a bold font. The following code: +\begin{codeS} +\glsni{begin}\marg{bfseries}Here is some bold text.\glsni{end}\marg{bfseries} +\end{codeS}% +will appear in the typeset document looking like: +\begin{resultS}[Here is some bold text. (The entire sentence is in a +bold font.)] +\begin{bfseries}Here is some bold text.\end{bfseries} +\end{resultS} + +Some environments also supply \glspl{command} that may only be used +within that environment. + +\xminisec{Example:} +The \glsni{env-itemize} environment provides a command called +\glsni{item} so that you can specify individual items within +an unordered list: +\begin{code} +\begin{alltt} +Shopping List: +\glsni{begin}\marg{itemize} + \glsni{item} Cabbages + \glsni{item} Bananas + \glsni{item} Apples +\glsni{end}\marg{itemize} +\end{alltt} +\end{code}% +The above will produce the following output: +\begin{result}[shoppinglist.html] +Shopping List: +\begin{itemize} +\item Cabbages +\item Bananas +\item Apples +\end{itemize} +\end{result} diff --git a/info/dickimaw/src/novices/term-defs/fragile.tex b/info/dickimaw/src/novices/term-defs/fragile.tex new file mode 100644 index 0000000000..115f956157 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/fragile.tex @@ -0,0 +1,26 @@ +Certain types of \glspl{command}, called \glspl*{fragile}, can +seriously mess things up when they are used in what is termed a +\emph{moving argument}. These types of +\gls{argument} +are generally those whose contents are copied to another part of the +document. For example, section headings appear at the start of a +section, but they can also appear in the table of contents. The +\glsi{footnote} command is a fragile command, so +\begin{alltt}\wrong +\glsni{section}\marg{A heading\glsni{footnote}\marg{with a footnote}} +\end{alltt} +will cause an error\faq{An extra `\rightbracesym'??}{extrabrace}. + +If there is no other command to use in its place, you should +use \gls{protect} immediately before the +fragile command: +\begin{codeS} +\begin{alltt} +\glsni{section}\marg{A heading\glsni{protect}\glsni{footnote}\marg{with a footnote}} +\end{alltt} +\end{codeS}% +\faq{Footnotes in LaTeX section headings}{ftnsect}This, however, is +a contrived example, because it isn't a good idea to have a footnote +in a +section heading, as it will also end up in the table of contents, +and possibly in page headings. diff --git a/info/dickimaw/src/novices/term-defs/group.tex b/info/dickimaw/src/novices/term-defs/group.tex new file mode 100644 index 0000000000..2604ce6db3 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/group.tex @@ -0,0 +1,32 @@ + A segment of code may be \glsd[hyper=false]{group} by placing it + within \gls{leftbracechar} and \gls{rightbracechar} (curly braces). + Most \glspl{command} that occur within a group will be + local to that group. For example, \glsi{bfseries} changes + the font weight to bold, so the following segment of code: +\begin{code} +Here is some text. \marg{This text \glsi{bfseries} is in a +group.} Here is some more text. +\end{code}% +will appear in the typeset document looking like: +\begin{resultS}[grouping.html] +Here is some text. {This text \bfseries is in a group.} +Here is some more text. +\end{resultS} + +As can be seen, the font change only stays in effect until it +reaches the end of the group (signified by the closing curly brace +\glsni{rightbracechar}.) For a command to be in the same +\keywordfmt{scope} as another command, both commands must be within the same group. +For example, in the following, \glsi{bfseries} and +\glsi{itshape} are in the same scope: +\begin{codeS} +\marg{\glsi{bfseries} Some bold \glsi{itshape} +and italic text} +\end{codeS} +But below, they are in different scopes: +\begin{codeS} +\marg{\glsni{bfseries} Some bold text} +\marg{\glsni{itshape} and some italic text} +\end{codeS} + +\Glsplural{environment} form an implicit scope. diff --git a/info/dickimaw/src/novices/term-defs/hyphenation.tex b/info/dickimaw/src/novices/term-defs/hyphenation.tex new file mode 100644 index 0000000000..1bf2a2649e --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/hyphenation.tex @@ -0,0 +1,34 @@ +Words sometimes require \gls*{hyphenation} to help justify paragraphs +and prevent overly large areas of white space or protrusions into +the right margin. Some word processors by default don't hyphenate +words in fully-justified paragraphs, which has led some people to +believe that hyphenation is bad. Just because word processors do +something a certain way, doesn't mean that it's the correct way. +\TeX\ has an excellent hyphenation algorithm, but the default +hyphenation pattern is designed for English. If you are writing in +another language, use the \isty{babel} package to switch the +hyphenation pattern (see \sectionref{sec:babel}). + +Despite using an excellent algorithm, \TeX\ occasionally gets the +hyphenation wrong, particularly where the hyphenation is context +sensitive. There are two ways of setting the hyphenation for a given +word. + +\begin{enumerate} +\item For all occurrences of the word, use +\begin{definition} +\gls{cshyphenation}\marg{\meta{hyphenated word}} +\end{definition} +inserting a hyphen \Indextt{-} at all possible hyphenation +points. For example: +\begin{codeS} +\glsni{cshyphenation}\marg{gal-axy} +\end{codeS} + +\item For a particular instance of a word, use \gls{hyphen} at the +hyphenation point within the word. For example: +\begin{code} +There once was a little alien called Uiop who lived in the faraway gal\glsni{hyphen}axy of +Zxcv. +\end{code} +\end{enumerate} diff --git a/info/dickimaw/src/novices/term-defs/intersentencespacing.tex b/info/dickimaw/src/novices/term-defs/intersentencespacing.tex new file mode 100644 index 0000000000..a91f4f9a96 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/intersentencespacing.tex @@ -0,0 +1,124 @@ +\Gls*{intersentencespacing} refers to the default type of space +to be inserted between adjacent sentences within a paragraph. There is +disagreement over what size this space should be. French spacing +uses the same space as used between words. English spacing uses an +\Index{en-space} (half an \htmlref{em}{tab:units}\doifbook + {\csname footnote\endcsname{see \sectionref{sec:length}}}-space). With proportional +fonts\latex{ (such as this one)}, the en-space is slightly larger than a +single space. The difference is shown here: +\begin{code} +\begin{alltt} +X X + +X\gls{enspace} X +\end{alltt} +\end{code} +\begin{result} +X X +\glspar +X\enspace X +\end{result} +(Note that with fully-justified paragraphs, in both cases the spaces +may be stretched to ensure the sides of the paragraph are flushed.) + +\TeX\ (and \LaTeX) defaults to English spacing, but you can switch +to French spacing using the declaration: +\begin{definition} +\gls{frenchspacing} +\end{definition} +and switch back again using +\begin{definition} +\gls{nonfrenchspacing} +\end{definition} + +There was no en-space on a typewriter, so typists started using two +spaces in an attempt to emulate that slightly larger than one space +look. This habit has spread to word-processor users as well, and now +many people incorrectly assume English spacing means adding two +spaces after a full stop, which is too wide and looks ugly, but this +error shouldn't be used as a criticism against English spacing. + +There has been a gradual trend towards French spacing over the last +century, and some publishers insist on it. I~think this may in part +be due to a backlash against the ugliness of two spaces in +typewritten and word-processed documents. In fact the Oxford Style +Manual~\cite{oxford} simply states, \dq{In text, only use a single +space after all sentence punctuation.} + +Personally, I~prefer English spacing, particularly in reference +books. I~have many reference books on my shelf, but I~haven't read +any of them from cover-to-cover. I~flick to a particular section and +skim through the paragraphs until I~reach the desired bit of +information. Sometimes I've already looked something up, so I~have a vague +idea as to where to find the information. The extra space between +sentences makes it easier to locate a particular sentence. + +This isn't so much of an issue with books designed to be read from +beginning to end, such as a novel. However, I~have read one such +book that used a font where the commas had tiny tails and most of +the sentences contained multiple proper nouns, which made it very +difficult to read as it wasn't clear where the sentences ended. Is +that a full stop followed by a new sentence that happens to start +with a proper noun, or is it a comma whose tiny tail is blurred by +my short-sighted eyes followed by a clause that happens to start +with a proper noun? A~well-written, well-presented document should +not interrupt the reader, forcing them to continually go back to +re-parse a sentence. + +However, if you are writing a document, whether prose or technical, +with the intention of having it published you must check with the +publisher's guidelines to see if they insist on a particular style. +\xminisec{Notes:} +An end of sentence punctuation mark can be one of: a full stop +(\gls{sentence.periodchar}), exclamation mark +(\gls{sentence.exclamchar}) or question mark (\gls{questionchar}). + +\begin{enumerate} +\item If an end of sentence punctuation mark follows a lower case +character, \TeX\ assumes the punctuation mark indicates the end of +the sentence. For example, as in: +\begin{codeS} +Did you see that? I certainly did. +\end{codeS} + +\item Where this isn't the case, use \gls{spacesym} (backslash +followed by a space). +\begin{code} +This can happen when a sentence contains +a lower case abbreviation, e.g.\glsni{spacesym}like this +one. +\end{code} + +\item If an end of sentence punctuation mark follows an upper case +character, \TeX\ assumes the sentence hasn't ended at that point. +For example, as in: +\begin{codeS} +The G.P. said it was only hypochondria. +\end{codeS} + +\item Where the sentence actually ends with an upper case letter, +add \gls{at} after the letter and before the punctuation mark. +\begin{code} +Yesterday, I saw my G.P\glsni{at}. Tomorrow I'm going to see the +specialist. +\end{code} + +\end{enumerate} + +\xminisec{Note on Typewriter Fonts} + +Note that \gls{nonfrenchspacing} in a monospaced font will insert +two spaces between sentences, emulating a typewritten document. +\begin{code} +\begin{alltt} +\glsni{ttfamily} +\glsni{nonfrenchspacing} x. x. + +\glsni{frenchspacing} x. x. +\end{alltt} +\end{code} +\begin{result}\ttfamily +\nonfrenchspacing x. x. + +\frenchspacing x. x. +\end{result} diff --git a/info/dickimaw/src/novices/term-defs/introduction.tex b/info/dickimaw/src/novices/term-defs/introduction.tex new file mode 100644 index 0000000000..b1077d07b4 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/introduction.tex @@ -0,0 +1,129 @@ +\label{ch:def}% + +As mentioned in \chapterref[the introduction]{ch:intro}, \LaTeX\ is a +language, so you can't simply start typing and expect to see your +document appear before your very eyes\faq{Why is TeX not a WYSIWYG system?}{notWYSIWYG}. You need to know a few things +before you can get started, so it's best to define a few terms first. +Don't worry if there seems a lot to take in, there will be some +practical examples later, which should hopefully make things a little +clearer. + +\begin{latexonly} +Throughout this book, \glstext{source} is +illustrated in a typewriter font with the word +\inputlabelformat{Input} placed in the margin, and the corresponding +output (how it will appear in the PDF document) is typeset with the word \outputlabelformat{Output} in the +margin. + +\xminisec{Example:} +A single line of code is displayed like this: +\end{latexonly} +\html{Throughout this document, \glstext{source} is +illustrated in the form:} +\begin{codeS} +This is an \glsni{textbf}\marg{example}. +\end{codeS}% +The corresponding +\glslink{output}{output}\html{ (how it will appear in the PDF document)\footnote{This HTML version of the book uses bitmaps to illustrate the output, which doesn't look as good as the actual PDF version.}}\ is illustrated like this: +\begin{resultS}[exampleoutput.html] +This is an \textbf{example}. +\end{resultS}% +\begin{latexonly}% +Segments of code that are longer than one line are bounded above and below, illustrated as follows: +\begin{code} +\begin{alltt} +Line one\glsni{par} +Line two\glsni{par} +Line three. +\end{alltt} +\end{code}% +with corresponding output: +\begin{result} +Line one\par +Line two\par +Line three. +\end{result}% +\end{latexonly}% +Take care not to confuse a backslash~\glsni{backslashchar} +with a forward slash~\gls{text.slash} as they have different meanings. +\doifnotbook +{% + (Commands typeset in blue, such as \glsni{par}, indicate a hyperlink to + the command definition in the +\latexhtml{\htmlref{summary}{ch:glossary}}{\htmladdnormallink{summary}{summary.html}}.) +} + +\Glstext{command} definitions are shown in a typewriter font in the form: +\begin{definition} +\glsni{documentclass}\oarg{\meta{options}}\marg{\meta{class file}} +\end{definition}% +In this case the command being defined is called +\cmdname{documentclass} and text typed \meta{like this} (such as +\meta{options} and \meta{class file}) indicates the type of thing you +need to substitute. (Don't type the angle brackets!) For example, if you want the \icls{scrartcl} +\glstext{cls} you would substitute \meta{class file} with +\texttt{scrartcl} and if you want the \clsopt{letterpaper} option you +would substitute \meta{options} with \texttt{letterpaper}, like this: +\begin{codeS} +\glsnl{documentclass}\oarg*{letterpaper}\marg*{scrartcl} +\end{codeS} +But more on that later. + +\refstepcounter{object}\label{obj:visiblespace}% +Sometimes it can be easy to miss a space character when you're +reading this kind of \latexhtml{book}{document}. When it's important +to indicate a space, the visible space symbol~\gls{visiblespace} is used. For +example: +\begin{codeS} +A\glsni{visiblespace}sentence\glsni{visiblespace}consisting\glsni{visiblespace}of\glsni{visiblespace}six\glsni{visiblespace}words. +\end{codeS} +When you type up the code, replace any occurrence of +\glsni{visiblespace} with a space. + +\refstepcounter{object}\label{obj:comment} +One other thing to mention is the comment character~\gls{percentchar} +(the percent symbol). Anything from the percent symbol up to, and +including, the end of line character is ignored by \LaTeX. Thus +\begin{code} +A simple \glsni{percentchar} next comes a command to make some bold text\newline +\glsni{textbf}\marg{example} +\end{code}% +will produce the output +\begin{resultS}[commentexample.html] +A simple % next comes a command to make some bold text +\textbf{example} +\end{resultS}% +\refstepcounter{object}\label{obj:suppresseol}% +The percent symbol is often used to suppress unwanted space +resulting from line breaks\footnote{\LaTeX\ treats the end-of-line +character as a space.}\ in the \glstext{source}. +For example, the following code +\begin{code} +Foo\glsni{percentchar}\newline +Bar +\end{code}% +will produce the output: +\begin{resultS}[FooBar (single word)] +Foo% +Bar +\end{resultS}% +as opposed to +\begin{code} +Foo\newline +Bar +\end{code}% +which will produce the output: +\begin{resultS}[Foo Bar (two words)] +Foo\ Bar\relax% LaTeX2HTML is getting confused! +\end{resultS}% +On the other hand, spaces at the start of a line of input are +ignored, so +\begin{code} +Foo\glsni{percentchar}\newline +\strut~~Bar +\end{code} +still produces: +\begin{resultS}[FooBar] +Foo% + Bar +\end{resultS} diff --git a/info/dickimaw/src/novices/term-defs/length.tex b/info/dickimaw/src/novices/term-defs/length.tex new file mode 100644 index 0000000000..38471d4882 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/length.tex @@ -0,0 +1,104 @@ +A \gls{length} register stores dimensions (such as 1in, 5cm, +8.25mm). Like \glslink{command}{control words}, length registers +start with a backslash and only contain alphabetical characters in +their name. These registers are used to determine page layouts etc. +For example, the paragraph indentation is given by the length +register \gls{parindent}. Acceptable units of measurement are listed +in \tableref{tab:units}. The two relative units \dq{em} and \dq{ex} are +dependent on the current font. (The em-value used to be the +width of an \dq{M} and the ex-value was the height of the letter +\dq{x}, but these days the values are more +arbitrary~\protect\cite{texbook}.) Use \texttt{em} for widths and +\texttt{ex} for heights if you want to use relative values. + +\begin{table}[htbp] +\caption{Units of Measurement} +\label{tab:units} +\centering +\begin{tabular}{ll} +\iunit{pt}{\protect\TeX\ point} & \TeX\ point: 72.27pt = 1in\\ +\iunit{in}{inch} & inch: 1in = 25.4mm\\ +\iunit{mm}{millimetre} & millimetre: 1mm=2.845pt\\ +\iunit{cm}{centimetre} & centimetre: 1cm = 10mm\\ +\iunit{ex}{relative unit} & the \dq{x-height} of the current font\\ +\iunit{em}{relative unit} & the width of a \dq{quad} in the current font\\ +\iunit{sp}{scaled point} & scaled point: 1sp = 65536pt\\ +\iunit{bp}{big point} & big point (or \Index{PostScript} point): 72bp = 1in\\ +\iunit{dd}{did\^ot point} & did\^ot point: 1dd=0.376mm\\ +\iunit{pc}{pica} & pica: 1pc=12pt\\ +\iunit{cc}{cicero} & cicero: 1cc=12dd\\ +\iunit{mu}{math unit} & math unit: 18mu = 1em +\end{tabular} +\par +\end{table} + +To change a length you can use the command: +\begin{definition} +\gls{setlength}\marg{\meta{cmd}}\marg{\meta{length}} +\end{definition}% +where \meta{cmd} is the register (for example, \glsni{parindent}) +and \meta{length} is the new length. Alternatively, you can add a +value to a length using: +\begin{definition} +\gls{addtolength}\marg{\meta{cmd}}\marg{\meta{length increment}} +\end{definition} +The value of a length register can be displayed in your document using +\begin{definition} +\gls{the}\meta{register} +\end{definition} + +A \keyword{rubber length} is a length that has a certain amount of +elasticity. This enables you to specify your desired length but +allows \LaTeX\ to stretch or contract the space to get the body of +text as flushed with the margins as possible. + +\faq{Zero paragraph indent}{parskip}For example, the paragraph gap \gls{parskip} is usually set to +\texttt{0pt plus 1pt}. This means that the preferred gap is +0pt but \LaTeX\ can stretch it up to 1pt to help prevent the +page from having a ragged bottom. For example: +\begin{code} +\begin{alltt} +\glsni{setlength}\marg{\glsni{parindent}}\marg{0pt} +\glsni{setlength}\marg{\glsni{parskip}}\marg{10pt plus 1pt minus 1pt} + +This is the first paragraph. + +This is the second paragraph. +The paragraph indentation is \glsni{the}\glsni{parindent}. +\end{alltt} +\end{code}% +This now produces: +\begin{result} +\setlength{\parindent}{0pt} +\setlength{\parskip}{10pt plus 1pt minus 1pt} + +This is the first paragraph. + +This is the second paragraph. +The paragraph indentation is \the\parindent. +\end{result}% +In this example, the preferred paragraph gap is 10pt but +it will allow for a deviation of up to plus or minus 1pt. + +\warning Note that it's generally best not to change \glsni{parskip} +explicitly as it can cause unexpected complications. If you use one +of the \koma\ classes, such as \icls{scrreprt}, you can use the +\scrclsopt{parskip} class option that can take the following values: +\texttt{parskip=full} (a full line height) \texttt{parskip=half} +(half a line height).\footnote{There are also variants that have +\texttt{+}, \texttt{-} or \texttt{*} as a suffix. See the +\koma\ documentation for further details.} + +\xminisec{Example:} +\begin{codeS} +\glsni{documentclass}\oarg{parskip=full}\marg{scrbook} +\end{codeS} + +If you want to change any of the page layout lengths (such as +\gls{textwidth}), the easiest way to do it is to use the +\isty{geometry} \htmlref{package}{sec:packages}. This package should have been installed +when you installed your \TeX\ distribution. For example: suppose you want the total text +area to be 6.5in wide and 8.75in high with a left margin of 0.4in, then you would do: +\begin{codeS} +\glsni{usepackage}\oarg{body=\marg{6.5in,8.75in}\comma left=0.4in}\marg{geometry} +\end{codeS} diff --git a/info/dickimaw/src/novices/term-defs/mandatory.tex b/info/dickimaw/src/novices/term-defs/mandatory.tex new file mode 100644 index 0000000000..0630fadd03 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/mandatory.tex @@ -0,0 +1,83 @@ +\Glspl*{mandatory} are arguments that \emph{have} to be +specified. +\glspar +\xminisec{Examples:} +\begin{enumerate} +\item If you want a footnote, you need to use the +\glsi{footnote} command, which has a mandatory argument that +specifies the contents of the footnote. Like this: +\begin{codeS} +Here is a footnote.\glsni{footnote}\marg{This is the +footnote +text.} +\end{codeS} +\begin{latexonly} +\begin{resultS} +Here is a footnote.\footnotemark +\end{resultS} +\footnotetext{This is the footnote text.}% +\doifnotbook{(By default you +won't get a hyperlink. This book uses the \sty{hyperref} package, +which generates the hyperlinks.)} +\end{latexonly} + +\item If you want to start a new chapter, you need to use the +\glsi{chapter} command, but you also need to tell \LaTeX\ +the +title of this new chapter. So the \glsi{chapter} command +takes +one mandatory argument that specifies the title. + +For example, the following code: +\begin{codeS} +\glsni{chapter}\marg{Some Definitions} +\end{codeS}% +was used to generate the heading for +\latexhtml{the current chapter (at the top of +page~\pageref{ch:def})}{\chapterref[the definitions chapter]{ch:def} +of this document}. +\item The command \glsi{textbf} typesets its argument in a +bold +font (as opposed to the +\glsterm{declaration} +\glsi{bfseries} which switches to a bold font.) + +For example, the following code: +\begin{codeS} +\glsni{textbf}\marg{Some bold text.} +\end{codeS}% +produces the output +\begin{resultS}[Some bold text. (All the text is in bold.)] +\textbf{Some bold text.} +\end{resultS} +\end{enumerate} + +\xminisec{Notes:} +\begin{enumerate} +\item\label{itm:argnogrp} \LaTeX\ takes the first non-space object +following the command name as the argument, which is why in the +above +examples the arguments have to be \glsd{group}. + +Suppose the last example above didn't have a group, so instead the +code was: +\begin{codeS} +\glsni{textbf} Some bold text. +\end{codeS}% +then only the \dq{S} would be the argument because it's the first +object +following the command, in which case the output would look like: +\begin{resultS}[Some bold text. (Only the letter S is bold.)] +\textbf Some bold text. +\end{resultS} + +\item If you want the argument to be blank, use empty braces: +\gls{leftbracechar}\gls{rightbracechar}. For example, suppose you +want to have a +chapter without a title\protect\footnote{The numbers for chapters, sections +etc are automatically inserted by \LaTeX, so this example would +produce a numbered chapter without a title.}\ you would need to do: +\begin{codeS} +\glsnl{chapter}\marg{} +\end{codeS} +\end{enumerate} diff --git a/info/dickimaw/src/novices/term-defs/optional.tex b/info/dickimaw/src/novices/term-defs/optional.tex new file mode 100644 index 0000000000..2cbb56233d --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/optional.tex @@ -0,0 +1,75 @@ +Some \glspl{command} may have one or more \glspl*{optional}. Unlike +\glspl{mandatory}, optional arguments must always be enclosed in +square brackets \gls{opt.opensq}~\gls{opt.closesq}. +\xminisec{Example:} +The command \gls{newline.dbbackslashchar} ends a line. +So the following segment of code: +\begin{codeS} +Line one\glsni{newline.dbbackslashchar}Line two. +\end{codeS}% +will produce the following output: +\begin{result}[Line one <newline> Line two]\setlength{\parindent}{1.5em}% +Line one\\Line two. +\end{result}% +However the \glsni{newline.dbbackslashchar} command also +has an optional +argument that allows you to specify how big the gap between the two +lines should be. So the following segment of code: +\begin{codeS} +Line one\glsni{newline.dbbackslashchar}\oarg{1cm}Line two. +\end{codeS}% +will produce the following output: +\begin{result}[Line one <1cm vertical gap> Line two]\setlength{\parindent}{1.5em}% +Line one\\[1cm]Line two. +\end{result} +Incidentally, note the +difference between the previous example, and the following example: +\begin{codeS} +Line one\glsni{newline.dbbackslashchar}\marg{[1cm]} Line two. +\end{codeS}\screenpagebreak +\begin{result}[newlineargs.html]\setlength{\parindent}{1.5em}% +Line one\\{[1cm]} Line two. +\end{result}% +\faq{Start of line goes awry}{newlineargs}In this example the \texttt{[1cm]} has been placed inside a group, so +it is no longer considered to be an optional argument, and since the +command \glsni{newline.dbbackslashchar} does not take a +mandatory argument, +the \texttt{[1cm]} is simply interpreted as ordinary text. + +\xminisec{Example:} +The command \glsi{framebox} (which will be covered later in +\sectionref{sec:fbox}) takes a +\gls{mandatory} and two optional arguments. +\glsni{framebox} puts a frame around the contents of its +mandatory argument: +\begin{codeS} +\glsni{framebox}\marg{Some Text} +\end{codeS}% +\begin{resultS}[Image of the words 'Some Text' inside a rectangular +box where there is a narrow gap between the edge of the text and the +frame] +\framebox{Some Text} +\end{resultS} +The first optional argument can be used to make the box a specified +width: +\begin{codeS} +\glsni{framebox}\oarg{4cm}\marg{Some Text} +\end{codeS}% +\begin{resultS}[Image of the words 'Some Text' centred inside a +rectangular box of width 4cm (plus a narrow gap)] +\framebox[4cm]{Some Text} +\end{resultS} +The second optional argument specifies the +justification of the text (\underline{l}eft, \underline{r}ight or +\underline{c}entred) within the box: +\begin{codeS} +\glsni{framebox}\oarg{4cm}\oarg{r}\marg{Some Text} +\end{codeS}% +\begin{resultS}[Image of the words 'Some Text' right justified inside a +rectangular box of width 4cm (plus a narrow gap)] +\framebox[4cm][r]{Some Text} +\end{resultS} +\glspar +In general, if a command has both optional and mandatory arguments, +the optional arguments are usually specified first (although there +are a few exceptions). diff --git a/info/dickimaw/src/novices/term-defs/output.tex b/info/dickimaw/src/novices/term-defs/output.tex new file mode 100644 index 0000000000..6b7149fe72 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/output.tex @@ -0,0 +1,14 @@ + The \LaTeX\ application reads in your \glsterm{source} + and creates the typeset document, the + \gls*{output}. This book assumes that you will be using the + version of \LaTeX\ that produces PDF files (PDF\LaTeX). If you are + using TeXWorks (see \chapterref{ch:tex2pdf}), you need to select the + \mbox{\dq{PDFLaTeX}} item from the drop-down list. If you are using + TeXnicCenter, select the \mbox{\dq{LaTeX\TO PDF}} build + profile. If you are + using WinEdt, when you want to build your document click on the + button marked \dq{PDFLaTeX} rather than the one marked \dq{LaTeX}. + If you are using a terminal or command prompt, use the command + \texttt{pdflatex} rather than \texttt{latex}. (TeXnicCenter, WinEdt + and using the terminal or command prompt approach are described in + the \suppmaterial[.)]{supplemental material} diff --git a/info/dickimaw/src/novices/term-defs/perl.tex b/info/dickimaw/src/novices/term-defs/perl.tex new file mode 100644 index 0000000000..73837d0615 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/perl.tex @@ -0,0 +1,20 @@ +\glsterm{tex}-distributions such as \itexdistro{TeX~Live} and \itexdistro{MiKTeX} also +include some helper applications that you may find useful. For example, +\iappname{texdoc} (\sectionref{sec:texdoc}) helps you access +installed documentation and \iappname{makeindex} helps generate an +index for your document. Some of the helper applications are +written in a scripting language called \gls*{perl}, and you must +have the \iappname{perl} application installed to be able to use +them. Unix-like operating systems should already have it installed. +Windows users can choose between several Perl distributions. The +most popular seem to be \iperldistro{Strawberry Perl}{http://strawberryperl.com/} and +\iperldistro[.]{Active Perl}{http://www.activestate.com/activeperl} Perl scripts that come +with \glsterm{tex} include: \iappname{epstopdf} (converts Encapsulated +PostScript (EPS)\indexEPS\ files to PDF), \iappname{pdfcrop} (crops +a PDF file), \iappname{xindy} (a more flexible indexing application +than \iappname{makeindex}), \iappname{texcount} (counts the number +of words in a \LaTeX\ document) and \iappname{latexmk} (runs \LaTeX\ +and any associated applications, such as \iappname{bibtex}, the +required number of times to ensure the document is fully +up-to-date). + diff --git a/info/dickimaw/src/novices/term-defs/preamble.tex b/info/dickimaw/src/novices/term-defs/preamble.tex new file mode 100644 index 0000000000..262f13a112 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/preamble.tex @@ -0,0 +1,11 @@ +The \gls*{preamble} is the part of the \gls{source} that comes +after the \screenlinebreak\reportlinebreak\glsi{documentclass} +\gls{command} and before +\glsni{begin}\marg{\texttt{document}} (the start of the +\glsi{env-document} \gls{environment}). Only +a few +special commands may be placed in the preamble (such as \glsni{title}), and there are a few +special commands that may only go in the preamble (such as \glsi{usepackage}). +Nothing that generates text (for example, \glsi{maketitle}) may go in the preamble. + +\preambleillustration diff --git a/info/dickimaw/src/novices/term-defs/robust.tex b/info/dickimaw/src/novices/term-defs/robust.tex new file mode 100644 index 0000000000..3f73e1a066 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/robust.tex @@ -0,0 +1 @@ +A \gls*{robust} is a \gls{command} that is not a \glsni{fragile}. diff --git a/info/dickimaw/src/novices/term-defs/short.tex b/info/dickimaw/src/novices/term-defs/short.tex new file mode 100644 index 0000000000..7ab189d459 --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/short.tex @@ -0,0 +1,10 @@ +A \gls*{short} is a \gls{command} whose \gls{argument} may not +contain a paragraph break (either as a blank line or using +\glsi{par}.) Conversely, a \keywordfmt{long command} is a command whose +\gls{argument} may contain a paragraph break. + +Using short commands helps to test for forgotten braces, so it is +recommended that when you \htmlref{define a new +command}{ch:newcom}\latex{ (see \chapterref{ch:newcom})} you should +always make the command a short command, unless there is a chance +that the argument may need to contain a paragraph break. diff --git a/info/dickimaw/src/novices/term-defs/source.tex b/info/dickimaw/src/novices/term-defs/source.tex new file mode 100644 index 0000000000..50a3f0a6af --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/source.tex @@ -0,0 +1,6 @@ + The \gls*{source} consists of all the text and \LaTeX\ + \glslink{command}{commands} that make up an entire document. + The source code is typed in using a text + editor\faq{TeX-friendly editors and shells}{editors}, and saved with + the file extension \texttt{.tex}. The source code may be contained + in just one file, or it might be split across several files.% diff --git a/info/dickimaw/src/novices/term-defs/terminal.tex b/info/dickimaw/src/novices/term-defs/terminal.tex new file mode 100644 index 0000000000..f6303062ea --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/terminal.tex @@ -0,0 +1,59 @@ +Sometimes you may find that you need to use a command-line +application. This is an application that doesn't have a graphical +user interface. This isn't specific to \glsterm{tex}, but the \TeX\ +distribution comes with a number of them. In fact, front-ends (such +as TeXWorks) run some of these applications for you when click on +the typeset or build button. + +Most operating systems provide a \gls*{terminal} or command prompt where +you can type the command-line application name and any associated +information. For example, \xfigureref{fig:terminal} shows a terminal +running under Fedora on Linux. + +\begin{description} +\item[Windows] To open the MSDOS Prompt, go to the Start menu, then +\dq{All Programs}, then \dq{Accessories} and click on \dq{MSDOS +Prompt}. + +\item[Mac OSX] To open the Mac Terminal, go to your +\dq{Applications} folder, open \dq{Utilities} and double click on \dq{Terminal}. + +\item[Unix etc] The Terminal is usually located either in the \dq{Applications} +menu or in the \dq{System Tools} subdirectory of the +\dq{Applications} menu. +\end{description} + +\begin{figure}[htbp] +\figconts + {pictures/terminal} + {% + \caption{A Terminal} + } + {fig:terminal} +\end{figure} + +\xminisec{Example:} + +One such command-line application you are likely to need is +\iappname{texdoc}. This is mentioned in more detail in +\sectionref{sec:texdoc}, but to use \iappname{texdoc} you need to +open the terminal or command prompt as described above and type +\texttt{texdoc} followed by a package or class name, for example: +\begin{verbatim} +texdoc scrbook +\end{verbatim} +(see \figureref{fig:terminal-texdoc}) +then press the Enter or Return \enter\ key. + +\begin{figure}[htbp] +\figconts + {pictures/terminal-texdoc} + {% + \caption{Running texdoc From a Terminal} + } + {fig:terminal-texdoc} +\end{figure} + +Other \glsterm{tex}-related command-line applications include +\iappname{pdflatex}, \iappname{bibtex}, \iappname{makeindex}, +\iappname{xindy} and \iappname{kpsewhich}. diff --git a/info/dickimaw/src/novices/term-defs/tex.tex b/info/dickimaw/src/novices/term-defs/tex.tex new file mode 100644 index 0000000000..29c6fbe47d --- /dev/null +++ b/info/dickimaw/src/novices/term-defs/tex.tex @@ -0,0 +1,16 @@ +\gls*{tex}\faq{What is TeX?}{whatTeX}\ is the typesetting language +written by +\htmladdnormallink{Donald~Knuth}{http://www-cs-faculty.stanford.edu/~knuth/}. +He wrote a format of \TeX\ called Plain \TeX, but many people find +Plain \TeX\faq{Should I use Plain TeX or LaTeX?}{plainvltx}\ +complicated, so Leslie~Lamport wrote a format of \TeX\ called +\LaTeX\ to make it a bit easier to use\faq{How does LaTeX relate to +Plain TeX?}{LaTeXandPlain}. You can think of \LaTeX\ as a +go-between converting your instructions into \TeX. This +\latexhtml{book}{document} mostly uses the term \LaTeX, even if the +matter is more general to \TeX, to avoid complicating matters. Some +error messages you may see will be \LaTeX\ messages, some will be +\TeX\ messages. \LaTeX\ error messages tend to be a bit easier to +understand than \TeX\ messages. There are other formats of \TeX, +such as ConTeXt\faq{What is ConTeXt?}{context}, but this book +does not cover them. |