This commit is contained in:
rsc 2005-07-18 22:41:58 +00:00
parent 9f95eb6fd6
commit 3aec33fee9
20 changed files with 635 additions and 541 deletions

151
man/man7/mpictures.7 Normal file
View file

@ -0,0 +1,151 @@
.TH MPICTURES 7
.SH NAME
mpictures \- picture inclusion macros
.SH SYNOPSIS
.B troff -mpictures
[
.I options
]
.I file ...
.SH DESCRIPTION
.I Mpictures
macros insert PostScript pictures into
.IR troff (1)
documents.
The macros are:
.TP
.BI .BP " source height width position offset flags label
Define a frame and place a picture in it.
Null arguments, represented by \f5""\fR,
are interpreted as defaults.
The arguments are:
.RS
.TP
.I source
Name of a PostScript picture file, optionally
suffixed with
.RI ( n )
to select page number
.I n
from the file (first page by default).
.PD0
.TP
.I height
Vertical size of the frame, default
.BR 3.0i .
.TP
.I width
Horizontal size of the frame, current line length by default.
.TP
.I position
.L l
(default),
.LR c ,
or
.L r
to left-justify, center, or right-justify the frame.
.TP
.I offset
Move the frame horizontally from the original
.I position
by this amount, default
.BR 0i .
.TP
.I flags
One or more of:
.RS
.PD 0v
.TP
.BI a d
Rotate the picture clockwise
.I d
degrees, default
.IR d =90.
.TP
.B o
Outline the picture with a box.
.TP
.B s
Freely scale both picture dimensions.
.TP
.B w
White out the area to be occupied by the picture.
.TP
.BR l , r , t ,\fPb
Attach the picture to the left right, top, or bottom of the frame.
.RE
.TP
.I label
Place
.I label
at distance
.B 1.5v
below the frame.
.PD
.PP
If there's room,
.B .BP
fills text around the frame.
Everything destined for either side of the frame
goes into a diversion to be retrieved when the accumulated
text sweeps past the trap set by
.B .BP
or when the diversion is explicitly closed
by
.BR .EP .
.RE
.TP
.BI .PI " source height" , width , "yoffset\fB,\fPxoffset flags.
This low-level macro, used by
.BR .BP ,
can help do more complex things.
The two arguments not already described are:
.RS
.TP
.I xoffset
Offset the frame from the left margin by this amount, default
.BR 0i .
.PD0
.TP
.I yoffset
Offset the frame from the current baseline,
measuring positive downward, default
.BR 0i .
.PD
.RE
.TP
.B .EP
End a picture started by
.BR .BP ;
.B .EP
is usually called implicitly by a trap
at frame bottom.
.PP
If a PostScript file lacks page-delimiting comments,
the entire file is included.
If no
.B %%BoundingBox
comment is present, the picture is
assumed to fill an 8.5\(mu11-inch page.
Nothing prevents the picture from being placed off the page.
.SH SEE ALSO
.IR troff (1)
.SH DIAGNOSTICS
A picture file that can't be read by the PostScript
postprocessor is replaced by white space.
.SH BUGS
A picture and associated text silently disappear if
a diversion trap set by
.B .BP
isn't reached.
Call
.B .EP
at the end of the document to retrieve it.
.br
Macros in other packages may break the adjustments
made to the line length and indent when text is being placed
around a picture.
.br
A missing or improper
.B %%BoundingBox
comment may cause the frame to be filled incorrectly.

View file

@ -17,19 +17,15 @@ block storage using Venti as well as the Venti network protocol.
.IR Venti (1)
documents some simple clients.
.IR Vac (1),
.IR vbackup (1),
.IR vacfs (4),
and
.IR vnfs (4)
.IR vbackup (8)
are more complex clients.
.PP
.IR Venti (3)
describes a C library interface for accessing
Venti servers and manipulating Venti data structures.
.PP
.IR Venti.conf (7)
describes the Venti server configuration file.
.PP
.IR Venti (8)
describes the programs used to run a Venti server.
.PP
@ -86,9 +82,20 @@ Scores passed between programs conventionally refer
to
.B VtRoot
blocks, which contain descriptive information
as well as the score of a block containing a small number
of
.B VtEntries .
as well as the score of a directory block containing a small number
of directory entries.
.PP
Conventionally, programs do not mix data and directory entries
in the same file. Instead, they keep two separate files, one with
directory entries and one with metadata referencing those
entries by position.
Keeping this parallel representation is a minor annoyance
but makes it possible for general programs like
.I venti/copy
(see
.IR venti (1))
to traverse the block tree without knowing the specific details
of any particular program's data.
.SS "Block Types
To allow programs to traverse these structures without
needing to understand their higher-level meanings,
@ -127,7 +134,7 @@ For example, if a 1024-byte data block contains the
followed by 1013 zero bytes,
a client would store only the 11-byte block.
When the client later read the block from the server,
it would append zeros to the end as necessary to
it would append zero bytes to the end as necessary to
reach the expected size.
.PP
When truncating pointer blocks
@ -140,12 +147,12 @@ instead of trailing zero bytes.
.PP
Because of the truncation convention,
any file consisting entirely of zero bytes,
no matter what the length, will be represented by the zero score:
no matter what its length, will be represented by the zero score:
the data blocks contain all zeros and are thus truncated
to the empty block, and the pointer blocks contain all zero scores
and are thus also truncated to the empty block,
and so on up the hash tree.
.SS NETWORK PROTOCOL
.SS Network Protocol
A Venti session begins when a
.I client
connects to the network address served by a Venti
@ -163,7 +170,7 @@ The
field is a list of acceptable versions separated by
colons.
The protocol described here is version
.B 02 .
.BR 02 .
The client is responsible for choosing a common
version and sending it in the
.B VtThello
@ -193,14 +200,14 @@ followed by
bytes of data.
Text strings are represented similarly,
using a two-byte count with
the text itself stored as a UTF-8 encoded sequence
the text itself stored as a UTF-encoded sequence
of Unicode characters (see
.IR utf (7)).
Text strings are not
.SM NUL\c
-terminated:
.I n
counts the bytes of UTF-8 data, which include no final
counts the bytes of UTF data, which include no final
zero byte.
The
.SM NUL
@ -215,7 +222,7 @@ in the enumeration in the include file
.BR <venti.h> .
The next byte is an identifying
.IR tag ,
used to match responses with requests.
used to match responses to requests.
The remaining bytes are parameters of different sizes.
In the message descriptions, the number of bytes in a field
is given in brackets after the field name.
@ -382,7 +389,7 @@ The
message requests a block with the given
.I score
and
.I type .
.IR type .
Use
.I vttodisktype
and