Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/vis12/doc/report/manpage.sty
ViewVC logotype

Annotation of /branches/vis12/doc/report/manpage.sty

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2653 - (view) (download) (as text)

1 : jhr 1684 % manpage.sty
2 :     %
3 :     % COPYRIGHT (c) 2012 John Reppy (http://cs.uchicago.edu/~jhr)
4 :     % All rights reserved.
5 :     %
6 :     % This package supports formatting of Unix-style manual pages. It is
7 :     % based, in part, on the latex2man package by Jurgen Vollmer.
8 :     %
9 :     % To use
10 :     %
11 :     % \usepackage[options]{manpage}
12 :     %
13 :     % The supported options are
14 :     %
15 :     % newpage -- start each ManPage environment on its own page.
16 :     % toc -- add tableofcontents entries for manual pages.
17 :     %
18 :     % This package provides the following commands and environments:
19 :     %
20 :     % \begin{ManPage}{section}{name}{author}
21 :     % ... manpage sections ...
22 :     % \end{ManPage}
23 :     %
24 :    
25 :     \NeedsTeXFormat{LaTeX2e}
26 :     \ProvidesPackage{manpage}[2001/12/12 v1.0]
27 :     \usepackage{ifthen}
28 :    
29 :     %%%%%%%%%%%%%%%%%%%% Option processing %%%%%%%%%%%%%%%%%%%%
30 :     \newboolean{MP@newpage}
31 :     \setboolean{MP@newpage}{false}
32 :     \newboolean{MP@contentsentry}
33 :     \setboolean{MP@contentsentry}{false}
34 :    
35 :     \DeclareOption{newpage}{
36 :     \setboolean{MP@newpage}{true}
37 :     }
38 :     \DeclareOption{toc}{
39 :     \setboolean{MP@contentsentry}{true}
40 :     }
41 :     \ProcessOptions
42 :    
43 :     %%%%%%%%%%%%%%%%%%%% Globals %%%%%%%%%%%%%%%%%%%%
44 :     \newlength{\MPindent}
45 :     \setlength{\MPindent}{4em}
46 :     \newcommand{\MPsection}{section}
47 :    
48 :     %%%%%%%%%%%%%%%%%%%% Internal commands %%%%%%%%%%%%%%%%%%%%
49 :     \newenvironment{MP@Section}[1]{%
50 :     \item[#1]\mbox{}\\
51 :     }{}
52 :     \newcommand{\MP@Arg}[1]{\textit{#1}}
53 :     \newcommand{\MP@Opt}[1]{\textbf{#1}}
54 :     \newcommand{\MP@File}[1]{\texttt{#1}}
55 :     %
56 :     % versions for inside the OPTIONS environment
57 :     %
58 :     \newcommand{\MP@Options@Arg}[1]{\textit{#1}}
59 :     \newcommand{\MP@Options@Opt}[1]{\texttt{\textbf{#1}}}
60 :     \newcommand{\MP@Options@File}[1]{\textit{#1}}
61 : jhr 2653 \newenvironment{MP@OptionList}{%
62 :     \begin{list}{}{
63 :     \setlength{\leftmargin}{\MPindent}%
64 :     \setlength{\itemindent}{0em}%
65 :     \setlength{\itemsep}{0em}%
66 :     \setlength{\topsep}{0em}%
67 :     % redefine external commands
68 :     \renewcommand{\Opt}[1]{\MP@Options@Opt{##1}}
69 :     \renewcommand{\Arg}[1]{\MP@Options@Arg{##1}}
70 :     \renewcommand{\OptEqArg}[2]{\MP@Options@Opt{##1=}\MP@Options@Arg{##2}}
71 :     \newenvironment{Flag}[1]{%
72 :     \item[##1]\mbox{}\\
73 :     }{}
74 :     }%
75 :     }{%
76 :     \end{list}%
77 :     }
78 : jhr 1684 \newenvironment{MP@Options}{%
79 :     \begin{MP@Section}{OPTIONS}%
80 : jhr 2653 \begin{MP@OptionList}%
81 : jhr 1684 }{%
82 : jhr 2653 \end{MP@OptionList}%
83 : jhr 1684 \end{MP@Section}%
84 :     }
85 :    
86 :     %%%%%%%%%%%%%%%%%%%% External commands %%%%%%%%%%%%%%%%%%%%
87 :     \newenvironment{ManPage}[3]{%
88 :     % #1 - section
89 :     % #2 - name
90 :     % #3 - author
91 :     \ifthenelse{\boolean{MP@newpage}}{\clearpage}{}%
92 :     \ifthenelse{\boolean{MP@contentsentry}}{\addcontentsline{toc}{\MPsection}{#2}}{}%
93 :     % The manual page is a list environment
94 :     \begin{list}{}{
95 :     \setlength{\leftmargin}{\MPindent}%
96 :     \setlength{\itemindent}{0em}%
97 :     \setlength{\itemsep}{0em}%
98 :     \setlength{\topsep}{0em}%
99 :     }
100 :     % define section commands
101 :     \newenvironment{NAME}{\begin{MP@Section}{NAME}}{\end{MP@Section}}
102 :     \newenvironment{SYNOPSIS}{\begin{MP@Section}{SYNOPSIS}}{\end{MP@Section}}
103 :     \newenvironment{DESCRIPTION}{\begin{MP@Section}{DESCRIPTION}}{\end{MP@Section}}
104 :     \newenvironment{OPTIONS}{\begin{MP@Options}}{\end{MP@Options}}
105 :     \newenvironment{ENVIRONMENT}{\begin{MP@Section}{ENVIRONMENT}}{\end{MP@Section}}
106 :     \newenvironment{FILES}{\begin{MP@Section}{FILES}}{\end{MP@Section}}
107 :     \newenvironment{BUGS}{\begin{MP@Section}{BUGS}}{\end{MP@Section}}
108 :     \newenvironment{SEEALSO}{\begin{MP@Section}{SEEALSO}}{\end{MP@Section}}
109 : jhr 1846 \newenvironment{SECTION}[1]{\begin{MP@Section}{##1}}{\end{MP@Section}}
110 : jhr 2653 \newenvironment{OptionList}{\begin{MP@OptionList}}{\end{MP@OptionList}}
111 : jhr 1684 % define external command names
112 :     \newcommand{\Opt}[1]{\MP@Opt{##1}} % Option
113 :     \newcommand{\Arg}[1]{\MP@Arg{##1}} % Argument
114 :     \newcommand{\OptEqArg}[2]{\MP@Opt{##1=}\MP@Arg{##2}}
115 :     \newcommand{\OptArg}[2]{\Opt{##1}\Arg{##2}} % Option with Argument
116 : jhr 1846 \newcommand{\OptoArg}[2]{\Opt{##1}[\Arg{##2}]} % Option with optional Argument
117 : jhr 1684 \newcommand{\oArg}[1]{[\Arg{##1}]} % optional Argument
118 :     \newcommand{\oOpt}[1]{[\Opt{##1}]} % optional Option
119 : jhr 1941 \newcommand{\oOptArg}[2]{[\OptArg{##1}{##2}]} % optional Option with
120 : jhr 1684 % Argument
121 :     \newcommand{\oOptoArg}[2]{[\OptoArg{##1}{##2}]} % optional Option with
122 :     % optional Argument
123 :     \newcommand{\Prog}[1]{\textit{##1}} % Program name
124 :     \newcommand{\Cmd}[2]{\textit{##1}(##2)} % Command with section
125 :     % number
126 :     \newcommand{\File}[1]{\MP@File{##1}} % File name
127 :     \newcommand{\Dots}{$\ldots$}
128 :     }{%
129 :     \end{list}%
130 :     }

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0