Current Path : /usr/src/contrib/groff/contrib/pdfmark/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/src/contrib/groff/contrib/pdfmark/spdf.tmac |
.\" -*- nroff -*- .ig spdf.tmac Copyright (C) 2004 Free Software Foundation, Inc. Written by Keith Marshall (keith.d.marshall@ntlworld.com) This file is part of groff. groff is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. groff is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with groff; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin St - Fifth Floor, Boston, MA 02110-1301, USA. .. .\" .if !rOPMODE .nr OPMODE 1 .\" .mso s.tmac .mso pdfmark.tmac .\" .\" Omitted Sections .\" ================ .\" .\" Define section markers, for special document sections, .\" which are to be omitted from regular document processing. .\" .de OMIT OMIT .de \\$1 .omit@begin \\$1 \\$2 .. .de \\$2 .omit@end \\$1 \\$2 .. .OMIT CS CE \" front cover text, processed independently .OMIT MS ME \" menu definitions, for info documents only .\" .de omit@begin .ds omit@section \\$1 .ig \\$2 .. .de omit@end .if !'\\*[omit@section]'\\$1' .@error \\$2 without \\$1 .rm omit@section .. .de XM .\" .pdfhref M -X \\$@ .. .de XR .if \\n(.$ \{\ . if \\n[OPMODE] \{\ . ds spdf!opts -D "\\$1" . if \\n(.$>1 .as spdf!opts " -A "\\$2" . if \\n(.$>2 .as spdf!opts " -P "\\$3" . pdfhref L \\*[spdf!opts] . rm spdf!opts . \} . \} .. .\" .\" Document Outlines, Section Headings and Table of Contents .\" ========================================================= .\" .de XN .\" Use AFTER .NH n, to define the text of the numbered heading, .\" automatically generating a matching formatted TOC entry, and .\" a PDF document outline entry. .\" .\" String registers XNVS1, XNVS2 and XNVS3 establish additional leading, .\" prior to top level headings, preceding each level of indented subheading, .\" and following each nested level of subheading, respectively .\" (strings are used, rather than numeric registers, so that these .\" additional spacing parameters may be set relative to the current .\" document line spacing, as set by \n[VS]). .\" .rm xn*ref .while dopt*XN\\$1 \{\ . opt*XN\\$1 \\$* . shift \\n[xn*argc] . \} .rr xn*argc .if '\\$1'--' .shift .if dxn*ref .XM -N \\*[xn*ref] -- \\$@ .rm xn*ref .pdfhref O \\n[nh*hl] "\\*(SN \\$*" .XS .if rtc*hl \{\ . if !dXNVS1 .ds XNVS1 1.0v \" default leading for top level . if !dXNVS2 .ds XNVS2 0.3v \" default leading at nesting increment . if !dXNVS3 .ds XNVS3 0.6v \" default leading following nested group . if \\n[nh*hl]==1 \{\ . sp \\*[XNVS1] . nr tc*hl-max 1 . \} . ie \\n[nh*hl]<\\n[tc*hl] .if \\n[nh*hl]>1 .sp \\*[XNVS3] . el \{\ . ie \\n[nh*hl]>\\n[tc*hl] .sp \\*[XNVS2] . el \{\ . if !r tc*hl-max .nr tc*hl-max 1 . ie \\n[tc*hl-max]>\\n[nh*hl] .sp \\*[XNVS3] . el .nr tc*hl-max \\n[nh*hl] . \} . \} . \} .nr tc*hl \\n[nh*hl] \h'\\n[nh*hl]-1m'\c \&\\*(SN\h'1n'\\$* .\".pdfhref L -D \\*[PDFBOOKMARK.NAME] -- \&\\*(SN\h'1n'\\$* .XE \&\\$* .. .de opt*XN-N .nr xn*argc 2 .ds xn*ref \\$2 .. .de opt*XN-X .nr xn*argc 1 .if !dxn*ref .ds xn*ref \\\\$1 .. .de LU .LP The content for this section is not yet available. .. .de AN .ie \\n(.$ .@AN \\$* .el .@AN Note .. .de @AN .SH \\$* .LP .. .nr PDF-TOC-ONLY 1 .nr PDF-BODY-TEXT 2 .de OP .ie rPHASE \{\ . ie \\n(.$ \{\ . nr op:request 0 . while \\n(.$ \{\ . if \\$1=\\n[PHASE] .nr op:request 1 . shift . \} . \} . el .nr op:request 1 . if !\\n[op:request]=\\n[OPMODE] \{\ . nr OPMODE \\n[op:request] . nop \O[\\n[OPMODE]]\c . \} . \} .el .nr OPMODE 1 .. .nr SAME-PAGE 0 .de NN .if !\\n[SAME-PAGE] .bp .nr SAME-PAGE 0 .NH \\$1 .nn*setname \\$2 .shift 2 .XN -N \\*[nn*name] -- \\$@ .rm nn*name .. .de nn*setname .ds nn*name \\$1 .shift .while \\n(.$ \{\ . as nn*name -\\$1 . shift . \} .. .de PXREF .nn*setname \\$2 .XR \\*[nn*name] )\\$1 ( .rm nn*name .. .de IS .RS .nr LL \\n(LL-\\n(PI .. .de IE .RE .nr LL \\n(LL+\\n(PI .. .\" Override the standard ms macro, .\" to ensure the document outline cache is flushed .\" BEFORE emitting the table of contents. .de TC .pdfsync O .P1 .OP \n[PDF-TOC-ONLY] .pg@begin 1 i .if \\n[OPMODE] .pdf@toc .PX \\$1 .. .de pdf@toc .pdfhref O -T T 1 "\\*[TOC]" .pdfsync O .. .de pdf@exit .if \\n[OPMODE] .pdfsync .pg@end-text .. .em pdf@exit .OP \n[PDF-BODY-TEXT] . .\" groff "ms" provides the "pg@bottom" macro, which has already .\" been installed as a page transition trap. To ensure proper .\" mapping of "pdfhref" links which overflow the bottom of any .\" page, we need to install the "pdfhref" page transition hook, .\" as an addendum to this macro. . .pdfhref I -PT pg@bottom .\" .\" spdf.tmac: end of file: vim: ft=groff