summaryrefslogtreecommitdiffstats
path: root/tmac/psatk.tmac
diff options
context:
space:
mode:
Diffstat (limited to 'tmac/psatk.tmac')
-rw-r--r--tmac/psatk.tmac78
1 files changed, 78 insertions, 0 deletions
diff --git a/tmac/psatk.tmac b/tmac/psatk.tmac
new file mode 100644
index 0000000..ba256e7
--- /dev/null
+++ b/tmac/psatk.tmac
@@ -0,0 +1,78 @@
+.\" -*- nroff -*-
+.\"
+.\" psatk.tmac
+.\"
+.\" Implementation of the ATK PB and PE macros for use with groff and grops.
+.\" Load this after atk.tmac.
+.
+.do nr *groff_psatk_tmac_C \n[.cp]
+.cp 0
+.
+.nr zT 0
+.if '\*(.T'ps' .nr zT 1
+.nr psatk-unit 1p
+.de psatk-defs
+ps: mdef 5
+/PB {
+ /saved save def
+ currentpoint translate
+ \n[psatk-unit] u -\n[psatk-unit] u scale
+ userdict begin
+ /showpage {} def
+} bind def
+/PE {
+ end
+ saved restore
+} bind def
+/troffadjust {
+ pop 0
+} bind def
+..
+.de PB
+.ne \\$1p
+.nr zT \\n(zT>0
+\\*[PB\\n(zT]\\
+..
+.de PE
+\\*[PE\\n(zT]\\
+..
+.ds PB0
+.\" The last line before the "'PE" is "\}" rather than ".\}". This
+.\" would cause a spurious space to be introduced before any picture
+.\" that was the first thing on a line. So we have to catch that and
+.\" remove it.
+.de PB1
+.ev psatk
+.fi
+.di psatk-mac
+\!ps: exec PB
+..
+.de PE0
+\v'-.75m'\
+\D'l \\$1p 0'\D'l 0 \\$2p'\D'l -\\$1p 0'\D'l 0 -\\$2p'\
+\h'\\$1p'\v'.75m'\x'\\$2p-1m>?0'\c
+..
+.ds psatk-init \Y[psatk-defs]
+.de PE1
+\!PE
+.di
+.di null
+.br
+.di
+.rm null
+.ev
+\v'-.75m'\
+\\*[psatk-init]\Y[psatk-mac]\
+\h'\\$1p'\v'.75m'\x'\\$2p-1m>?0'\c
+.rm psatk-mac
+.if \\n(.P .ds psatk-init
+..
+.
+.cp \n[*groff_psatk_tmac_C]
+.do rr *groff_psatk_tmac_C
+.
+.\" Local Variables:
+.\" mode: nroff
+.\" fill-column: 72
+.\" End:
+.\" vim: set filetype=groff textwidth=72: