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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
% $Id: ltxdockit.cls,v 1.1 2008/10/12 19:50:56 lehman stable $
%
% Copyright (c) 2008 Philipp Lehman.
%
% Permission is granted to copy, distribute and/or modify this
% software under the terms of the LaTeX Project Public License
% (LPPL), version 1.3.
%
% The LPPL maintenance status of this software is
% 'author-maintained'.
%
% This software is provided 'as is', without warranty of any kind,
% either expressed or implied, including, but not limited to, the
% implied warranties of merchantability and fitness for a
% particular purpose.
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltxdockit}[2008/10/12 v1.1 latex documentation kit]
\input{ltxdockit.def}
\RequirePackage{etoolbox}
\RequirePackage{multicol}
\RequirePackage{keyval}
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
\RequirePackage{ltxdockit}
\RequirePackage{hyperref}
\RequirePackage[all]{hypcap}
\newrobustcmd*{\fnurl}{\hyper@normalise\ltd@fnurl}
\def\ltd@fnurl#1{\footnote{\hyper@linkurl{\Hurl{#1}}{#1}}}
\newrobustcmd*{\email}{\hyper@normalise\ltd@email}
\def\ltd@email#1{\href{mailto:#1}{#1}}
\hypersetup{%
linkcolor=spot,
urlcolor=spot,
bookmarksnumbered=false,
bookmarksopen=false,
colorlinks=true}
% title
\providecommand*{\titlepage}{}
\providecommand*{\titlefont}{}
\renewcommand*{\titlepage}[1]{\setkeys{ltd@ttp}{#1}}
\renewcommand*{\titlefont}{\bfseries}
\define@key{ltd@ttp}{title}{\def\ltd@title@title{#1}}
\define@key{ltd@ttp}{subtitle}{\def\ltd@title@subtitle{#1}}
\define@key{ltd@ttp}{url}{\def\ltd@title@url{#1}}
\define@key{ltd@ttp}{author}{\def\ltd@title@author{#1}}
\define@key{ltd@ttp}{email}{\def\ltd@title@email{#1}}
\define@key{ltd@ttp}{revision}{\def\ltd@title@revision{#1}}
\define@key{ltd@ttp}{date}{\def\ltd@title@date{#1}}
\newcommand*{\printtitlepage}{%
\begingroup
\centering\titlefont
\begingroup\LARGE
\ifundef\ltd@title@url
{\ltd@title@title}
{\href{\ltd@title@url}{\ltd@title@title}}%
\par
\endgroup
\vspace{0.25\baselineskip}
\begingroup\large
\ltd@title@subtitle\par
\endgroup
\vspace{0.25\baselineskip}
\begin{multicols}{2}
\raggedleft
\ltd@title@author\par
\expandafter\email\expandafter{\ltd@title@email}\par
\raggedright
Version \ltd@title@revision\par\ltd@title@date
\end{multicols}
\endgroup}
% rcs tags
\providecommand*{\rcsfile}{[rcsfile]}
\providecommand*{\rcsrevision}{[revision]}
\providecommand*{\rcsdate}{[date]}
\providecommand*{\rcstime}{[time]}
\providecommand*{\rcsstate}{[state]}
\providecommand*{\rcsauthor}{[author]}
\providecommand*{\rcslocker}{[unlocked]}
\providecommand*{\rcstoday}{\today}
\providecommand*{\rcsid}[1]{%
\ifblank{#1}{}{\ltd@rcsid@i#1}}
\def\ltd@rcsid@i$Id#1${%
\ifblank{#1}{}{\ltd@rcsid@ii#1&}}
\def\ltd@rcsid@ii#1#2&{%
\ifblank{#1}{}{\ltd@rcsid@iii#2&}}
\def\ltd@rcsid@iii#1 #2 #3 #4&{%
\write\@auxout{%
\detokenize{\gdef\rcsfile{#2}}^^J%
\detokenize{\gdef\rcsrevision{#3}}}%
\ltd@rcsid@iv#4&}
\def\ltd@rcsid@iv#1/#2/#3 #4:#5:#6 #7&{%
\write\@auxout{%
\detokenize{\gdef\rcsdate{#1/#2/#3}}^^J%
\detokenize{\gdef\rcstime{#4:#5:#6}}^^J%
\detokenize{\ltd@setdate{#1}{#2}{#3}{#4}{#5}}}%
\ltd@rcsid@v#7&}
\def\ltd@rcsid@v#1 #2 #3&{%
\write\@auxout{%
\detokenize{\gdef\rcsauthor{#1}}^^J%
\detokenize{\gdef\rcsstate{#2}}}%
\ifblank{#3}{}{\ltd@rcsid@vi#3&}}
\def\ltd@rcsid@vi#1 &{%
\write\@auxout{%
\detokenize{\gdef\rcslocker{#1}}}}
\def\ltd@setdate#1#2#3#4#5{%
\global\year=#1
\global\month=#2
\global\day=#3
\global\time=#4
\global\multiply\time by 60
\global\advance\time by #5}
% config file
\InputIfFileExists{ltxdockit.cfg}{}{}
\endinput
|