1PREREX(5)                                                            PREREX(5)
2
3
4

NAME

6       prerex_format -- a format for prerequisite-chart descriptions
7

DESCRIPTION

9       This  manual  describes  the  format of prerequisite-chart descriptions
10       that can be processed by [pdf]latex (normally  using  a  suitable  pre‐
11       rex.sty(7)  style file) and edited using the prerex(1) interactive edi‐
12       tor (or by any conventional text editor).
13

TERMINOLOGY

15       A prerequisite chart consists of a number of course  boxes,  linked  by
16       arrows.   Courses  are  either  half  or  full,  and may be required or
17       optional (or neither).  Each course  box  can  contain  a  course  code
18       (upper  left corner), a course title (lower half), and timetable infor‐
19       mation (upper right corner).  An arrow can  be  either  a  prerequisite
20       (solid),  a corequisite (dotted), or recommended (dashed).  When a con‐
21       ventional arrow would be inappropriate, a mini course just above a tar‐
22       get box can be used.
23

STRUCTURE

25       The file should contain exactly one instance of a LaTeX environment
26
27       \begin{chart} instruction ... \end{chart}
28
29       with  at  most  one  instruction per line.  Note that a program such as
30       prerex(1) analyzes prerex-format files without using TeX; for  example,
31       macro definitions will be ignored and macro calls will not be expanded.
32
33       Instructions  may  be preceded by white space.  Lines that start with %
34       are treated as comments and ignored.  The order of instructions is  not
35       significant except that the instruction for the source and target box o
36       an arrow should precede the instruction for the arrow.  The instruction
37       formats are described in the following sections.
38

COURSE BOXES

40       The instructions producing course boxes have the following forms:
41
42       \halfcourse x,y:{code}{title}{timetable}
43
44       \fullcourse x,y:{code}{title}{timetable}
45
46       \reqhalfcourse x,y:{code}{title}{timetable}
47
48       \reqfullcourse x,y:{code}{title}{timetable}
49
50       \opthalfcourse x,y:{code}{title}{timetable}
51
52       \optfullcourse x,y:{code}{title}{timetable}
53
54       where  x,y  are the coordinates of the centerpoint of the box, relative
55       to the origin of the coordinate system at the lower-left corner of  the
56       diagram.  The code, title, and timetable arguments are arbitrary (well-
57       bracketed) text, possibly with LaTeX markup.
58
59       The following are similar but take an additional  argument  to  specify
60       the (non-default) background color of the course box:
61
62              \halfcoursec x,y:{code}{title}{timetable}{color}
63
64              \fullcoursec x,y:{code}{title}{timetable}{color}
65
66              \reqhalfcoursec x,y:{code}{title}{timetable}{color}
67
68              \reqfullcoursec x,y:{code}{title}{timetable}{color}
69
70              \opthalfcoursec x,y:{code}{title}{timetable}{color}
71
72              \optfullcoursec x,y:{code}{title}{timetable}{color}
73

MINI COURSE BOXES AND TEXT

75       A mini course is produced by an instruction of the form
76
77       \mini x,y:{code}
78
79       A text line is inserted into the chart by an instruction of the form
80
81       \text x,y:{line-of-text}
82
83       The  maximum  allowed  length  of a course-code may be smaller that the
84              maximum allowed for a line of text.
85

ARROWS

87       Arrows between course boxes (or from a mini to a course box)  are  pro‐
88       duced by instructions of the form
89
90       \prereq x0,y0,x1,y1:
91
92       \coreq x0,y0,x1,y1:
93
94       \recomm x0,y0,x1,y1:
95
96       These  produce, respectively, solid, dotted, and dashed arrows from the
97       course box (or mini) centered at coordinates x0,y0 to  the  course  box
98       centered at coordinates x1,y1.
99
100       In some implementations, certain arrows by default have a non-zero cur‐
101       vature.  It is possible to override the default curvature for a partic‐
102       ular arrow by using the instructions
103
104       \prereqc x0,y0,x1,y1;c:
105
106       \coreqc x0,y0,x1,y1;c:
107
108       \recommc x0,y0,x1,y1;c:
109
110       where c is an integer in the range -100:100 specifying the desired cur‐
111       vature; for example, c=0 will produce a straight arrow. To  change  the
112       default  curvature, the user program may redefine the \DefaultCurvature
113       command.
114

COORDINATE GRID

116       The following instruction produces a coordinate grid, which  is  useful
117       for editing a diagram:
118
119       \grid
120
121       This  is normally placed before all the other instructions so that grid
122       lines are in the  background,  covered  by  course  boxes,  minis,  and
123       arrows.
124
126       Course  boxes may be linked to web addresses.  The URL for course boxes
127       may be set by the user  by  redefining  the  \CourseURL  command;  when
128       called for a course box, it is supplied with three arguments, the x and
129       y coordinates of the box, mini, or textline, and the code  argument  of
130       the course box. For example,
131
132       \renewcommand{\CourseURL}[3]{http://www.cs.queensu.ca/undergradu
133              ate/courses/#3.html}
134
135       is appropriate for courses at the School of Computing, Queen's  Univer‐
136       sity.   The  first two arguments can be used to display the coordinates
137       of a box, mini, or textline in some PDF viewers while the mouse  hovers
138       over it when the source file is being edited.
139

AUTHOR

141       R. D. Tennent (rdt@cs.queensu.ca)
142

SEE ALSO

144       prerex(1), prerex.sty(7).
145
146
147
148prerex_format                     2019-11-15                         PREREX(5)
Impressum