Part 1, U.S.Constitution

Mike Ward ward at hao.UUCP
Wed Oct 31 00:36:08 AEST 1984


Source of the U.S. Constitution:

This is a description of the file which contains the source for the
Constitution of the United States of America.  The file is set up as an
input file for nroff.  However, the information is structured in such a way
that it can be easily edited for other formatters.  Familiarity with nroff
is assumed in what follows.

There is no dependence on any particular macro package.  It should be
possible to format the Constitution text using most existing macro packages
(within reason--e.g., the "-man" manual page macros are probably not a good
choice).  A few macros are used in the text.  The meaning for these macros
is given next, followed by a sample set of macros which can be used to
format the Constitution for perusal on a CRT.  Refer to these sample macros
for illustration of the explanations of meanings.

What to do:
	Get the macros (possibly the ones which are at the end of this
	message) into a file.
	Get the main source into another file, removing any header and/or
	blank lines.
	Nroff the two files and see what happens.  Adjust macros
	accordingly.

The following people helped to get this project through to completion:

proper!gam
ccivax!band
dartvax!betsy
omsvax!batie
ritcv!krf7527
tektronix!andr
teldata!shad
ccivax!band
cepu!scw
dartvax!betsy
omsvax!batie
ritcv!krf7527
stcvax!lat
tekigm!dand
tektronix.andr
teldata.shad
nbires!rcd

Special thanks is owed to Dick Dunn (nbires!rcd), who not only
typed in more than his share, but proof-read and formatted the whole
thing and wrote most of this posting.

If there are any questions about the format or the accuracy,
contact me or Dick.  If there are any questions about the nroff
stuff, contact Dick, or your local guru.  If there are any questions
about the content, ask the Supreme Court.
=========================================================================

Macro				Meaning
-----                           -------

AR	Article header.  An "article" is the major unit of subdivision of
	the text of the Constitution.  The argument to the macro is the
	article number.  This macro should provide some white space and
	a header for the article.  It must also reset the number register
	used for numbering paragraphs (PN in the sample macros).
AM	Amendment header.  Used for the heading of an amendment.  It should
	behave just the same as AR except for putting the word "Amendment"
	instead of "Article" in the header.  (In particular, it must reset
	paragraph numbering.)
SB	Section begin.  Introduces a section, which is a subdivision of
	either an article or an amendment.  There may be an argument to SB
	which is the section number, in which case this should be printed.
	There may also be text on lines following SB up to an SE; in this
	case the text is either a description of the contents of the section
	(for articles) or dates of passage (for amendments).
	This text is NOT part of the text of the Constitution proper; it
	has been added as guiding information.
	SB must reset paragraph numbering (as with AR).
SE	Section end.  Closes the explanatory text begun with SB.
PP	Paragraph.  Begin a new paragraph (i.e., indent or provide vertical
	space as appropriate).
NP	Numbered paragraph.  Begin a new paragraph as with PP, but give it
	a number.  When the paragraphs of a section are numbered, these
	numbers are commonly used as references when discussing the
	Constitution.  Paragraph numbers begin with 1 at the start of each
	article or amendment (or subsection thereof).  The numbers are not
	(with minor exceptions) part of the text of the Constitution.
	There is some inconsistency as to whether a given section is
	numbered in our sources of text; however, numbering is consistent
	across sources when it appears.
Z1	Begin modified text.  Z1 marks the beginning of a range of text
	the effect of which has been altered by amendments.  Since
	"altered" might include "nullified" or "reversed", this can be
	important.  The text begun with Z1 continues to Z2, which ends the
	text and begins the explanation.
Z2	Possible end of modified text, begin note.  When preceded by Z1,
	Z2 marks the end of the text altered by amendments.  In any case,
	Z2 marks the beginning of an explanatory note which is terminated
	by Z3.  The text of such a note is NOT part of the text of the
	Constitution.  Text immediately preceding Z2 terminates with a "\c"
	to avoid extra-blank problems.
Z3	End of explanatory note.  This terminates the text of explanation
	introduced with Z2 and returns to the text of the Constitution.  As
	with Z2, the text immediately preceding ends with "\c".  The valid
	sequences are:
	Z1 - text1 - Z2 - text2 Z3
		text1 is part of the Constitution the effect of which has
		been modified by amendment.  text2 notes where the change
		may be found
	Z2 - text - Z3
		text is an explanatory remark
	Typical handling for these sequences would be to enclose altered
	text in [] and to put the explanatory text in a footnote.  However,
	if you don't have footnote macros written or if you're preparing
	the text for the tty, it's probably better just to set off the
	explanation but leave it in the body of the text.

The macro definitions which follow will format the text for perusal on a
terminal.
=========================================================================
.. Setup for terminal version of Constitution.  Tries to avoid extraneous
.. white space
.hy 14
.na
.ll 76n
.de AR		\" Article header
.nr PN 0 1
.sp 2
.ne 4
.ft B
.ce
ARTICLE \\$1
.ft P
..
.de AM		\" Amendment header
.nr PN 0 1
.sp 2
.ne 4
.ft B
.ce
AMENDMENT \\$1
.ft P
..
.de SB		\" Section description begin - sec num is arg
.nr PN 0 1
.sp
.in +5m
.ll -5m
.if !'\\$1'' \fISection \\$1.\fP
..
.de SE		\" Section end (closes .SB)
.ll +5m
.in -5m
.sp
..
.de PP		\" Paragraph
.ti 3m
..
.de NP		\" Numbered Paragraph
\\n+(PN.\0\0\c
..
.de Z1		\" Start of text modified by amendment
[\c
.ds ZE "]\0
..
.de Z2		\" Possible end of modified text; start of mod note
\\*(ZE<<\c
..
.de Z3		\" End of modification note
>>
.rm ZE
..

-- 
"The number of arguments is unimportant unless some of them are correct."

Michael Ward, NCAR/SCD
UUCP: {hplabs,nbires,brl-bmd,seismo,menlo70,stcvax}!hao!ward
ARPA: hplabs!hao!sa!ward at Berkeley
BELL: 303-497-1252
USPS: POB 3000, Boulder, CO  80307



More information about the Comp.sources.unix mailing list