' ' # IRAF help page (lroff) macros ' # Rob Seaman, NOAO/CCS, May91 ' .ds ]W NOAO/IRAF .ds ]L Version 2.10 ' ' # HELP -- begin IRAF help page ' .de he .PD .\" .DT .nr IN .5i .po .588i .ll 6.5i .nr LL \\n(.l .ds ]H \\$2 .ds ]G \|\|(\\$3) .ds ]D \\$4 .wh 0 }H .wh -1i }F .em .if !\\n(nl .if !\\nP .nr P 1 .if !\\n(nl .if \\nP .pn \\nP .if \\nX .if \\nP>=\\nX \{\ .ds PN \\nP .pn 1 .af % a .nr X 0 \} .if !\\n(nl .if \\nP .nr P 0 .if \\nC .if \\n(nl .bp .if !\\nC .if \\n(nl .bp 1 .}E .DT .nr )I .5i .nr )R 0 .mk ka .if !'\\n(ka'-1' .bp .. ' ' # ENDHELP -- end help page (may be embedded in a source file...) ' .de en .in \\n(INu .ll \\n(LLu .nf .. ' ' # FI -- Reset the fi and nf directives to improve the EXAMPLES ' .rn fi FI .de fi .ft R .FI .. ' ' # NF -- turn line filling mode off ' .rn nf NF .de nf .ft CW .NF .. ' ' # JU -- turn justification on ' .de ju .ad .. ' ' # NJ -- turn justification off ' .de nj .na .. ' ' # RJ -- print next line unfilled, append R. justified ' .de rj .br .ft CW .ad r \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 .br .ad n .sp -1 .nf .it 1 }O .. .de }O .br .fi .. ' ' # SH n [=2] -- IRAF section heading, skip n lines first ' .de sh .}X 0n \\$1n .nr )E 2 .. ' ' # IH m [=4] n [=2] -- IRAF section heading, indent by m ' .de ih .}X \\$1n \\$2n .nr )E 2 .. ' ' # BR -- break the current line (supplied by troff) ' ' ' # CE -- center the following line (supplied by troff) ' ' ' # SP n [=1] -- space n lines (supplied by troff) ' ' ' # IN n [=0] -- change indentation by (+/-) n (supplied by troff) ' ' ' # LS m [=4] -- IRAF display, indent by m ' .de ls .TP .25i .B \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 .. ' ' # LE -- return to previous indentation level ' .de le .. ' ' # BP -- break the current page (supplied by troff) ' ' ' # TP n [=4] -- break the page if fewer than n lines remain ' .de tp .ie !"\\$1"" .ne \\$1 .el .ne 4 .. ' ' # KS -- start keeping output ' .de ks .. ' ' # KE -- output the kept text, BP first if not enough space ' .de ke .. ' ' # ---------------------------------------------------- ' # ' # All the rest are internal macros. ' # ' # ---------------------------------------------------- ' ' ' # reset the basic page layout ' .de }E .}f .in \\n()Ru+\\n(INu .ll \\n(LLu .. ' ' # default tabs ' .de DT .ft CW 'ta 4P 8P 12P 16P 20P 24P 28P 32P 36P 40P 44P 48P 52P .ft 1 .. ' ' # set type font and size ' .de }f .ps 10 .ft 1 .. ' ' # handle the head of the page ' .de }H .ev 1 'sp .5i .ft 1 .ps 12 .tl \\*(]H\s-2\\*(]G\s+2\\*(]D\\*(]H\s-2\\*(]G\s+2 'sp .5i .ev .ns .. ' ' # handle the foot of the page ' .de }F .ev 1 .ft 1 .ps 10 'sp .5i .if !\\nD .tl \\*(]W\\*(]L\\*(PN% .if \\nD .if o .tl \\*(]W\\*(]L\\*(PN% .if \\nD .if e .tl \\*(PN%\\*(]L\\*(]W .if !\\nX 'bp .if \\nX .if \\n%>=\\nX \{\ .ds PN \\n% .pn 1 .af % a .nr X 0 'bp 1\} .if \\nX .if \\n%<\\nX 'bp .ev .. ' ' # the end macro ' .de }K .}N .pl 1 .ll \\n(LLu .. .em }K ' ' # subroutine for section heading ' .de }X .ie !"\\$2"" .nr )R \\$2n .el .nr )R 4n .}E .ti \\$(IN .ie !"\\$1"" \{\ .sp \\$1v*\\n()Pv .ne \\$1v*\\n()Pv \} .el \{\ .sp 2v*\\n()Pv .ne 2v*\\n()Pv \} .fi .it 1 }N .SM .B .. ' ' # end of ih (cf }X above and }N below) ' .de }2 .nr )E 0 .}E .nr )I .5i .ns .. ' ' # bold ' .de B .ft 3 .it 1 }N .if !"\\$1"" \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 .. ' ' # small ' .de SM .ps 9 .it 1 }N .if !"\\$1"" \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6 \|\\$7 \|\\$8 \|\\$9 .. ' ' # paragraph distance ' .de PD .nr )P .4v .if !"\\$1"" .nr )P \\$1v .. ' ' # hanging indent ' .de HP .sp \\n()Pu .ne 2 .if !"\\$1"" .nr )I \\$1n .ll \\n(LLu .in \\n()Ru+\\n(INu+\\n()Iu .ti \\n()Ru+\\n(INu .}f .. ' ' # hanging label ' .de TP .if !"\\$1"" .nr )I \\$1n .sp \\n()Pu .in \\n()Ru .nr )E 1 .ns .it 1 }N .di ]B .. ' ' # end of TP (cf }N below) ' .de }1 .ds ]X \&\\*(]B\\ .nr )E 0 .if !"\\$1"" .nr )I \\$1n .}f .ll \\n(LLu .in \\n()Ru+\\n(INu+\\n()Iu .ti \\n(INu .ie !\\n()Iu+\\n()Ru-\w\\*(]Xu-3p \{\\*(]X .br\} .el \\*(]X\h|\\n()Iu+\\n()Ru\c .}f .. ' ' # handle end of 1-line features ' .de }N .if \\n()E .br .di .if "\\n()E"0" .}f .if "\\n()E"1" .}1 .if "\\n()E"2" .}2 .nr )E 0 .. ' ' # increase relative indent ' .de RS .nr ]\\n+()p \\n()I .nr )\\n()p \\n()R .ie !"\\$1"" .nr )R +\\$1n .el .nr )R +\\n()I .nr )I .5i .}E .. ' ' # decrease relative indent ' .de RE .if !"\\$1"" \{.ie "\\$1"0" .nr )p 1 1 . el .nr )p \\$1 1\} .ds ]i \\*(]I\\n()p .ds ]r \\*(]R\\n()p .nr )I \\*(]i .nr )R \\*(]r .if \\n()p .nr )p -1 .}E .. ' ' # initial setup ' .tr *\(** .nr )p 0 1 .ds ]I \\\\n(] .ds ]R \\\\n() .bd S 3 3 .ds R \(rg .ds S \s10 .hy 14