1 | |
---|
2 | \NeedsTeXFormat{LaTeX2e}[1999/01/01] |
---|
3 | \ProvidesPackage{review}[2004/02/17] |
---|
4 | \RequirePackage{color,keyval,twoopt} |
---|
5 | |
---|
6 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
7 | % Copyright 2004-2011 Gabriel Moreau % |
---|
8 | % % |
---|
9 | % This work may be distributed and/or modified under the % |
---|
10 | % conditions of the LaTeX Project Public License, either version 1.3 % |
---|
11 | % of this license or (at your option) any later version. % |
---|
12 | % The latest version of this license is in % |
---|
13 | % http://www.latex-project.org/lppl.txt % |
---|
14 | % and version 1.3 or later is part of all distributions of LaTeX % |
---|
15 | % version 2005/12/01 or later. % |
---|
16 | % % |
---|
17 | % This work has the LPPL maintenance status `maintained'. % |
---|
18 | % % |
---|
19 | % The Current Maintainer of this work is G. Moreau. % |
---|
20 | % % |
---|
21 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
22 | |
---|
23 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
24 | % Pour gérer les deux types d'options : % |
---|
25 | % 1. les options normales (\DeclareOption{...}{...}) % |
---|
26 | % 2. les options type key-val option=value (\define@key{...}{...}{...}) % |
---|
27 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
28 | \@ifundefined{rev@unusedlist}{% |
---|
29 | \let\rev@unusedlist\@empty}{} |
---|
30 | \@ifundefined{rev@extractkey}{% |
---|
31 | \def\rev@extractkey#1=#2\rev@extractkey{#1}}{} |
---|
32 | \newcommand{\ProcessUnusedOptions}[1]{% |
---|
33 | \let\my@tempa\@empty |
---|
34 | \let\my@tempb\@empty |
---|
35 | \@for\CurrentOption:=\rev@unusedlist\do{% |
---|
36 | \expandafter\expandafter\expandafter\def |
---|
37 | \expandafter\expandafter\expandafter\my@key |
---|
38 | \expandafter\expandafter\expandafter{% |
---|
39 | \expandafter\rev@extractkey\CurrentOption=\rev@extractkey}% |
---|
40 | \@ifundefined{KV@#1@\my@key}{% |
---|
41 | \edef\my@tempa{\my@tempa,\CurrentOption,}}{% |
---|
42 | \edef\my@tempb{\my@tempb,\CurrentOption,}}}% |
---|
43 | \@for\CurrentOption:=\my@tempa\do{% |
---|
44 | \ifx\CurrentOption\@empty\else |
---|
45 | \PackageWarning{review}{`\CurrentOption' not defined.}\fi}% |
---|
46 | \edef\my@tempb{% |
---|
47 | \noexpand\setkeys{#1}{\my@tempb}}% |
---|
48 | \my@tempb |
---|
49 | \AtEndOfPackage{\let\@unprocessedoptions\relax}} |
---|
50 | |
---|
51 | \DeclareOption*{% |
---|
52 | \expandafter\expandafter\expandafter\def |
---|
53 | \expandafter\expandafter\expandafter\rev@unusedlist |
---|
54 | \expandafter\expandafter\expandafter{% |
---|
55 | \expandafter\rev@unusedlist\expandafter,% |
---|
56 | \CurrentOption}} |
---|
57 | |
---|
58 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
59 | % initialisation |
---|
60 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
61 | |
---|
62 | \newif\if@rev@see \@rev@seetrue |
---|
63 | \newlength{\rev@len} |
---|
64 | \setlength{\rev@len}{\marginparwidth} |
---|
65 | \addtolength{\rev@len}{-0.5cm} |
---|
66 | \newcounter{rev@counter} |
---|
67 | \definecolor{rev@colortext}{rgb}{1,0,0} |
---|
68 | \definecolor{rev@colormark}{rgb}{0,0,1} |
---|
69 | |
---|
70 | \def\rev@contextwait{wait} |
---|
71 | \def\rev@contextreject{reject} |
---|
72 | \def\rev@contextaccept{accept} |
---|
73 | |
---|
74 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
75 | % options |
---|
76 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
77 | |
---|
78 | %% Options «normales» |
---|
79 | \DeclareOption{draft}{\@rev@seetrue} |
---|
80 | \DeclareOption{see}{\@rev@seetrue} |
---|
81 | \DeclareOption{hide}{\@rev@seefalse} |
---|
82 | \DeclareOption{final}{\@rev@seefalse} |
---|
83 | |
---|
84 | %% Options passées sous forme key=val |
---|
85 | \define@key{review}{width}{\setlength{\rev@len}{#1}} |
---|
86 | \define@key{review}{counter}{\setcounter{rev@counter}{#1}} |
---|
87 | %\define@key{review}{colortext}{\definecolor{rev@colortext}{rgb}{#1}} |
---|
88 | %\define@key{review}{colormark}{\definecolor{rev@colormark}{rgb}{#1}} |
---|
89 | %\define@key{mypack}{<key2>}[<default>]{<action 2> dépendant de #1} |
---|
90 | |
---|
91 | \ProcessOptions |
---|
92 | \ProcessUnusedOptions{review} |
---|
93 | |
---|
94 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
95 | % internal command |
---|
96 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
97 | |
---|
98 | % #1 command |
---|
99 | \newcommand{\rev@error}[1]{% |
---|
100 | \PackageError{review}{option for #1 are 'accept' 'reject' or 'wait'}% |
---|
101 | } |
---|
102 | |
---|
103 | % #1 author |
---|
104 | % #2 type |
---|
105 | % #3 other thing (with \\\hline please) |
---|
106 | \newcommand{\rev@notewait}[3]{% |
---|
107 | \marginpar{% |
---|
108 | \begin{tabular}{|p{\rev@len}|}\hline% |
---|
109 | \texttt{\textcolor{#1}{\textcolor{rev@colormark}{\therev@counter{#2}}-#1}}\\\hline% |
---|
110 | #3% |
---|
111 | \end{tabular}% |
---|
112 | }} |
---|
113 | |
---|
114 | % #1 author |
---|
115 | % #2 type |
---|
116 | \newcommand{\rev@noteaccept}[2]{% |
---|
117 | \marginpar{% |
---|
118 | $\left<\texttt{\textcolor{#1}{\textcolor{rev@colormark}{\therev@counter{#2}}-#1}}\right>$% |
---|
119 | }} |
---|
120 | |
---|
121 | % #1 author |
---|
122 | % #2 type |
---|
123 | \newcommand{\rev@notereject}[2]{% |
---|
124 | \marginpar{% |
---|
125 | $\left/\texttt{\textcolor{#1}{\textcolor{rev@colormark}{\therev@counter{#2}}-#1}}\right/$% |
---|
126 | }} |
---|
127 | |
---|
128 | % #1 author |
---|
129 | % #2 type |
---|
130 | \newcommand{\rev@notemark}[2]{% |
---|
131 | \textcolor{#1}{$^{\left<\texttt{\textcolor{rev@colormark}{\therev@counter{#2}}}\right>}$}% |
---|
132 | } |
---|
133 | |
---|
134 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
135 | % external command |
---|
136 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
---|
137 | |
---|
138 | % #1 author |
---|
139 | % #2 color |
---|
140 | \newcommand{\revauthor}[2]{\definecolor{#1}{rgb}{#2}} |
---|
141 | |
---|
142 | % #1 color |
---|
143 | \newcommand{\revcolortext}[1]{\definecolor{rev@colortext}{rgb}{#1}} |
---|
144 | |
---|
145 | % #1 color |
---|
146 | \newcommand{\revcolormark}[1]{\definecolor{rev@colormark}{rgb}{#1}} |
---|
147 | |
---|
148 | |
---|
149 | % [#1] context |
---|
150 | % [#2] null |
---|
151 | % #3 author |
---|
152 | % #4 add |
---|
153 | % #5 com |
---|
154 | \newcommandtwoopt{\revadd}[5][wait][null]{% |
---|
155 | \def\rev@contextlocal{#1}% |
---|
156 | \stepcounter{rev@counter}% |
---|
157 | \if@rev@see% |
---|
158 | \ifx\rev@contextlocal\rev@contextwait% |
---|
159 | \textcolor{rev@colortext}{#4}% |
---|
160 | \rev@notemark{#3}{a}% |
---|
161 | \rev@notewait{#3}{a}{#5\\\hline}% |
---|
162 | \else\ifx\rev@contextlocal\rev@contextaccept% |
---|
163 | \textcolor{rev@colortext}{#4}% |
---|
164 | \rev@noteaccept{#3}{a}% |
---|
165 | \else\ifx\rev@contextlocal\rev@contextreject% |
---|
166 | \rev@notereject{#3}{a}% |
---|
167 | \else% |
---|
168 | \rev@error{revadd}% |
---|
169 | \fi\fi\fi% |
---|
170 | \else% |
---|
171 | \ifx\rev@contextlocal\rev@contextaccept% |
---|
172 | #4% |
---|
173 | \fi% |
---|
174 | \fi% |
---|
175 | } |
---|
176 | |
---|
177 | % [#1] context |
---|
178 | % [#2] null |
---|
179 | % #3 author |
---|
180 | % #4 old |
---|
181 | % #5 new |
---|
182 | % #6 com |
---|
183 | \newcommandtwoopt{\revmod}[6][wait][null]{% |
---|
184 | \def\rev@contextlocal{#1}% |
---|
185 | \stepcounter{rev@counter}% |
---|
186 | \if@rev@see% |
---|
187 | \ifx\rev@contextlocal\rev@contextwait% |
---|
188 | \textcolor{rev@colortext}{#5}% |
---|
189 | \rev@notemark{#3}{c}% |
---|
190 | \rev@notewait{#3}{c}{#6\\\hline#4\\\hline}% |
---|
191 | \else\ifx\rev@contextlocal\rev@contextaccept% |
---|
192 | \textcolor{rev@colortext}{#5}% |
---|
193 | \rev@noteaccept{#3}{c}% |
---|
194 | \else\ifx\rev@contextlocal\rev@contextreject% |
---|
195 | #4% |
---|
196 | \rev@notereject{#3}{c}% |
---|
197 | \else% |
---|
198 | \rev@error{revmod}% |
---|
199 | \fi\fi\fi% |
---|
200 | \else% |
---|
201 | \ifx\rev@contextlocal\rev@contextaccept% |
---|
202 | #5% |
---|
203 | \else% |
---|
204 | #4% |
---|
205 | \fi% |
---|
206 | \fi% |
---|
207 | } |
---|
208 | |
---|
209 | % [#1] context |
---|
210 | % [#2] null |
---|
211 | % #3 author |
---|
212 | % #4 old |
---|
213 | % #5 new |
---|
214 | % #6 com |
---|
215 | \newcommandtwoopt{\revforget}[6][wait][null]{% |
---|
216 | \def\rev@contextlocal{#1}% |
---|
217 | \stepcounter{rev@counter}% |
---|
218 | \if@rev@see% |
---|
219 | \ifx\rev@contextlocal\rev@contextwait% |
---|
220 | \textcolor{rev@colortext}{#5}% |
---|
221 | \rev@notemark{#3}{f}% |
---|
222 | \rev@notewait{#3}{f}{#6\\\hline}% |
---|
223 | \else\ifx\rev@contextlocal\rev@contextaccept% |
---|
224 | \textcolor{rev@colortext}{#5}% |
---|
225 | \rev@noteaccept{#3}{f}% |
---|
226 | \else\ifx\rev@contextlocal\rev@contextreject% |
---|
227 | #4% |
---|
228 | \else% |
---|
229 | \rev@error{revforget}% |
---|
230 | \fi\fi\fi% |
---|
231 | \else% |
---|
232 | \ifx\rev@contextlocal\rev@contextaccept% |
---|
233 | #5% |
---|
234 | \else% |
---|
235 | #4% |
---|
236 | \fi% |
---|
237 | \fi% |
---|
238 | } |
---|
239 | |
---|
240 | % [#1] context |
---|
241 | % [#2] null |
---|
242 | % #3 author |
---|
243 | % #4 del |
---|
244 | % #5 com |
---|
245 | \newcommandtwoopt{\revdel}[5][wait][null]{% |
---|
246 | \def\rev@contextlocal{#1}% |
---|
247 | \stepcounter{rev@counter}% |
---|
248 | \if@rev@see% |
---|
249 | \ifx\rev@contextlocal\rev@contextwait% |
---|
250 | \rev@notemark{#3}{d}% |
---|
251 | \rev@notewait{#3}{d}{#5\\\hline#4\\\hline}% |
---|
252 | \else\ifx\rev@contextlocal\rev@contextaccept% |
---|
253 | \rev@noteaccept{#3}{d}% |
---|
254 | \else\ifx\rev@contextlocal\rev@contextreject% |
---|
255 | #4% |
---|
256 | \else% |
---|
257 | \rev@error{revdel}% |
---|
258 | \fi\fi\fi% |
---|
259 | \else% |
---|
260 | \ifx\rev@contextlocal\rev@contextaccept% |
---|
261 | \else% |
---|
262 | #4% |
---|
263 | \fi% |
---|
264 | \fi% |
---|
265 | } |
---|
266 | |
---|
267 | % [#1] context |
---|
268 | % [#2] null |
---|
269 | % #3 author |
---|
270 | % #4 com |
---|
271 | \newcommandtwoopt{\revmark}[4][wait][null]{% |
---|
272 | \def\rev@contextlocal{#1}% |
---|
273 | \stepcounter{rev@counter}% |
---|
274 | \if@rev@see% |
---|
275 | \ifx\rev@contextlocal\rev@contextwait% |
---|
276 | \rev@notemark{#3}{m}% |
---|
277 | \rev@notewait{#3}{m}{\footnotesize#4\\\hline}% |
---|
278 | \else\ifx\rev@contextlocal\rev@contextaccept% |
---|
279 | \textcolor{rev@colortext}{#4}% |
---|
280 | \rev@noteaccept{#3}{m}% |
---|
281 | \else\ifx\rev@contextlocal\rev@contextreject% |
---|
282 | \else% |
---|
283 | \rev@error{revmark}% |
---|
284 | \fi\fi\fi% |
---|
285 | \fi% |
---|
286 | } |
---|
287 | |
---|
288 | % [#1] context |
---|
289 | % [#2] null |
---|
290 | % #3 author |
---|
291 | % #4 com |
---|
292 | \newcommandtwoopt{\revpar}[4][wait][null]{% |
---|
293 | \def\rev@contextlocal{#1}% |
---|
294 | \stepcounter{rev@counter}% |
---|
295 | \if@rev@see% |
---|
296 | \ifx\rev@contextlocal\rev@contextwait% |
---|
297 | % \rev@notewait{#3}{p}{}% |
---|
298 | % \textcolor{#3}{$\left<\texttt{\textcolor{rev@colormark}{\therev@counter{p}}}\right.-$}% |
---|
299 | % \textcolor{rev@colortext}{#4}% |
---|
300 | % \textcolor{#3}{$-\left.\texttt{\textcolor{rev@colormark}{\therev@counter{p}}}\right>$}% |
---|
301 | % |
---|
302 | % |
---|
303 | \begin{center}% |
---|
304 | \rev@notewait{#3}{p}{}% |
---|
305 | \begin{tabular}{|p{0.95\linewidth}|}\hline% |
---|
306 | \texttt{\textcolor{#3}{\textcolor{rev@colormark}{\therev@counter{p}}-#3}}\\\hline% |
---|
307 | #4\\\hline% |
---|
308 | \end{tabular}% |
---|
309 | \end{center}% |
---|
310 | % |
---|
311 | \else\ifx\rev@contextlocal\rev@contextaccept% |
---|
312 | \textcolor{rev@colortext}{#4}% |
---|
313 | \rev@noteaccept{#3}{p}% |
---|
314 | \else\ifx\rev@contextlocal\rev@contextreject% |
---|
315 | \else% |
---|
316 | \rev@error{revpar}% |
---|
317 | \fi\fi\fi% |
---|
318 | \fi% |
---|
319 | } |
---|
320 | |
---|
321 | \endinput |
---|