1
0
Fork 0

Properly build and format TeX document

This doesn't have formatting (yet?) for notices aside from the basic
italics.

* design.texi: Move @ref's to end of sentence rather than treating as
  links on existing text.  It otherwise formats undesirably in the PDF.
master
Mike Gerwitz 2017-03-21 14:45:54 -04:00
parent 4ddebbc035
commit 0400b5f84c
1 changed files with 18 additions and 10 deletions

View File

@ -22,30 +22,33 @@ The main components of the system are:
@table @strong @table @strong
@cindex Assertions @cindex Assertions
@item @ref{Assertions} @item Assertions
Basic validations against bucket data, Basic validations against bucket data,
producing errors and manipulating control flow. producing errors and manipulating control flow.
Invokes triggers to manipulate the UI and document. Invokes triggers to manipulate the UI and document.
Assertions are compiled from Program sources. Assertions are compiled from Program sources.
@xref{Assertions}.
@cindex Bucket @cindex Bucket
@item @ref{Bucket} @item Bucket
The key/value store into which all document data are stored. The key/value store into which all document data are stored.
Supports staging and rollback of data, Supports staging and rollback of data,
processing deltas, processing deltas,
and provides hooks that drive the rest of the system. and provides hooks that drive the rest of the system.
@xref{Bucket}.
@cindex Calculated Value @cindex Calculated Value
@item Calculated Values @item Calculated Values
A small sub-system for calculating bucket values from other values. A small sub-system for calculating bucket values from other values.
@cindex Client @cindex Client
@item @ref{Client} @item Client
Basic logic for navigating between steps, Basic logic for navigating between steps,
prompting for user actions, prompting for user actions,
display help text and basic document data, display help text and basic document data,
communicate with server, communicate with server,
etc. etc.
@xref{Client}.
@cindex Developer Dialog @cindex Developer Dialog
@item Developer Dialog @item Developer Dialog
@ -62,23 +65,26 @@ The main components of the system are:
and more. and more.
@cindex Program @cindex Program
@item @ref{Program} @item Program
Internal representation of the Program with delegation of events to Internal representation of the Program with delegation of events to
the assertion system. the assertion system.
Contains compiled representation of all steps, groups, questions, Contains compiled representation of all steps, groups, questions,
assertions, metadata, and others. assertions, metadata, and others.
@xref{Program}.
@cindex Program, User Interface @cindex Program, User Interface
@cindex User Interface, Program @cindex User Interface, Program
@item @ref{Program UI} @item Program UI
Rendering of elements specific to Programs, Rendering of elements specific to Programs,
such as steps, groups, and questions. such as steps, groups, and questions.
This is the equivalent of an HTML form. This is the equivalent of an HTML form.
Directly monitors the bucket to perform UI updates. Directly monitors the bucket to perform UI updates.
@xref{Program UI}.
@cindex Program, XML @cindex Program, XML
@item @ref{Program XML} @item Program XML
The source code for a Program, in XML format. The source code for a Program, in XML format.
@xref{Program XML}.
@cindex Server @cindex Server
@item Server @item Server
@ -90,11 +96,12 @@ The main components of the system are:
@cindex Type Validation @cindex Type Validation
@cindex Validation, Type @cindex Validation, Type
@item @ref{Validation,,Type Validation} @item Type Validation
Validates and formats bucket values for specific field (question) Validates and formats bucket values for specific field (question)
types. types.
For example, a date field must be in a recognized date format, For example, a date field must be in a recognized date format,
and will be normalized for display. and will be normalized for display.
@xref{Validation}.
@end table @end table
More information about each can be found in their respective section. More information about each can be found in their respective section.
@ -153,11 +160,12 @@ There are three layers of error checking:@footnote{
@enumerate @enumerate
@item Required field checking@mdash{ @item Required field checking@mdash{
}whether all required questions have been answered. }whether all required questions have been answered.
@item @ref{Validation,,Type Validation}@mdash{ @item Type Validation@mdash{
}verify that questions contain valid data according to their }verify that questions contain valid data according to their
declared type. declared type. @ref{Validation}.
@item @ref{Assertions}@mdash{ @item Assertions@mdash{
}arbitrary checks on data. }arbitrary checks on data.
@ref{Assertions}.
@end enumerate @end enumerate
Required fields fail serially@mdash{ Required fields fail serially@mdash{