forked from fareshedayati/ICDE-2015
-
Notifications
You must be signed in to change notification settings - Fork 1
/
miscdoc.sty
115 lines (104 loc) · 3.47 KB
/
miscdoc.sty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
\ProvidesPackage{miscdoc}[2010/01/20 v1.2 documentation macros misc latex pkgs]
% miscdoc.sty
% Copyright 2010 Robin Fairbairns
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3
% of this license or (at your option) any later version.
% The latest version of this license is in
% http://www.latex-project.org/lppl.txt
% and version 1.3 or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
% This work has the LPPL maintenance status `maintained'.
%
% The Current Maintainer of this work is Robin Fairbairns.
%
% This work consists of the file miscdoc.sty (only)
\setcounter{errorcontextlines}{1274}
% The package arose from a small exercise to document packages whose
% previous documentation consisted solely of comments in the package files.
% The macros here defined are lifted from the author's faq.sty
% (written for the UK TeX FAQ, CTAN:help/uk-tex-faq) or are inspired
% by others' work (credited where the author is known) ... except
% where they came as a flash of inspiration while actually writing the
% documentation.
% this option suggested by Heiko Oberdiek, 2010-01-29
\DeclareOption{hyper}{%
\AtEndOfPackage{%
\RequirePackage[pdfusetitle]{hyperref}
\RequirePackage{bookmark}
\bookmarksetup{numbered,open,openlevel=1}
}
}
\ProcessOptions\relax
% note: T1 encoding assumed
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
% from faq.sty
\newcommand\cs[1]{\texttt{\char`\\#1}}
\let\csx\cs
\def\bsbs{\cs{\char`\\}}
% \cmdinvoke\cs<argument sequence>
% \cs typeset as above
% <argument sequence> may consist of optional or mandatory arguments;
%
% the `arguments' are simply typesett \texttt, as yet -- if something
% fancier is needed, there's a bunch of code needs rewriting here...
\DeclareRobustCommand\cmdinvoke{\@ifstar
{\let\@tempa\emph\@scmdinvoke}%
{\let\@tempa\relax\@scmdinvoke}%
}
\def\@scmdinvoke#1{\texttt{\symbol{92}#1}%
\futurelet\@let@token\@cmdinvoke
}
\def\@cmdinvoke{\ifx\@let@token\bgroup
\let\@tempb\@cmdinvoke@lbrace
\else
\ifx\@let@token[% ]
\let\@tempb\@cmdinvoke@lbrack
\else
\ifx\@let@token(% )
\let\@tempb\@cmdinvoke@lparen
\else
\let\@tempb\@empty
\fi
\fi
\fi
\@tempb
}
\def\@cmdinvoke@lbrace#1{\penalty0\hskip0pt\relax
\texttt{\symbol{123}\@tempa{#1}\symbol{125}}%
\futurelet\@let@token\@cmdinvoke
}
\def\@cmdinvoke@lbrack[#1]{\penalty-150\hskip0pt\relax
\texttt{[\@tempa{#1}]}%
\futurelet\@let@token\@cmdinvoke
}
\def\@cmdinvoke@lparen(#1){\penalty-150\hskip0pt\relax
\texttt{(\@tempa{#1})}%
\futurelet\@let@token\@cmdinvoke
}
% and extension -- versions that take a single extra (delimiter)
% argument, such as \delcmdinvoke{lscrunge}( ... awful syntax, but...
\DeclareRobustCommand\delcmdinvoke{\@ifstar
{\let\@tempa\emph\@sdelcmdinvoke}%
{\let\@tempa\relax\@sdelcmdinvoke}%
}
\def\@sdelcmdinvoke#1#2{\texttt{\symbol{92}#1#2}%
\futurelet\@let@token\@cmdinvoke
}
% sui generis
\newcommand\newitem{\par\addvspace{1ex}\noindent}
% inspired by doc.sty in latex distribution
\newcommand\meta[1]{\ensuremath{\langle}\emph{#1}\ensuremath{\rangle}}
% meaningful names, as in faq.sty
\newcommand\environment[1]{\texttt{#1}}
\newcommand\pkgoption[1]{\texttt{#1}}
\newcommand\extension[1]{\texttt{.#1}}
\newcommand\Package[1]{\textsf{#1}}
\def\option{\@ifnextchar[\@optionb\@option}% ]
\def\@optionb[#1]{{\normalfont\ttfamily[#1]}}
\def\@option#1{\texttt{#1}}
\let\FontName\textsf