." sccsid = "@(#)vlpmacs 1.3 (Berkeley) 1/7/83" ." .Fi -- print out file name and date, used at beginning of document ." .de Fi .ds Hd .if !'\\*(F='' .bp .ds F= \\$1 .nr % 1 .ev 1 .ft 2 .ps 12 .tl 'File: \\*(F=''Modified: \\$2' .tl '''Printed: \\$3' .ev .sp .25i .. ." ." .Ti <text> -- declare text to be printed at the bottom of each page ." .de Ti .ds T= \\$1 .. ." ." .He -- print out bottom of page information, and skip to next page ." .de He .br .ev 1 .ft 2 .ps 12 .sp .25i .tl '\\*(T=''Page \\n% of \\*(F=' .bp .ft 3 .ps 12 .if !'\\*(Hd'' .tl '''...\\*(Hd' .if !'\\*(Hd'' .sp .25i .ev .. ." ." trap bottom of page -1.25 from bottom of paper ." ." ." .Lf <name> --- declare we are in lisp function <name> ." .de Lf .ds Hd \\$1 .br .ev 2 \" So it works with me macros, which use ev 1 .ft 3 .ps 12 .tl '''\\*(Hd' .ev .. ." ." ." .Ls <size> --- Begin block of embedded Lisp code ." .de Ls .if \\n(.$=1 .ps \\$1 .el .ps \\s .if \\n(.$=1 .vs \\$1+2 .el .vs \\s+2 ." save fill register flag in Xu and start fill mode .nr Xu \n(.u .nf .. ." ." ." .Le --- End block of embedded Lisp code ." .de Le .vs .ps .if \n(Xu .fi .. .ds T= .ds F=