mirror of
https://salsa.debian.org/dskoll/remind.git
synced 2026-04-16 06:18:47 +02:00
318 lines
9.5 KiB
Groff
318 lines
9.5 KiB
Groff
.\" $Id: rem2ps.1,v 1.1 1998-01-15 02:50:18 dfs Exp $
|
|
.TH REM2PS 1 "27 April 1996"
|
|
.UC4
|
|
.SH NAME
|
|
rem2ps \- draw a PostScript calendar from Remind output
|
|
.SH SYNOPSIS
|
|
.B rem2ps [\fIoptions\fR]
|
|
.SH DESCRIPTION
|
|
\fBRem2ps\fR reads the standard input, which should be the results of running
|
|
\fBRemind\fR with the \fB\-p\fR option. It emits PostScript code (which
|
|
draws a calendar) to the standard output.
|
|
.SH OPTIONS
|
|
.TP
|
|
.B \-v
|
|
Be more verbose. This causes \fBRem2ps\fR to print progress messages
|
|
to the standard error stream. Normally, it is silent.
|
|
.TP
|
|
.B \-p file
|
|
Include the contents of \fIfile\fR in the PostScript prologue. This
|
|
allows you to define procedures, variables etc. which can be used
|
|
by the \fBPS\fR and \fBPSFILE\fR reminders. You should not
|
|
include any document structuring comments in your prologue.
|
|
.TP
|
|
.B \-l
|
|
Produce the calendar in landscape mode rather than the default
|
|
portrait mode.
|
|
.TP
|
|
\fB\-c\fR[\fIn\fR]
|
|
If \fIn\fR is omitted, disables the small calendars for next and previous
|
|
months which are normally generated. If \fIn\fR is supplied, it can range
|
|
from 0 to 3, with the following meanings:
|
|
.RS
|
|
.TP
|
|
.B 0
|
|
Disable small calendars
|
|
.TP
|
|
.B 1
|
|
Place the small calendars at the bottom-right if there is room; otherwise,
|
|
place them at the top-left.
|
|
.TP
|
|
.B 2
|
|
Place the small calendars at the top-left if there is room; otherwise,
|
|
place them at the bottom-right.
|
|
.TP
|
|
.B 3
|
|
Place the previous month's small calendar at the top-left and the next
|
|
month's at the bottom-right if there is room; otherwise, follow \fIn\fR=1.
|
|
A moment's thought reveals that an option which splits the calendars if
|
|
there is room and otherwise follows \fIn\fR=2 yields the same results as
|
|
\fIn\fR=3.
|
|
.RE
|
|
.TP
|
|
.B \-i
|
|
Use ISO 8859-1 standard encoding for the PostScript fonts. If you do
|
|
not use this option, the default encoding is used.
|
|
.TP
|
|
.B \-e
|
|
Make the calendar fill the entire page. By default, the calendar is
|
|
slightly smaller than the page. This allows days with many reminders
|
|
to "expand" as needed. However, if you don't have days which expand,
|
|
you can use this option to make all of the boxes slightly bigger.
|
|
One caveat: If you do use the \fB\-e\fR option and one day has many
|
|
reminders, the calendar may expand off the page, losing some information.
|
|
Experiment!
|
|
.TP
|
|
.B \-m media
|
|
Set the page size. If you use the \-m option, you must specify the
|
|
media type, which can be one of the
|
|
following. (Sizes are approximate.)
|
|
.RS
|
|
.TP
|
|
Letter
|
|
8.5 x 11 in.
|
|
.TP
|
|
Legal
|
|
11 x 17 in.
|
|
.TP
|
|
Ledger
|
|
8.5 x 14 in.
|
|
.TP
|
|
Statement
|
|
5.5 x 8.5 in.
|
|
.TP
|
|
Executive
|
|
7.5 x 10 in.
|
|
.TP
|
|
A3
|
|
29.7 x 42 cm.
|
|
.TP
|
|
A4
|
|
21 x 29.7 cm.
|
|
.TP
|
|
A5
|
|
14.8 x 21 cm.
|
|
.TP
|
|
B4
|
|
25.7 x 36.4 cm.
|
|
.TP
|
|
B5
|
|
18.3 x 25.7 cm.
|
|
.TP
|
|
Folio
|
|
8.5 x 13 in.
|
|
.TP
|
|
Quarto
|
|
8.5 x 10.8 in.
|
|
.TP
|
|
10x14
|
|
10 x 14 in.
|
|
.PP
|
|
Type "rem2ps -m help" for a list of available media. Note that the media
|
|
type (and all \fBRem2ps\fR options) are case-sensitive. If you don't use
|
|
the \fB\-m\fR option, the media defaults to a compiled-in default - this
|
|
is usually Letter for North America and A4 for Europe. The "-m help"
|
|
option will display the compiled-in default.
|
|
.RE
|
|
.TP
|
|
\fB\-f\fR[\fBtshed\fR] \fIfont\fR
|
|
Set the font for the calendar title,
|
|
the small calendars, the day-of-week headings, the calendar
|
|
entries, and the day numbers, respectively. \fIFont\fR must be the
|
|
name of a valid PostScript font. The default fonts are equivalent to
|
|
specifying:
|
|
.RS
|
|
.PP
|
|
.nf
|
|
-ftshe Helvetica -fd Helvetica-BoldOblique
|
|
.fi
|
|
.PP
|
|
In other words, the heading, entry and small-calendar fonts are set
|
|
to Helvetica, and the font for the day numbers is set to
|
|
Helvetica-BoldOblique.
|
|
.RE
|
|
.TP
|
|
\fB\-s\fR[\fBthed\fR] \fIsize\fR
|
|
Set the size (in points) of the text for the the calendar title,
|
|
day-of-week headings, the calendar entries, and the day numbers,
|
|
respectively. \fISize\fR must be a decimal number. The default sizes
|
|
are equivalent to specifying:
|
|
.RS
|
|
.PP
|
|
.nf
|
|
-sthd 14 -se 8
|
|
.fi
|
|
.PP
|
|
In other words, the heading and day numbers are 14-point fonts, and the
|
|
calendar entries are printed in 8-point text.
|
|
.RE
|
|
.TP
|
|
\fB\-b\fR \fIsize\fR
|
|
Set the size of the blank white border in each calendar box to \fIsize\fR
|
|
points. The default border size is 6 points, or 1/12 in.
|
|
.TP
|
|
\fB\-t\fR \fIsize\fR
|
|
Set the thickness of the black calendar grid lines. The default is 1,
|
|
for a line thickness of one point (1/72 in.)
|
|
.TP
|
|
\fB\-o\fR[\fBlrtb\fR] \fIsize\fR
|
|
Set the left, right, top, and/or bottom margins to \fIsize\fR points.
|
|
For this option only, \fIsize\fR must be an integer. It represents the
|
|
margin size in units of 1/72 in. The default margin sizes are 36, for
|
|
half-inch margins. If you wish to punch holes in the calendar page to insert
|
|
it into a binder, you may wish to increase the left margin to one inch.
|
|
In that case, you should also decrease the heading font size to 12 points
|
|
for good output:
|
|
.PP
|
|
.nf
|
|
# This gives good results for putting into a binder
|
|
rem2ps -ol 72 -sh 12
|
|
.fi
|
|
.SH USAGE
|
|
To use \fBRem2ps\fR, you should pipe the output of \fBRemind\fR with the \fB\-p\fR
|
|
option to \fBRem2ps\fR, and then send the result to a printer. This is most easily
|
|
illustrated with examples:
|
|
.PP
|
|
.nf
|
|
remind -p12 /dev/null 1 jan 1994 | rem2ps | lpr -Plaser
|
|
.fi
|
|
.PP
|
|
That example creates a blank calendar for the entire year of 1994, and
|
|
sends it the the printer named "laser."
|
|
.PP
|
|
.nf
|
|
remind -p ~/.reminders | rem2ps -l -sd 18 > cal.ps
|
|
.fi
|
|
.PP
|
|
This reminder creates a calendar for the current month, filling in
|
|
entries from the reminder file "~/.reminders." The calendar is produced
|
|
in landscape mode, with a font size of 18 for the day numbers. The result
|
|
is put in the PostScript file "cal.ps."
|
|
.PP
|
|
.SH VARIABLES AVAILABLE TO USER-SUPPLIED POSTSCRIPT CODE
|
|
.PP
|
|
The following variables are available to \fBPS\fR and
|
|
\fBPSFILE\fR-type reminders. (This material is duplicated
|
|
in the \fBRemind\fR manual page.)
|
|
.TP
|
|
LineWidth
|
|
The width of the black grid lines making up the calendar.
|
|
.TP
|
|
Border
|
|
The border between the center of the grid lines and the space used to print
|
|
calendar entries. This border is normally blank space.
|
|
.TP
|
|
BoxWidth and BoxHeight
|
|
The width and height of the calendar box, from center-to-center of the
|
|
black gridlines.
|
|
.TP
|
|
InBoxHeight
|
|
The height from the center of the bottom black gridline to the top
|
|
of the regular calendar entry area. The space from here to the top
|
|
of the box is used only to draw the day number.
|
|
.TP
|
|
/DayFont, /TitleFont, /EntryFont, /SmallFont and /HeadFont
|
|
The fonts used to draw the day numbers, the month and year title,
|
|
the calendar entries, the small
|
|
calendars, and the day-of-week headings, respectively.
|
|
.TP
|
|
DaySize, TitleSize, EntrySize and HeadSize
|
|
The sizes of the above fonts. (The size of the small calendar font
|
|
is \fInot\fR defined here.) For example, if you wanted to print
|
|
the Hebrew date next to the regular day number in the calendar, use:
|
|
.PP
|
|
.nf
|
|
REM PS Border BoxHeight Border sub DaySize sub moveto \\
|
|
/DayFont findfont DaySize scalefont setfont \\
|
|
([hebday(today())] [hebmon(today())]) show
|
|
.fi
|
|
.PP
|
|
.RS
|
|
Note how /DayFont and DaySize are used.
|
|
.RE
|
|
.PP
|
|
Note that if you supply PostScript code, it is possible to produce invalid
|
|
PostScript files. Always test your PostScript thoroughly with a PostScript
|
|
viewer before sending it to the printer. You should not use any document
|
|
structuring comments in your PostScript code.
|
|
.PP
|
|
In addition, prior to drawing a calendar page, \fBRem2ps\fR emits
|
|
the following PostScript code:
|
|
.PP
|
|
.nf
|
|
save (mon) (yr) PreCal restore
|
|
.fi
|
|
.PP
|
|
where \fImon\fR and \fIyr\fR are the month and year of the calendar
|
|
page. The default \fBPreCal\fR procedure simply pops
|
|
the arguments and does nothing. However, you can define a \fBPreCal\fR
|
|
function in your prologue file to do whatever you want - it can draw a
|
|
background for the entire calendar, for instance.
|
|
.PP
|
|
In the context of the \fBPreCal\fR procedure, the following conditions
|
|
hold:
|
|
.TP
|
|
o
|
|
The PostScript origin is at the bottom left-hand corner of the page, and
|
|
PostScript units of 1/72" are in effect.
|
|
.TP
|
|
o
|
|
The variables MinX, MinY, MaxX and MaxY define the bounding box within
|
|
which the calendar will be drawn.
|
|
.TP
|
|
o
|
|
The font and font-size variables, as well as Border and LineWidth described
|
|
previously, are valid.
|
|
.PP
|
|
For an example, create a file called "myprolog" whose contents are:
|
|
.PP
|
|
.nf
|
|
/PreCal {
|
|
/yr exch def
|
|
/mon exch def
|
|
/xsiz1 MaxX MinX sub def
|
|
/ysiz1 MaxY MinY sub def
|
|
/xsiz xsiz1 MinX sub MinX sub def
|
|
/ysiz ysiz1 MinY sub MinY sub def
|
|
xsiz
|
|
ysiz
|
|
lt
|
|
{/len xsiz 1.41 mul def
|
|
MinX MinX add ysiz1 xsiz1 sub 2 div MinY add MinY add moveto}
|
|
{/len ysiz 1.41 mul def
|
|
xsiz1 ysiz1 sub 2 div MinX add MinX add MinY MinY add moveto}
|
|
ifelse
|
|
/Helvetica-Bold findfont 1 scalefont setfont
|
|
mon stringwidth pop
|
|
( ) stringwidth pop add
|
|
yr stringwidth pop add
|
|
len exch div /len exch def
|
|
/Helvetica-Bold findfont len scalefont setfont
|
|
0.95 setgray
|
|
45 rotate
|
|
mon show
|
|
( ) show
|
|
yr show
|
|
} bind def
|
|
.fi
|
|
.PP
|
|
Use that file with the \fBRem2ps\fR \fB\-p\fR option to create calendars
|
|
with the year and month in large grey letters in the background of the
|
|
calendar.
|
|
.PP
|
|
.SH AUTHOR
|
|
David F. Skoll
|
|
.SH BUGS
|
|
All \fBRem2ps\fR options are case-sensitive, unlike \fBRemind\fR.
|
|
Any time you supply
|
|
a font name or size, line thickness, or border width, it is treated as a
|
|
string and sent straight to the PostScript interpreter. Thus, if you
|
|
supply invalid fonts or sizes, \fBRem2ps\fR will not complain, but the
|
|
resulting PostScript output will probably not work.
|
|
.PP
|
|
You should ensure that the values you supply for margin widths are sensible.
|
|
If they are too big for the media size, \fBRem2ps\fR will not complain,
|
|
but again, the PostScript output will probably not work.
|
|
.SH SEE ALSO
|
|
\fBRemind\fR
|