summaryrefslogtreecommitdiff
path: root/macros/latex209/contrib/tesla/goldilocks.tex
blob: a8ff46941a027eea18e0330c49e590bb1e29dd6c (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
%
% goldilocks.tex
%
%
% This is the Goldilocks example that uses the TeSLa package that is the
% subject of the paper entitled "An Example Special Purpose Input Language
% to LaTeX" that was (will be) presented to the TUG94 conference in
% Santa Barabara.
%
% Please see tesla.sty for more details.
% ======================================
%
% Note that this example CHEATS!  It has only one main file instead of
% the three described in the paper and in tesla.sty.  Instead, it queries 
% user for the which form to use---tab or eng--- when it is LaTeX'ed.
%

%
% Query the user for the form (\form):
% 	  tab -	for the tab-form for the tabular form
% 	  eng -	for the eng-form for the English form
%
\typein[\form]{Which form would you like?
	'tab' for tabular or 'eng' for English:}

%
% Now that we know the form (\form), specify the documentstyle
%
\documentstyle[11pt,tesla,\form-form]{article}

\begin{document}

\title{The Goldilocks Example\\That Uses the {\tt \form-form} Style\\of \TeSLa{}}
\author{Henry Baragar			\\
	Instantiated Software Inc.	\\
	henry@instantiated.on.ca	
	\and
	Gail E. Harris			\\
	RES Policy Research Inc.	\\
	ak753@freenet.carleton.ca
	}
\maketitle

This is the Goldilocks example that was presented in the paper entitled
``An Example Special Purpose Input Language to LaTeX'' that was (will be)
presented to the TUG '94 conference in Santa Barabara.  There are two things
which this paper illustrates:
\begin{enumerate}
\item	It illustrates how documentation for use by two audiences with vastly
	different expectations can be generated from the same source file.
	In our case, the two audiences are:
	\begin{description}
	\item[Expert System Programmers] who expect the documentation in a
		tabular form where rules are grouped into tables of
		related rules that incorporate the names of the
		Knowledge Base variables
	\item[Domain Experts (or system user)] who expect the
		documentation in an English form where rules are
		grouped into subsections of related rules, each of
		which is a sentence (and paragraph) that
		incorporates the meanings of the Knowledge Base
		variables
	\end{description}
	A \TeSLa{} document formatted with the {\tt tab-form.sty} will
	generate the documentation in a form suitable for Expert System
	Programmers, whereas a \TeSLa{} document formatted with the
	{\tt eng-form.sty} will generate the documentation in a form
	suitable for Domain Experts.  This document was formatted with the 
	{\tt \form-form} style.
\item	A method of inputing (or marking up) the rules in a manner such
	that the structure of the rules is visually apparent to the Expert
	System Analyst (the author of the documentation) and such that the
	likelyhood of errors is reduced (since the Expert System Analyst
	might not be comfortable with \LaTeX{} or \TeX{}).  Please see the 
	{\tt goldirules.tex} file for the Goldilocks example presented at
	the end of this document.
\end{enumerate}

Please see tesla.sty for more details.  The rest of this document is the
example that was presented in the paper.

\inputrulefile{goldirules}

\end{document}