/contrib/groff/tmac/doc-nroff

https://bitbucket.org/freebsd/freebsd-head/ · #! · 275 lines · 275 code · 0 blank · 0 comment · 0 complexity · 67fd8803e5943a39bd0f3e1849a1c0fa MD5 · raw file

  1. .\" Copyright (c) 1991, 1993
  2. .\" The Regents of the University of California. All rights reserved.
  3. .\"
  4. .\" Redistribution and use in source and binary forms, with or without
  5. .\" modification, are permitted provided that the following conditions
  6. .\" are met:
  7. .\" 1. Redistributions of source code must retain the above copyright
  8. .\" notice, this list of conditions and the following disclaimer.
  9. .\" 2. Redistributions in binary form must reproduce the above copyright
  10. .\" notice, this list of conditions and the following disclaimer in the
  11. .\" documentation and/or other materials provided with the distribution.
  12. .\" 3. [Deleted. See
  13. .\" ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change]
  14. .\" 4. Neither the name of the University nor the names of its contributors
  15. .\" may be used to endorse or promote products derived from this software
  16. .\" without specific prior written permission.
  17. .\"
  18. .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  19. .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  20. .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21. .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  22. .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  23. .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  24. .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  25. .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  26. .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  27. .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  28. .\" SUCH DAMAGE.
  29. .\"
  30. .\" @(#)doc-nroff 8.1 (Berkeley) 06/08/93
  31. .\"
  32. .\" %beginstrip%
  33. .
  34. .
  35. .eo
  36. .
  37. .\" use -rD=1 for double-sided printing
  38. .
  39. .if !r D .nr D 0
  40. .
  41. .\" use -rcR=0 to have multiple pages instead of a single, very long page
  42. .
  43. .if !r cR .nr cR 1
  44. .
  45. .\" the following switch is ignored in nroff mode
  46. .
  47. .nr S 10
  48. .
  49. .\" the `doc-xx-font' strings must not be empty!
  50. .
  51. .ds doc-caption-font \f[R]
  52. .ds doc-caption-font2 \f[R]
  53. .ds doc-Ad-font \f[I]
  54. .ds doc-Ar-font \f[I]
  55. .ds doc-Cm-font \f[B]
  56. .ds doc-Em-font \f[I]
  57. .ds doc-Er-font \f[R]
  58. .ds doc-Ev-font \f[R]
  59. .ds doc-Fa-font \f[I]
  60. .ds doc-Fd-font \f[B]
  61. .ds doc-Fl-font \f[B]
  62. .ds doc-Fn-font \f[B]
  63. .ds doc-Ft-font \f[I]
  64. .ds doc-Ic-font \f[B]
  65. .ds doc-Li-font \f[R]
  66. .ds doc-Me-font \f[B]
  67. .ds doc-Nm-font \f[B]
  68. .ds doc-No-font \f[R]
  69. .ds doc-Pa-font \f[I]
  70. .ds doc-Sh-font \f[B]
  71. .ds doc-Sy-font \f[B]
  72. .ds doc-Sx-font \f[I]
  73. .ds doc-Tn-font-shape \f[R]
  74. .ds doc-Tn-font-size
  75. .ds doc-Va-font \f[I]
  76. .ds doc-Xr-font \f[R]
  77. .
  78. .ds doc-left-parenthesis \f[R](\f[]
  79. .ds doc-right-parenthesis \f[R])\f[]
  80. .ds lp \f[R](\f[]
  81. .ds rp \f[R])\f[]
  82. .ds doc-left-bracket \f[R][\f[]
  83. .ds doc-right-bracket \f[R]]\f[]
  84. .
  85. .\" miscellaneous
  86. .nr doc-subheader-indent .5i
  87. .nr doc-paragraph-space 1v
  88. .
  89. .ec
  90. .nr doc-digit-width \w'\0\0'u
  91. .nr doc-fixed-width \w'0'
  92. .eo
  93. .
  94. .
  95. .\" NS doc-header-space global register
  96. .\" NS the space between header and body
  97. .
  98. .nr doc-header-space 0.5i
  99. .
  100. .
  101. .\" NS doc-footer-space global register
  102. .\" NS the space between body and footer
  103. .
  104. .nr doc-footer-space 0.5i
  105. .
  106. .
  107. .\" NS doc-display-vertical global register
  108. .\" NS vertical space between list elements etc.
  109. .
  110. .nr doc-display-vertical 0
  111. .
  112. .
  113. .\" NS doc-setup-page-layout macro
  114. .\" NS set up page layout
  115. .\" NS
  116. .\" NS modifies:
  117. .\" NS doc-display-vertical
  118. .
  119. .de doc-setup-page-layout
  120. . ie r LL \
  121. . ll \n[LL]u
  122. . el \
  123. . ll 78n
  124. .
  125. . ie r LT \
  126. . lt \n[LT]u
  127. . el \
  128. . lt 78n
  129. .
  130. . po 0i
  131. .
  132. . nr doc-display-vertical 1v
  133. . ad l
  134. . na
  135. ..
  136. .
  137. .
  138. .ec
  139. .
  140. .ds doc-left-singlequote \[oq]
  141. .ds doc-right-singlequote \[cq]
  142. .
  143. .\" the following strings are `official'
  144. .ds <= \[<=]
  145. .ds >= \[>=]
  146. .ds aa \[aa]
  147. .ds ga \[ga]
  148. .ds q \[dq]
  149. .ds Ne \[!=]
  150. .ds Le \[<=]
  151. .ds Ge \[>=]
  152. .ds Lt <
  153. .ds Gt >
  154. .ds Pm \[+-]
  155. .ds Na \f[I]NaN\f[]
  156. .ds Ba \f[R]|\f[]
  157. .ds Am &
  158. .
  159. .\" Unicode TTYs have all glyph forms; for other TTY character sets we need
  160. .\" character representations which are different from GNU troff's standard
  161. .\" forms.
  162. .ie '\*[.T]'utf8' \{\
  163. . ds Rq \[rq]
  164. . ds Lq \[lq]
  165. . ds ua \[ua]
  166. . ds Pi \[*p]
  167. . ds If \[if]
  168. .\}
  169. .el \{\
  170. . ds Rq ''
  171. . ds Lq ``
  172. . ds ua ^
  173. . ds Pi pi
  174. . ds If infinity
  175. .\}
  176. .
  177. .eo
  178. .
  179. .
  180. .\" NS doc-header-string global string
  181. .\" NS the final string used for the manual page header
  182. .
  183. .ds doc-header-string
  184. .
  185. .
  186. .\" NS doc-setup-header macro
  187. .\" NS install and initialize header and footer support
  188. .\" NS
  189. .\" NS modifies:
  190. .\" NS doc-header-string
  191. .
  192. .de doc-setup-header
  193. . ds doc-header-string "\*[doc-document-title]
  194. . if !"\*[doc-section]"Null" \
  195. . as doc-header-string (\*[doc-section])
  196. .
  197. . ie \n[cR] \
  198. . doc-header
  199. . el \{\
  200. . wh 0 doc-header
  201. . wh -1.167i doc-footer
  202. . \}
  203. .
  204. . e@ doc-end-macro
  205. ..
  206. .
  207. .
  208. .\" NS doc-get-width macro
  209. .\" NS computes the width of a string as a multiple of `doc-fixed-width':
  210. .\" NS `.doc-get-width string'
  211. .\" NS
  212. .\" NS modifies:
  213. .\" NS doc-width
  214. .
  215. .de doc-get-width
  216. . nr doc-width \w\$1
  217. . ie (\n[doc-width] >= \n[doc-fixed-width]) \{\
  218. . ie (\n[doc-width] % \n[doc-fixed-width]) \
  219. . nr doc-width ((\n[doc-width] / \n[doc-fixed-width]) + 1)
  220. . el \
  221. . nr doc-width (\n[doc-width] / \n[doc-fixed-width])
  222. . \}
  223. . el \
  224. . nr doc-width 0
  225. ..
  226. .
  227. .
  228. .\" NS doc-get-arg-width macro
  229. .\" NS computes the width of an argument as a multiple of
  230. .\" NS `doc-fixed-width': `.doc-get-arg-width arg-index'
  231. .\" NS
  232. .\" NS modifies:
  233. .\" NS doc-width
  234. .
  235. .de doc-get-arg-width
  236. . nr doc-width \w\*[doc-arg\$1]
  237. . ie (\n[doc-width] >= \n[doc-fixed-width]) \{\
  238. . ie (\n[doc-width] % \n[doc-fixed-width]) \
  239. . nr doc-width ((\n[doc-width] / \n[doc-fixed-width]) + 1)
  240. . el \
  241. . nr doc-width (\n[doc-width] / \n[doc-fixed-width])
  242. . \}
  243. . el \
  244. . nr doc-width 0
  245. ..
  246. .
  247. .
  248. .\" NS Ql user macro
  249. .\" NS quoted literal define
  250. .\" NS
  251. .\" NS modifies:
  252. .\" NS doc-macro-name
  253. .\" NS doc-quote-left
  254. .\" NS doc-quote-right
  255. .\" NS
  256. .\" NS width register `Ql' set in doc-common
  257. .
  258. .de Ql
  259. . if !\n[doc-arg-limit] \{\
  260. . ie \n[.$] \
  261. . ds doc-macro-name Ql
  262. . el \
  263. . tm Usage: .Ql argument ... (#\n[.c])
  264. . \}
  265. .
  266. . ds doc-quote-left "\*[doc-left-singlequote]
  267. . ds doc-quote-right "\*[doc-right-singlequote]
  268. .
  269. . doc-enclose-string \$@
  270. ..
  271. .
  272. .
  273. .ec
  274. .
  275. .\" EOF