1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
2 | %% Project: Documentation Tools |
---|
3 | %% Descr: Latex --> MAN-page (groff -man), LaTeX package |
---|
4 | %% Author: Dr. Jürgen Vollmer, Juergen.Vollmer@informatik-vollmer.de |
---|
5 | %% $Id: latex2man.sty,v 1.85 2010/12/22 09:33:29 vollmer Exp $ |
---|
6 | %% VERSION: 1.24 |
---|
7 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
8 | %% |
---|
9 | %% `latex2man' package to use with LaTeX2e. |
---|
10 | %% |
---|
11 | %% Latex2man is a tool to translate UNIX manual pages written with LaTeX into a |
---|
12 | %% format understood by the UNIX man(1)-command. |
---|
13 | %% Alternatively HTML or TexInfo code can be produced too. |
---|
14 | %% Output of parts of the text may be supressed using the conditional text |
---|
15 | %% feature. |
---|
16 | %% |
---|
17 | %% There is LaTeX package (latex2man.sty) used for writing the Man-page |
---|
18 | %% and a PERL script (latex2man) doing the actual translation. |
---|
19 | %% |
---|
20 | %% Copyright (C) 1998, Dr. Juergen Vollmer |
---|
21 | %% Viktoriastrasse 15, D-76133 Karlsruhe, Germany |
---|
22 | %% Juergen.Vollmer@informatik-vollmer.de |
---|
23 | %% License: |
---|
24 | %% This program can be redistributed and/or modified under the terms |
---|
25 | %% of the LaTeX Project Public License Distributed from CTAN |
---|
26 | %% archives in directory macros/latex/base/lppl.txt; either |
---|
27 | %% version 1 of the License, or any later version. |
---|
28 | %% |
---|
29 | %% If you find this software useful, please send me a postcard. |
---|
30 | %% |
---|
31 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
32 | |
---|
33 | \NeedsTeXFormat{LaTeX2e} |
---|
34 | \ProvidesPackage{latex2man}[2010/12/22 v1.24] |
---|
35 | \usepackage{ifthen} |
---|
36 | |
---|
37 | \newif\if@LM@UseFancy@ |
---|
38 | \newif\if@LM@UseFancyHdr@ |
---|
39 | |
---|
40 | \DeclareOption{fancy}{ |
---|
41 | \@LM@UseFancy@true |
---|
42 | \@LM@UseFancyHdr@false |
---|
43 | } |
---|
44 | \DeclareOption{fancyhdr}{ |
---|
45 | \@LM@UseFancyHdr@true |
---|
46 | \@LM@UseFancy@false |
---|
47 | } |
---|
48 | \DeclareOption{nofancy}{ |
---|
49 | \@LM@UseFancy@false |
---|
50 | \@LM@UseFancyHdr@false |
---|
51 | } |
---|
52 | |
---|
53 | \input{latex2man.cfg} |
---|
54 | \ProcessOptions |
---|
55 | \if@LM@UseFancy@ |
---|
56 | \RequirePackage{fancyheadings} |
---|
57 | \fi |
---|
58 | \if@LM@UseFancyHdr@ |
---|
59 | \RequirePackage{fancyhdr} |
---|
60 | \fi |
---|
61 | |
---|
62 | \newcommand{\@LM@Arg}[1]{\textit{#1}} |
---|
63 | \newcommand{\@LM@Opt}[1]{\textbf{#1}} |
---|
64 | |
---|
65 | \newcommand{\Opt}[1]{\@LM@Opt{#1}} % Option |
---|
66 | \newcommand{\Arg}[1]{\@LM@Arg{#1}} % Argument |
---|
67 | \newcommand{\OptArg}[2]{\Opt{#1}\Arg{#2}} % Option with Argument |
---|
68 | \newcommand{\OptoArg}[2]{\Opt{#1}[\Arg{#2}]} % Option with optinal |
---|
69 | % Argument |
---|
70 | |
---|
71 | \newcommand{\oArg}[1]{[\Arg{#1}]} % optional Argument |
---|
72 | \newcommand{\oOpt}[1]{[\Opt{#1}]} % optional Option |
---|
73 | \newcommand{\oOptArg}[2]{[\OptArg{#1}{#2}]} % optional Option with Argument |
---|
74 | \newcommand{\oOptoArg}[2]{[\OptoArg{#1}{#2}]} % optional Option with |
---|
75 | % optional Argument |
---|
76 | |
---|
77 | \newcommand{\Prog}[1]{\textit{#1}} % Program name |
---|
78 | \newcommand{\Cmd}[2]{\textit{#1}(#2)} % Command with number |
---|
79 | |
---|
80 | \newcommand{\@LM@File}[1]{\texttt{#1}} |
---|
81 | \newcommand{\File}[1]{\@LM@File{#1}} % File name |
---|
82 | |
---|
83 | \newcommand{\Bs}{$\mathtt{\backslash}$} |
---|
84 | \newcommand{\Bar}{$\mathtt{|}$} |
---|
85 | \newcommand{\Tilde}{\ensuremath{\mathtt{\sim}}} |
---|
86 | \newcommand{\Dots}{$\dots$} |
---|
87 | \newcommand{\Circum}{\^{}} |
---|
88 | \newcommand{\Lbr}{[} |
---|
89 | \newcommand{\Rbr}{]} |
---|
90 | \newcommand{\LBr}{\{} |
---|
91 | \newcommand{\RBr}{\}} |
---|
92 | \newcommand{\Dollar}{\$} |
---|
93 | \newcommand{\Percent}{\%} |
---|
94 | \newcommand{\Bullet}{$\bullet$} |
---|
95 | \newcommand{\TEXbr}{~\\} |
---|
96 | \newcommand{\MANbr}{} |
---|
97 | \newcommand{\HTMLbr}{} |
---|
98 | \newcommand{\TEXIbr}{} |
---|
99 | \newcommand{\SP}{\hspace*{0.5em}} |
---|
100 | |
---|
101 | \def\@LM@Date{} |
---|
102 | \newcommand{\setDate}[1]{\def\@LM@Date{#1}} |
---|
103 | \newcommand{\Date}{\@LM@Date} |
---|
104 | |
---|
105 | \def\@LM@VersionWord{Version:} |
---|
106 | \newcommand{\setVersionWord}[1]{\def\@LM@VersionWord{#1}} |
---|
107 | |
---|
108 | \def\@LM@Version{} |
---|
109 | \newcommand{\setVersion}[1]{\def\@LM@Version{#1}} |
---|
110 | \newcommand{\Version}{\@LM@Version} |
---|
111 | |
---|
112 | \newcommand{\Email}[1]{\texttt{#1}} |
---|
113 | \newcommand{\URL}[1]{\texttt{#1}} |
---|
114 | \newcommand{\LatexManEnd}{} |
---|
115 | |
---|
116 | \newenvironment{Name}[5]{ |
---|
117 | % #1 Chapter |
---|
118 | % #2 Name |
---|
119 | % #3 Author |
---|
120 | % #4 Tool |
---|
121 | \if@LM@UseFancy@ |
---|
122 | \gdef\@LM@Foot{\emph{\@LM@VersionWord\ \@LM@Version, \@LM@Date}} |
---|
123 | \rfoot[\fancyplain{#2 (#1)}{#2 (#1)}]{\fancyplain{\@LM@Foot}{\@LM@Foot}} |
---|
124 | \lfoot[\fancyplain{\@LM@Foot}{\@LM@Foot}]{\fancyplain{#2 (#1)}{#2 (#1)}} |
---|
125 | \fi |
---|
126 | \if@LM@UseFancyHdr@ |
---|
127 | \gdef\@LM@Foot{\emph{\@LM@VersionWord\ \@LM@Version, \@LM@Date}} |
---|
128 | \rfoot[\fancyplain{#2 (#1)}{#2 (#1)}]{\fancyplain{\@LM@Foot}{\@LM@Foot}} |
---|
129 | \lfoot[\fancyplain{\@LM@Foot}{\@LM@Foot}]{\fancyplain{#2 (#1)}{#2 (#1)}} |
---|
130 | \fi |
---|
131 | \title{#5} |
---|
132 | \author{#3} |
---|
133 | \date{\@LM@Date\\{\small Version \@LM@Version}} |
---|
134 | \maketitle |
---|
135 | \begin{abstract} |
---|
136 | }{ |
---|
137 | \end{abstract} |
---|
138 | } |
---|
139 | |
---|
140 | % first optional argument specifies width of last column |
---|
141 | % second argrtment specifies number of columns |
---|
142 | \newenvironment{Table}[2][]{ |
---|
143 | \def\OPTARG{#1} |
---|
144 | \def\COLUMNS{#2} |
---|
145 | \def\LASTCOL{} |
---|
146 | \def\EMPTY{} |
---|
147 | \ifx\OPTARG\EMPTY\else% |
---|
148 | \def\COLUMNS{% |
---|
149 | \ifcase#2 1\or 1\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or 9\else 10\fi% |
---|
150 | } |
---|
151 | \def\LASTCOL{p{#1}} |
---|
152 | \fi% |
---|
153 | \par |
---|
154 | \begin{tabular}{*\COLUMNS{l}\LASTCOL} |
---|
155 | }{ |
---|
156 | \end{tabular} |
---|
157 | \par |
---|
158 | } |
---|
159 | |
---|
160 | \newenvironment{Description}[1][]{ |
---|
161 | \begin{list}{}{ |
---|
162 | \ifthenelse{\equal{#1}{}}{ |
---|
163 | % optional argument not given |
---|
164 | \labelwidth\z@ \itemindent-\leftmargin |
---|
165 | \let\makelabel\descriptionlabel |
---|
166 | \renewcommand{\makelabel}[1]{\hspace\labelsep\normalfont\bfseries##1} |
---|
167 | }{ |
---|
168 | % optional argument given |
---|
169 | \settowidth{\labelwidth}{\normalfont\bfseries#1} |
---|
170 | \setlength{\leftmargin}{\labelwidth} |
---|
171 | \addtolength{\leftmargin}{\labelsep} |
---|
172 | \renewcommand{\makelabel}[1]{\normalfont\bfseries##1\hfil} |
---|
173 | }} |
---|
174 | }{ |
---|
175 | \end{list} |
---|
176 | } |
---|
177 | |
---|
178 | \AtBeginDocument{ |
---|
179 | \if@LM@UseFancy@ |
---|
180 | \pagestyle{fancyplain} |
---|
181 | \fi |
---|
182 | \if@LM@UseFancyHdr@ |
---|
183 | \pagestyle{fancyplain} |
---|
184 | \fi |
---|
185 | \setDate{\today} |
---|
186 | } |
---|
187 | |
---|
188 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
189 | \endinput |
---|