svn-gvsig-desktop / tags / v1_2_Build_1200 / install / IzPack / src / doc / html.sty @ 38629
History | View | Annotate | Download (41 KB)
1 | 5819 | cesar | % |
---|---|---|---|
2 | % $Id$ |
||
3 | % LaTeX2HTML Version 2K.1 : html.sty |
||
4 | % |
||
5 | % This file contains definitions of LaTeX commands which are |
||
6 | % processed in a special way by the translator. |
||
7 | % For example, there are commands for embedding external hypertext links, |
||
8 | % for cross-references between documents or for including raw HTML. |
||
9 | % This file includes the comments.sty file v2.0 by Victor Eijkhout |
||
10 | % In most cases these commands do nothing when processed by LaTeX. |
||
11 | % |
||
12 | % Place this file in a directory accessible to LaTeX (i.e., somewhere |
||
13 | % in the TEXINPUTS path.) |
||
14 | % |
||
15 | % NOTE: This file works with LaTeX 2.09 or (the newer) LaTeX2e. |
||
16 | % If you only have LaTeX 2.09, some complex LaTeX2HTML features |
||
17 | % like support for segmented documents are not available. |
||
18 | |||
19 | % Changes: |
||
20 | % See the change log at end of file. |
||
21 | |||
22 | |||
23 | % Exit if the style file is already loaded |
||
24 | % (suggested by Lee Shombert <las@potomac.wash.inmet.com> |
||
25 | \ifx \htmlstyloaded\relax \endinput\else\let\htmlstyloaded\relax\fi |
||
26 | \makeatletter |
||
27 | |||
28 | % allow for the hyperref package to be cleanly loaded |
||
29 | % either before or after this package, |
||
30 | % and ensure it is already loaded, when using pdf-TeX |
||
31 | |||
32 | \ifx\undefined\hyperref |
||
33 | \ifx\pdfoutput\undefined \let\pdfunknown\relax |
||
34 | \let\html@new=\newcommand |
||
35 | \else |
||
36 | \ifx\pdfoutput\relax \let\pdfunknown\relax |
||
37 | \RequirePackage{hyperref}\let\html@new=\renewcommand |
||
38 | \else |
||
39 | \RequirePackage{hyperref}\let\html@new=\newcommand |
||
40 | \fi |
||
41 | \fi |
||
42 | \else |
||
43 | \let\html@new=\renewcommand |
||
44 | \fi |
||
45 | |||
46 | \providecommand{\latextohtml}{\LaTeX2\texttt{HTML}} |
||
47 | |||
48 | %%% LINKS TO EXTERNAL DOCUMENTS |
||
49 | % |
||
50 | % This can be used to provide links to arbitrary documents. |
||
51 | % The first argumment should be the text that is going to be |
||
52 | % highlighted and the second argument a URL. |
||
53 | % The hyperlink will appear as a hyperlink in the HTML |
||
54 | % document and as a footnote in the dvi or ps files. |
||
55 | % |
||
56 | \ifx\pdfunknown\relax |
||
57 | \html@new{\htmladdnormallinkfoot}[2]{#1\footnote{#2}} |
||
58 | \else |
||
59 | \def\htmladdnormallinkfoot#1#2{\footnote{\href{#2}{#1}}} |
||
60 | \fi |
||
61 | |||
62 | % This is an alternative definition of the command above which |
||
63 | % will ignore the URL in the dvi or ps files. |
||
64 | \ifx\pdfunknown\relax |
||
65 | \html@new{\htmladdnormallink}[2]{#1} |
||
66 | \else |
||
67 | \def\htmladdnormallink#1#2{\href{#2}{#1}} |
||
68 | \fi |
||
69 | |||
70 | % This command takes as argument a URL pointing to an image. |
||
71 | % The image will be embedded in the HTML document but will |
||
72 | % be ignored in the dvi and ps files. |
||
73 | % |
||
74 | \ifx\pdfunknown\relax |
||
75 | \html@new{\htmladdimg}[1]{} |
||
76 | \else |
||
77 | \def\htmladdimg#1{\hyperimage{#1}} |
||
78 | \fi |
||
79 | |||
80 | |||
81 | %%% CROSS-REFERENCES BETWEEN (LOCAL OR REMOTE) DOCUMENTS |
||
82 | % |
||
83 | % This can be used to refer to symbolic labels in other Latex |
||
84 | % documents that have already been processed by the translator. |
||
85 | % The arguments should be: |
||
86 | % #1 : the URL to the directory containing the external document |
||
87 | % #2 : the path to the labels.pl file of the external document. |
||
88 | % If the external document lives on a remote machine then labels.pl |
||
89 | % must be copied on the local machine. |
||
90 | % |
||
91 | %e.g. \externallabels{http://cbl.leeds.ac.uk/nikos/WWW/doc/tex2html/latex2html} |
||
92 | % {/usr/cblelca/nikos/tmp/labels.pl} |
||
93 | % The arguments are ignored in the dvi and ps files. |
||
94 | % |
||
95 | \newcommand{\externallabels}[2]{} |
||
96 | |||
97 | |||
98 | % This complements the \externallabels command above. The argument |
||
99 | % should be a label defined in another latex document and will be |
||
100 | % ignored in the dvi and ps files. |
||
101 | % |
||
102 | \newcommand{\externalref}[1]{} |
||
103 | |||
104 | |||
105 | % Suggested by Uffe Engberg (http://www.brics.dk/~engberg/) |
||
106 | % This allows the same effect for citations in external bibliographies. |
||
107 | % An \externallabels command must be given, locating a labels.pl file |
||
108 | % which defines the location and keys used in the external .html file. |
||
109 | % |
||
110 | \newcommand{\externalcite}{\nocite} |
||
111 | |||
112 | % This allows a section-heading in the TOC or mini-TOC to be just |
||
113 | % a hyperlink to an external document. |
||
114 | % |
||
115 | % \htmladdTOClink[<path_to_labels>]{<section-level>}{<title>}{<URL>} |
||
116 | % where <section-level> is 'chapter' , 'section' , 'subsection' etc. |
||
117 | % and <path_to_labels> is the path to find a labels.pl file, |
||
118 | % so that external cross-referencing may work, as with \externallabels |
||
119 | % |
||
120 | %\ifx\pdfunknown\relax |
||
121 | \newcommand{\htmladdTOClink}[4][]{} |
||
122 | % |
||
123 | % can do something here, using the \pdfoutline primitive |
||
124 | %\else |
||
125 | % \def\htmladdTOClink#1#2#3#4{\pdfoutline user {/S /URI /URI #4} |
||
126 | % name{#2} count{#1}{#3}} |
||
127 | %\fi |
||
128 | |||
129 | |||
130 | %%% HTMLRULE |
||
131 | % This command adds a horizontal rule and is valid even within |
||
132 | % a figure caption. |
||
133 | % Here we introduce a stub for compatibility. |
||
134 | \newcommand{\htmlrule}{\protect\HTMLrule} |
||
135 | \newcommand{\HTMLrule}{\@ifstar\htmlrulestar\htmlrulestar} |
||
136 | \newcommand{\htmlrulestar}[1]{} |
||
137 | |||
138 | %%% HTMLCLEAR |
||
139 | % This command puts in a <BR> tag, with CLEAR="ALL" |
||
140 | \newcommand{\htmlclear}{} |
||
141 | |||
142 | % This command adds information within the <BODY> ... </BODY> tag |
||
143 | % |
||
144 | \newcommand{\bodytext}[1]{} |
||
145 | \newcommand{\htmlbody}{} |
||
146 | |||
147 | |||
148 | %%% HYPERREF |
||
149 | % Suggested by Eric M. Carol <eric@ca.utoronto.utcc.enfm> |
||
150 | % Similar to \ref but accepts conditional text. |
||
151 | % The first argument is HTML text which will become ``hyperized'' |
||
152 | % (underlined). |
||
153 | % The second and third arguments are text which will appear only in the paper |
||
154 | % version (DVI file), enclosing the fourth argument which is a reference to a label. |
||
155 | % |
||
156 | %e.g. \hyperref{using the tracer}{using the tracer (see Section}{)}{trace} |
||
157 | % where there is a corresponding \label{trace} |
||
158 | % |
||
159 | % avoid possible confict with hyperref package |
||
160 | \ifx\undefined\hyperref |
||
161 | \newcommand{\hyperrefhyper}[4]{#4}% |
||
162 | \def\next{\newcommand}% |
||
163 | \else |
||
164 | \let\hyperrefhyper\hyperref |
||
165 | \def\next{\renewcommand}% |
||
166 | \fi |
||
167 | \next{\hyperref}{\hyperrefi[]}\let\next=\relax |
||
168 | |||
169 | \def\hyperrefi[#1]{{\def\next{#1}\def\tmp{}% |
||
170 | \ifx\next\tmp\aftergroup\hyperrefdef |
||
171 | \else\def\tmp{ref}\ifx\next\tmp\aftergroup\hyperrefref |
||
172 | \else\def\tmp{pageref}\ifx\next\tmp\aftergroup\hyperrefpageref |
||
173 | \else\def\tmp{page}\ifx\next\tmp\aftergroup\hyperrefpage |
||
174 | \else\def\tmp{noref}\ifx\next\tmp\aftergroup\hyperrefnoref |
||
175 | \else\def\tmp{no}\ifx\next\tmp\aftergroup\hyperrefno |
||
176 | \else\def\tmp{hyper}\ifx\next\tmp\aftergroup\hyperrefhyper |
||
177 | \else\def\tmp{html}\ifx\next\tmp\aftergroup\hyperrefhtml |
||
178 | \else\typeout{*** unknown option \next\space to hyperref ***}% |
||
179 | \fi\fi\fi\fi\fi\fi\fi\fi}} |
||
180 | \newcommand{\hyperrefdef}[4]{#2\ref{#4}#3} |
||
181 | \newcommand{\hyperrefpageref}[4]{#2\pageref{#4}#3} |
||
182 | \newcommand{\hyperrefnoref}[3]{#2} |
||
183 | \let\hyperrefref=\hyperrefdef |
||
184 | \let\hyperrefpage=\hyperrefpageref |
||
185 | \let\hyperrefno=\hyperrefnoref |
||
186 | \ifx\undefined\hyperrefhyper\newcommand{\hyperrefhyper}[4]{#4}\fi |
||
187 | \let\hyperrefhtml=\hyperrefdef |
||
188 | |||
189 | %%% HYPERCITE --- added by RRM |
||
190 | % Suggested by Stephen Simpson <simpson@math.psu.edu> |
||
191 | % effects the same ideas as in \hyperref, but for citations. |
||
192 | % It does not allow an optional argument to the \cite, in LaTeX. |
||
193 | % |
||
194 | % \hypercite{<html-text>}{<LaTeX-text>}{<opt-text>}{<key>} |
||
195 | % |
||
196 | % uses the pre/post-texts in LaTeX, with a \cite{<key>} |
||
197 | % |
||
198 | % \hypercite[ext]{<html-text>}{<LaTeX-text>}{<key>} |
||
199 | % \hypercite[ext]{<html-text>}{<LaTeX-text>}[<prefix>]{<key>} |
||
200 | % |
||
201 | % uses the pre/post-texts in LaTeX, with a \nocite{<key>} |
||
202 | % the actual reference comes from an \externallabels file. |
||
203 | % |
||
204 | \newcommand{\hypercite}{\hypercitei[]} |
||
205 | \def\hypercitei[#1]{{\def\next{#1}\def\tmp{}% |
||
206 | \ifx\next\tmp\aftergroup\hypercitedef |
||
207 | \else\def\tmp{int}\ifx\next\tmp\aftergroup\hyperciteint |
||
208 | \else\def\tmp{cite}\ifx\next\tmp\aftergroup\hypercitecite |
||
209 | \else\def\tmp{ext}\ifx\next\tmp\aftergroup\hyperciteext |
||
210 | \else\def\tmp{nocite}\ifx\next\tmp\aftergroup\hypercitenocite |
||
211 | \else\def\tmp{no}\ifx\next\tmp\aftergroup\hyperciteno |
||
212 | \else\typeout{*** unknown option \next\space to hypercite ***}% |
||
213 | \fi\fi\fi\fi\fi\fi}} |
||
214 | \newcommand{\hypercitedef}[4]{#2{\def\tmp{#3}\def\emptyopt{}% |
||
215 | \ifx\tmp\emptyopt\cite{#4}\else\cite[#3]{#4}\fi}} |
||
216 | \newcommand{\hypercitenocite}[2]{#2\hypercitenocitex[]} |
||
217 | \def\hypercitenocitex[#1]#2{\nocite{#2}} |
||
218 | \let\hypercitecite=\hypercitedef |
||
219 | \let\hyperciteint=\hypercitedef |
||
220 | \let\hyperciteext=\hypercitenocite |
||
221 | \let\hyperciteno=\hypercitenocite |
||
222 | |||
223 | %%% HTMLREF |
||
224 | % Reference in HTML version only. |
||
225 | % Mix between \htmladdnormallink and \hyperref. |
||
226 | % First arg is text for in both versions, second is label for use in HTML |
||
227 | % version. |
||
228 | \ifx\pdfunknown\relax |
||
229 | \html@new{\htmlref}[2]{#1} |
||
230 | \else |
||
231 | \def\htmlref#1#2{\hyperefhyper[#2]{#1}} |
||
232 | \fi |
||
233 | |||
234 | %%% HTMLCITE |
||
235 | % Reference in HTML version only. |
||
236 | % Mix between \htmladdnormallink and \hypercite. |
||
237 | % First arg is text for both versions, second is citation for use in HTML |
||
238 | % version. |
||
239 | \newcommand{\htmlcite}[2]{#1} |
||
240 | |||
241 | |||
242 | %%% HTMLIMAGE |
||
243 | % This command can be used inside any environment that is converted |
||
244 | % into an inlined image (eg a "figure" environment) in order to change |
||
245 | % the way the image will be translated. The argument of \htmlimage |
||
246 | % is really a string of options separated by commas ie |
||
247 | % [scale=<scale factor>],[external],[thumbnail=<reduction factor> |
||
248 | % The scale option allows control over the size of the final image. |
||
249 | % The ``external'' option will cause the image not to be inlined |
||
250 | % (images are inlined by default). External images will be accessible |
||
251 | % via a hypertext link. |
||
252 | % The ``thumbnail'' option will cause a small inlined image to be |
||
253 | % placed in the caption. The size of the thumbnail depends on the |
||
254 | % reduction factor. The use of the ``thumbnail'' option implies |
||
255 | % the ``external'' option. |
||
256 | % |
||
257 | % Example: |
||
258 | % \htmlimage{scale=1.5,external,thumbnail=0.2} |
||
259 | % will cause a small thumbnail image 1/5th of the original size to be |
||
260 | % placed in the final document, pointing to an external image 1.5 |
||
261 | % times bigger than the original. |
||
262 | % |
||
263 | \newcommand{\htmlimage}[1]{} |
||
264 | |||
265 | |||
266 | % \htmlborder causes a border to be placed around an image or table |
||
267 | % when the image is placed within a <TABLE> cell. |
||
268 | \newcommand{\htmlborder}[1]{} |
||
269 | |||
270 | % Put \begin{makeimage}, \end{makeimage} around LaTeX to ensure its |
||
271 | % translation into an image. |
||
272 | % This shields sensitive text from being translated. |
||
273 | \newenvironment{makeimage}{}{} |
||
274 | |||
275 | |||
276 | % A dummy environment that can be useful to alter the order |
||
277 | % in which commands are processed, in LaTeX2HTML |
||
278 | \newenvironment{tex2html_deferred}{}{} |
||
279 | |||
280 | |||
281 | %%% HTMLADDTONAVIGATION |
||
282 | % This command appends its argument to the buttons in the navigation |
||
283 | % panel. It is ignored by LaTeX. |
||
284 | % |
||
285 | % Example: |
||
286 | % \htmladdtonavigation{\htmladdnormallink |
||
287 | % {\htmladdimg{http://server/path/to/gif}} |
||
288 | % {http://server/path}} |
||
289 | \newcommand{\htmladdtonavigation}[1]{} |
||
290 | |||
291 | |||
292 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||
293 | % based upon Eijkhout's comment.sty v2.0 |
||
294 | % with modifications to avoid conflicts with later versions |
||
295 | % of this package, should a user be requiring it. |
||
296 | % Ross Moore, 10 March 1999 |
||
297 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||
298 | % Comment.sty version 2.0, 19 June 1992 |
||
299 | % selectively in/exclude pieces of text: the user can define new |
||
300 | % comment versions, and each is controlled separately. |
||
301 | % This style can be used with plain TeX or LaTeX, and probably |
||
302 | % most other packages too. |
||
303 | % |
||
304 | % Examples of use in LaTeX and TeX follow \endinput |
||
305 | % |
||
306 | % Author |
||
307 | % Victor Eijkhout |
||
308 | % Department of Computer Science |
||
309 | % University Tennessee at Knoxville |
||
310 | % 104 Ayres Hall |
||
311 | % Knoxville, TN 37996 |
||
312 | % USA |
||
313 | % |
||
314 | % eijkhout@cs.utk.edu |
||
315 | % |
||
316 | % Usage: all text included in between |
||
317 | % \comment ... \endcomment |
||
318 | % or \begin{comment} ... \end{comment} |
||
319 | % is discarded. The closing command should appear on a line |
||
320 | % of its own. No starting spaces, nothing after it. |
||
321 | % This environment should work with arbitrary amounts |
||
322 | % of comment. |
||
323 | % |
||
324 | % Other 'comment' environments are defined by |
||
325 | % and are selected/deselected with |
||
326 | % \includecomment{versiona} |
||
327 | % \excludecoment{versionb} |
||
328 | % |
||
329 | % These environments are used as |
||
330 | % \versiona ... \endversiona |
||
331 | % or \begin{versiona} ... \end{versiona} |
||
332 | % with the closing command again on a line of its own. |
||
333 | % |
||
334 | % Basic approach: |
||
335 | % to comment something out, scoop up every line in verbatim mode |
||
336 | % as macro argument, then throw it away. |
||
337 | % For inclusions, both the opening and closing comands |
||
338 | % are defined as noop |
||
339 | % |
||
340 | % Changed \next to \html@next to prevent clashes with other sty files |
||
341 | % (mike@emn.fr) |
||
342 | % Changed \html@next to \htmlnext so the \makeatletter and |
||
343 | % \makeatother commands could be removed (they were causing other |
||
344 | % style files - changebar.sty - to crash) (nikos@cbl.leeds.ac.uk) |
||
345 | % Changed \htmlnext back to \html@next... |
||
346 | |||
347 | \def\makeinnocent#1{\catcode`#1=12 } |
||
348 | \def\csarg#1#2{\expandafter#1\csname#2\endcsname} |
||
349 | |||
350 | \def\ThrowAwayComment#1{\begingroup |
||
351 | \def\CurrentComment{#1}% |
||
352 | \let\do\makeinnocent \dospecials |
||
353 | \makeinnocent\^^L% and whatever other special cases |
||
354 | %%RRM |
||
355 | %% use \xhtmlComment for \xComment |
||
356 | %% use \html@next for \next |
||
357 | \endlinechar`\^^M \catcode`\^^M=12 \xhtmlComment} |
||
358 | {\catcode`\^^M=12 \endlinechar=-1 % |
||
359 | \gdef\xhtmlComment#1^^M{\def\test{#1}\edef\test{\meaning\test} |
||
360 | \csarg\ifx{PlainEnd\CurrentComment Test}\test |
||
361 | \let\html@next\endgroup |
||
362 | \else \csarg\ifx{LaLaEnd\CurrentComment Test}\test |
||
363 | \edef\html@next{\endgroup\noexpand\end{\CurrentComment}} |
||
364 | \else \csarg\ifx{LaInnEnd\CurrentComment Test}\test |
||
365 | \edef\html@next{\endgroup\noexpand\end{\CurrentComment}} |
||
366 | \else \let\html@next\xhtmlComment |
||
367 | \fi \fi \fi \html@next} |
||
368 | } |
||
369 | |||
370 | %%\def\includecomment %%RRM |
||
371 | \def\htmlincludecomment |
||
372 | #1{\expandafter\def\csname#1\endcsname{}% |
||
373 | \expandafter\def\csname end#1\endcsname{}} |
||
374 | %%\def\excludecomment %%RRM |
||
375 | \def\htmlexcludecomment |
||
376 | #1{\expandafter\def\csname#1\endcsname{\ThrowAwayComment{#1}}% |
||
377 | {\escapechar=-1\relax |
||
378 | \edef\tmp{\string\\end#1}% |
||
379 | \csarg\xdef{PlainEnd#1Test}{\meaning\tmp}% |
||
380 | \edef\tmp{\string\\end\string\{#1\string\}}% |
||
381 | \csarg\xdef{LaLaEnd#1Test}{\meaning\tmp}% |
||
382 | \edef\tmp{\string\\end \string\{#1\string\}}% |
||
383 | \csarg\xdef{LaInnEnd#1Test}{\meaning\tmp}% |
||
384 | }} |
||
385 | |||
386 | %%\excludecomment{comment} %%RRM |
||
387 | \htmlexcludecomment{comment} |
||
388 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||
389 | % end Comment.sty |
||
390 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||
391 | \let\includecomment=\htmlincludecomment |
||
392 | \let\excludecomment=\htmlexcludecomment |
||
393 | |||
394 | % |
||
395 | % Alternative code by Robin Fairbairns, 22 September 1997 |
||
396 | % revised to cope with % and unnested { }, by Ross Moore, 4 July 1998 |
||
397 | % further revised to cope with & and # in tables, 10 March 1999 |
||
398 | % |
||
399 | \def\raw@catcodes{\catcode`\%=12 \catcode`\{=12 \catcode`\}=12 |
||
400 | \catcode`\&=12 \catcode`\#=12 } |
||
401 | \newcommand\@gobbleenv{\bgroup\raw@catcodes |
||
402 | \let\reserved@a\@currenvir\@gobble@nv} |
||
403 | \bgroup |
||
404 | \def\expansionhead{\gdef\@gobble@nv@i##1} |
||
405 | \def\expansiontail{{\def\reserved@b{##1}\@gobble@nv@ii}} |
||
406 | \def\expansionheadii{\long\gdef\@gobble@nv##1\end} |
||
407 | \def\expansiontailii{{\@gobble@nv@i}} |
||
408 | \def\expansionmidii{##2} |
||
409 | \raw@catcodes\relax |
||
410 | \expandafter\expansionhead\expandafter}\expansiontail |
||
411 | \egroup |
||
412 | \long\gdef\@gobble@nv#1\end#2{\@gobble@nv@i} |
||
413 | %\long\def\@gobble@nv#1\end#2{\def\reserved@b{#2}% |
||
414 | \def\@gobble@nv@ii{% |
||
415 | \ifx\reserved@a\reserved@b |
||
416 | \edef\reserved@a{\egroup\noexpand\end{\reserved@a}}% |
||
417 | \expandafter\reserved@a |
||
418 | \else |
||
419 | \expandafter\@gobble@nv |
||
420 | \fi} |
||
421 | |||
422 | \renewcommand{\htmlexcludecomment}[1]{% |
||
423 | \csname newenvironment\endcsname{#1}{\@gobbleenv}{}} |
||
424 | \newcommand{\htmlreexcludecomment}[1]{% |
||
425 | \csname renewenvironment\endcsname{#1}{\@gobbleenv}{}} |
||
426 | |||
427 | %%% RAW HTML |
||
428 | % |
||
429 | % Enclose raw HTML between a \begin{rawhtml} and \end{rawhtml}. |
||
430 | % The html environment ignores its body |
||
431 | % |
||
432 | \htmlexcludecomment{rawhtml} |
||
433 | |||
434 | |||
435 | %%% HTML ONLY |
||
436 | % |
||
437 | % Enclose LaTeX constructs which will only appear in the |
||
438 | % HTML output and will be ignored by LaTeX with |
||
439 | % \begin{htmlonly} and \end{htmlonly} |
||
440 | % |
||
441 | \htmlexcludecomment{htmlonly} |
||
442 | % Shorter version |
||
443 | \newcommand{\html}[1]{} |
||
444 | |||
445 | % for images.tex only |
||
446 | \htmlexcludecomment{imagesonly} |
||
447 | |||
448 | %%% LaTeX ONLY |
||
449 | % Enclose LaTeX constructs which will only appear in the |
||
450 | % DVI output and will be ignored by latex2html with |
||
451 | %\begin{latexonly} and \end{latexonly} |
||
452 | % |
||
453 | \newenvironment{latexonly}{}{} |
||
454 | % Shorter version |
||
455 | \newcommand{\latex}[1]{#1} |
||
456 | |||
457 | |||
458 | %%% LaTeX or HTML |
||
459 | % Combination of \latex and \html. |
||
460 | % Say \latexhtml{this should be latex text}{this html text} |
||
461 | % |
||
462 | %\newcommand{\latexhtml}[2]{#1} |
||
463 | \long\def\latexhtml#1#2{#1} |
||
464 | |||
465 | |||
466 | %%% tracing the HTML conversions |
||
467 | % This alters the tracing-level within the processing |
||
468 | % performed by latex2html by adjusting $VERBOSITY |
||
469 | % (see latex2html.config for the appropriate values) |
||
470 | % |
||
471 | \newcommand{\htmltracing}[1]{} |
||
472 | \newcommand{\htmltracenv}[1]{} |
||
473 | |||
474 | |||
475 | %%% \strikeout for HTML only |
||
476 | % uses <STRIKE>...</STRIKE> tags on the argument |
||
477 | % LaTeX just gobbles it up. |
||
478 | \newcommand{\strikeout}[1]{} |
||
479 | |||
480 | %%% \htmlurl and \url |
||
481 | % implement \url as the simplest thing, if not already defined |
||
482 | % let \htmlurl#1 be equivalent to it |
||
483 | % |
||
484 | \def\htmlurlx#1{\begin{small}\texttt{#1}\end{small}}% |
||
485 | \expandafter\ifx\csname url\endcsname\relax |
||
486 | \let\htmlurl=\htmlurlx \else \let\htmlurl=\url \fi |
||
487 | |||
488 | |||
489 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||
490 | %%% JCL - stop input here if LaTeX2e is not present |
||
491 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||
492 | \ifx\if@compatibility\undefined |
||
493 | %LaTeX209 |
||
494 | \makeatother\relax\expandafter\endinput |
||
495 | \fi |
||
496 | \if@compatibility |
||
497 | %LaTeX2e in LaTeX209 compatibility mode |
||
498 | \makeatother\relax\expandafter\endinput |
||
499 | \fi |
||
500 | |||
501 | %\let\real@TeXlogo = \TeX |
||
502 | %\DeclareRobustCommand{\TeX}{\relax\real@TeXlogo} |
||
503 | |||
504 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||
505 | % |
||
506 | % Start providing LaTeX2e extension: |
||
507 | % This is currently: |
||
508 | % - additional optional argument for \htmladdimg |
||
509 | % - support for segmented documents |
||
510 | % |
||
511 | |||
512 | \ProvidesPackage{html} |
||
513 | [1999/07/19 v1.38 hypertext commands for latex2html (nd, hws, rrm)] |
||
514 | |||
515 | % |
||
516 | % Ensure that \includecomment and \excludecomment are bound |
||
517 | % to the version defined here. |
||
518 | % |
||
519 | \AtBeginDocument{% |
||
520 | \let\includecomment=\htmlincludecomment |
||
521 | \let\excludecomment=\htmlexcludecomment |
||
522 | \htmlreexcludecomment{comment}} |
||
523 | |||
524 | %%% bind \htmlurl to \url if that is later loaded |
||
525 | % |
||
526 | \expandafter\ifx\csname url\endcsname\relax |
||
527 | \AtBeginDocument{\@ifundefined{url}{}{\let\htmlurl=\url}}\fi |
||
528 | |||
529 | %%%%MG |
||
530 | |||
531 | % This command takes as argument a URL pointing to an image. |
||
532 | % The image will be embedded in the HTML document but will |
||
533 | % be ignored in the dvi and ps files. The optional argument |
||
534 | % denotes additional HTML tags. |
||
535 | % |
||
536 | % Example: \htmladdimg[ALT="portrait" ALIGN=CENTER]{portrait.gif} |
||
537 | % |
||
538 | \ifx\pdfunknown\relax |
||
539 | \renewcommand{\htmladdimg}[2][]{} |
||
540 | \else |
||
541 | \renewcommand{\htmladdimg}[2][]{\hyperimage{#2}} |
||
542 | \fi |
||
543 | |||
544 | %%% HTMLRULE for LaTeX2e |
||
545 | % This command adds a horizontal rule and is valid even within |
||
546 | % a figure caption. |
||
547 | % |
||
548 | % This command is best used with LaTeX2e and HTML 3.2 support. |
||
549 | % It is like \hrule, but allows for options via key--value pairs |
||
550 | % as follows: \htmlrule[key1=value1, key2=value2, ...] . |
||
551 | % Use \htmlrule* to suppress the <BR> tag. |
||
552 | % Eg. \htmlrule[left, 15, 5pt, "none", NOSHADE] produces |
||
553 | % <BR CLEAR="left"><HR NOSHADE SIZE="15">. |
||
554 | % Renew the necessary part. |
||
555 | \renewcommand{\htmlrulestar}[1][all]{} |
||
556 | |||
557 | %%% HTMLCLEAR for LaTeX2e |
||
558 | % This command puts in a <BR> tag, with optional CLEAR="<attrib>" |
||
559 | % |
||
560 | \renewcommand{\htmlclear}[1][all]{} |
||
561 | |||
562 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||
563 | % |
||
564 | % renew some definitions to allow optional arguments |
||
565 | % |
||
566 | % The description of the options is missing, as yet. |
||
567 | % |
||
568 | \renewcommand{\latextohtml}{\textup{\LaTeX2\texttt{HTML}}} |
||
569 | \ifx\pdfunknown\relax |
||
570 | \renewcommand{\htmladdnormallinkfoot}[3][]{#2\footnote{#3}} |
||
571 | \renewcommand{\htmladdnormallink}[3][]{#2} |
||
572 | \else |
||
573 | \renewcommand{\htmladdnormallinkfoot}[1][]{\def\next{#1}% |
||
574 | \ifx\next\@empty\def\next{\htmladdnonamedlinkfoot}% |
||
575 | \else\def\next{\htmladdnamedlinkfoot{#1}}\fi \next} |
||
576 | \newcommand{\htmladdnonamedlinkfoot}[2]{% |
||
577 | #1\footnote{\href{#2}{#2}}} |
||
578 | \newcommand{\htmladdnamedlinkfoot}[3]{% |
||
579 | \hypertarget{#1}{#2}\footnote{\href{#3}{#3}}} |
||
580 | \renewcommand{\htmladdnormallink}[1][]{\def\next{#1}% |
||
581 | \ifx\next\@empty\def\next{\htmladdnonamedlink}% |
||
582 | \else\def\next{\htmladdnamedlink{#1}}\fi \next} |
||
583 | \newcommand{\htmladdnonamedlink}[2]{\href{#2}{#1}} |
||
584 | \newcommand{\htmladdnamedlink}[3]{% |
||
585 | \hypertarget{#1}{\hskip2bp}\href{#3}{#2}} |
||
586 | \fi |
||
587 | |||
588 | \renewcommand{\htmlbody}[1][]{} |
||
589 | \renewcommand{\htmlborder}[2][]{} |
||
590 | \renewcommand{\externallabels}[3][]{} |
||
591 | \renewcommand{\externalref}[2][]{} |
||
592 | \renewcommand{\externalcite}[1][]{\nocite} |
||
593 | \renewcommand{\hyperref}[1][]{\hyperrefi[#1]} |
||
594 | \renewcommand{\hypercite}[1][]{\hypercitei[#1]} |
||
595 | \renewcommand{\hypercitenocite}[2]{#2\hypercitenocitex} |
||
596 | \renewcommand{\hypercitenocitex}[2][]{\nocite{#2}} |
||
597 | \let\hyperciteno=\hypercitenocite |
||
598 | \let\hyperciteext=\hypercitenocite |
||
599 | |||
600 | \ifx\pdfunknown\relax |
||
601 | \renewcommand{\htmlimage}[2][]{} |
||
602 | \renewcommand{\htmlref}[2][]{#2{\def\tmp{#1}\ifx\tmp\@empty |
||
603 | \aftergroup\htmlrefdef\else\aftergroup\htmlrefext\fi}} |
||
604 | \newcommand{\htmlrefdef}[1]{} |
||
605 | \newcommand{\htmlrefext}[2][]{} |
||
606 | \renewcommand{\htmlcite}[2][]{#2{\def\tmp{#1}\ifx\tmp\@empty |
||
607 | \aftergroup\htmlcitedef\else\aftergroup\htmlciteext\fi}} |
||
608 | \newcommand{\htmlciteext}[2][]{} |
||
609 | \else |
||
610 | \renewcommand{\htmlimage}[2][]{\hyperimage{#2}} |
||
611 | \renewcommand{\htmlref}[1][]{\def\htmp@{#1}\ifx\htmp@\@empty |
||
612 | \def\htmp@{\htmlrefdef}\else\def\htmp@{\htmlrefext{#1}}\fi\htmp@} |
||
613 | \newcommand{\htmlrefdef}[2]{\hyperref[hyper][#2]{#1}} |
||
614 | \newcommand{\htmlrefext}[3]{% |
||
615 | \hypertarget{#1}{\hskip2bp}\hyperref[hyper][#3]{#2}} |
||
616 | \renewcommand{\htmlcite}[2][]{#2{\def\htmp@{#1}\ifx\htmp@\@empty |
||
617 | \aftergroup\htmlcitedef\else\aftergroup\htmlciteext\fi}} |
||
618 | \newcommand{\htmlciteext}[1][]{\cite} |
||
619 | \fi |
||
620 | \newcommand{\htmlcitedef}[1]{ \nocite{#1}} |
||
621 | |||
622 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||
623 | % |
||
624 | % HTML HTMLset HTMLsetenv |
||
625 | % |
||
626 | % These commands do nothing in LaTeX, but can be used to place |
||
627 | % HTML tags or set Perl variables during the LaTeX2HTML processing; |
||
628 | % They are intended for expert use only. |
||
629 | |||
630 | \newcommand{\HTMLcode}[2][]{} |
||
631 | \ifx\undefined\HTML\newcommand{\HTML}[2][]{}\else |
||
632 | \typeout{*** Warning: \string\HTML\space had an incompatible definition ***}% |
||
633 | \typeout{*** instead use \string\HTMLcode\space for raw HTML code ***}% |
||
634 | \fi |
||
635 | \newcommand{\HTMLset}[3][]{} |
||
636 | \newcommand{\HTMLsetenv}[3][]{} |
||
637 | |||
638 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||
639 | % |
||
640 | % The following commands pertain to document segmentation, and |
||
641 | % were added by Herbert Swan <dprhws@edp.Arco.com> (with help from |
||
642 | % Michel Goossens <goossens@cern.ch>): |
||
643 | % |
||
644 | % |
||
645 | % This command inputs internal latex2html tables so that large |
||
646 | % documents can to partitioned into smaller (more manageable) |
||
647 | % segments. |
||
648 | % |
||
649 | \newcommand{\internal}[2][internals]{} |
||
650 | |||
651 | % |
||
652 | % Define a dummy stub \htmlhead{}. This command causes latex2html |
||
653 | % to define the title of the start of a new segment. It is not |
||
654 | % normally placed in the user's document. Rather, it is passed to |
||
655 | % latex2html via a .ptr file written by \segment. |
||
656 | % |
||
657 | \newcommand{\htmlhead}[3][]{} |
||
658 | |||
659 | % In the LaTeX2HTML version this will eliminate the title line |
||
660 | % generated by a \segment command, but retains the title string |
||
661 | % for use in other places. |
||
662 | % |
||
663 | \newcommand{\htmlnohead}{} |
||
664 | |||
665 | |||
666 | % In the LaTeX2HTML version this put a URL into a <BASE> tag |
||
667 | % within the <HEAD>...</HEAD> portion of a document. |
||
668 | % |
||
669 | \ifx\pdfunknown\relax |
||
670 | \newcommand{\htmlbase}[1]{} |
||
671 | \else |
||
672 | \let\htmlbase=\hyperbaseurl |
||
673 | \fi |
||
674 | |||
675 | |||
676 | % Include style information into the stylesheet; e.g. CSS |
||
677 | % |
||
678 | \newcommand{\htmlsetstyle}[3][]{} |
||
679 | \newcommand{\htmladdtostyle}[3][]{} |
||
680 | |||
681 | % Define a style-class for information in a particular language |
||
682 | % |
||
683 | \newcommand{\htmllanguagestyle}[2][]{} |
||
684 | |||
685 | |||
686 | % |
||
687 | % The dummy command \endpreamble is needed by latex2html to |
||
688 | % mark the end of the preamble in document segments that do |
||
689 | % not contain a \begin{document} |
||
690 | % |
||
691 | \newcommand{\startdocument}{} |
||
692 | |||
693 | |||
694 | % \tableofchildlinks, \htmlinfo |
||
695 | % by Ross Moore --- extensions dated 27 September 1997 |
||
696 | % |
||
697 | % These do nothing in LaTeX but for LaTeX2HTML they mark |
||
698 | % where the table of child-links and info-page should be placed, |
||
699 | % when the user wants other than the default. |
||
700 | % \tableofchildlinks % put mini-TOC at this location |
||
701 | % \tableofchildlinks[off] % not on current page |
||
702 | % \tableofchildlinks[none] % not on current and subsequent pages |
||
703 | % \tableofchildlinks[on] % selectively on current page |
||
704 | % \tableofchildlinks[all] % on current and all subsequent pages |
||
705 | % \htmlinfo % put info-page at this location |
||
706 | % \htmlinfo[off] % no info-page in current document |
||
707 | % \htmlinfo[none] % no info-page in current document |
||
708 | % *-versions omit the preceding <BR> tag. |
||
709 | % |
||
710 | \newcommand{\tableofchildlinks}{% |
||
711 | \@ifstar\tableofchildlinksstar\tableofchildlinksstar} |
||
712 | \newcommand{\tableofchildlinksstar}[1][]{} |
||
713 | |||
714 | \newcommand{\htmlinfo}{\@ifstar\htmlinfostar\htmlinfostar} |
||
715 | \newcommand{\htmlinfostar}[1][]{} |
||
716 | |||
717 | |||
718 | % This redefines \begin to allow for an optional argument |
||
719 | % which is used by LaTeX2HTML to specify `style-sheet' information |
||
720 | |||
721 | \let\realLaTeX@begin=\begin |
||
722 | \renewcommand{\begin}[1][]{\realLaTeX@begin} |
||
723 | |||
724 | |||
725 | % |
||
726 | % Allocate a new set of section counters, which will get incremented |
||
727 | % for "*" forms of sectioning commands, and for a few miscellaneous |
||
728 | % commands. |
||
729 | % |
||
730 | |||
731 | \@ifundefined{c@part}{\newcounter{part}}{}% |
||
732 | \newcounter{lpart} |
||
733 | \newcounter{lchapter}[part] |
||
734 | \@ifundefined{c@chapter}% |
||
735 | {\let\Hchapter\relax \newcounter{chapter}\let\thechapter\relax |
||
736 | \newcounter{lsection}[part]}% |
||
737 | {\let\Hchapter=\chapter \newcounter{lsection}[chapter]} |
||
738 | \newcounter{lsubsection}[section] |
||
739 | \newcounter{lsubsubsection}[subsection] |
||
740 | \newcounter{lparagraph}[subsubsection] |
||
741 | \newcounter{lsubparagraph}[paragraph] |
||
742 | %\newcounter{lequation} |
||
743 | |||
744 | % |
||
745 | % Redefine "*" forms of sectioning commands to increment their |
||
746 | % respective counters. |
||
747 | % |
||
748 | \let\Hpart=\part |
||
749 | %\let\Hchapter=\chapter |
||
750 | \let\Hsection=\section |
||
751 | \let\Hsubsection=\subsection |
||
752 | \let\Hsubsubsection=\subsubsection |
||
753 | \let\Hparagraph=\paragraph |
||
754 | \let\Hsubparagraph=\subparagraph |
||
755 | \let\Hsubsubparagraph=\subsubparagraph |
||
756 | |||
757 | \ifx\c@subparagraph\undefined |
||
758 | \newcounter{lsubsubparagraph}[lsubparagraph] |
||
759 | \else |
||
760 | \newcounter{lsubsubparagraph}[subparagraph] |
||
761 | \fi |
||
762 | |||
763 | % |
||
764 | % The following definitions are specific to LaTeX2e: |
||
765 | % (They must be commented out for LaTeX 2.09) |
||
766 | % |
||
767 | \expandafter\ifx\csname part\endcsname\relax\else |
||
768 | \renewcommand{\part}{\@ifstar{\stepcounter{lpart}% |
||
769 | \bgroup\def\tmp{*}\H@part}{\bgroup\def\tmp{}\H@part}}\fi |
||
770 | \newcommand{\H@part}[1][]{\def\tmp@a{#1}\check@align |
||
771 | \expandafter\egroup\expandafter\Hpart\tmp} |
||
772 | |||
773 | \ifx\Hchapter\relax\else |
||
774 | \def\chapter{\resetsections \@ifstar{\stepcounter{lchapter}% |
||
775 | \bgroup\def\tmp{*}\H@chapter}{\bgroup\def\tmp{}\H@chapter}}\fi |
||
776 | \newcommand{\H@chapter}[1][]{\def\tmp@a{#1}\check@align |
||
777 | \expandafter\egroup\expandafter\Hchapter\tmp} |
||
778 | |||
779 | \renewcommand{\section}{\resetsubsections |
||
780 | \@ifstar{\stepcounter{lsection}\bgroup\def\tmp{*}% |
||
781 | \H@section}{\bgroup\def\tmp{}\H@section}} |
||
782 | \newcommand{\H@section}[1][]{\def\tmp@a{#1}\check@align |
||
783 | \expandafter\egroup\expandafter\Hsection\tmp} |
||
784 | |||
785 | \renewcommand{\subsection}{\resetsubsubsections |
||
786 | \@ifstar{\stepcounter{lsubsection}\bgroup\def\tmp{*}% |
||
787 | \H@subsection}{\bgroup\def\tmp{}\H@subsection}} |
||
788 | \newcommand{\H@subsection}[1][]{\def\tmp@a{#1}\check@align |
||
789 | \expandafter\egroup\expandafter\Hsubsection\tmp} |
||
790 | |||
791 | \renewcommand{\subsubsection}{\resetparagraphs |
||
792 | \@ifstar{\stepcounter{lsubsubsection}\bgroup\def\tmp{*}% |
||
793 | \H@subsubsection}{\bgroup\def\tmp{}\H@subsubsection}} |
||
794 | \newcommand{\H@subsubsection}[1][]{\def\tmp@a{#1}\check@align |
||
795 | \expandafter\egroup\expandafter\Hsubsubsection\tmp} |
||
796 | |||
797 | \renewcommand{\paragraph}{\resetsubparagraphs |
||
798 | \@ifstar{\stepcounter{lparagraph}\bgroup\def\tmp{*}% |
||
799 | \H@paragraph}{\bgroup\def\tmp{}\H@paragraph}} |
||
800 | \newcommand\H@paragraph[1][]{\def\tmp@a{#1}\check@align |
||
801 | \expandafter\egroup\expandafter\Hparagraph\tmp} |
||
802 | |||
803 | \ifx\Hsubparagraph\relax\else\@ifundefined{subparagraph}{}{% |
||
804 | \renewcommand{\subparagraph}{\resetsubsubparagraphs |
||
805 | \@ifstar{\stepcounter{lsubparagraph}\bgroup\def\tmp{*}% |
||
806 | \H@subparagraph}{\bgroup\def\tmp{}\H@subparagraph}}}\fi |
||
807 | \newcommand\H@subparagraph[1][]{\def\tmp@a{#1}\check@align |
||
808 | \expandafter\egroup\expandafter\Hsubparagraph\tmp} |
||
809 | |||
810 | \ifx\Hsubsubparagraph\relax\else\@ifundefined{subsubparagraph}{}{% |
||
811 | \def\subsubparagraph{% |
||
812 | \@ifstar{\stepcounter{lsubsubparagraph}\bgroup\def\tmp{*}% |
||
813 | \H@subsubparagraph}{\bgroup\def\tmp{}\H@subsubparagraph}}}\fi |
||
814 | \newcommand\H@subsubparagraph[1][]{\def\tmp@a{#1}\check@align |
||
815 | \expandafter\egroup\expandafter\Hsubsubparagraph\tmp} |
||
816 | |||
817 | \def\check@align{\def\empty{}\ifx\tmp@a\empty |
||
818 | \else\def\tmp@b{center}\ifx\tmp@a\tmp@b\let\tmp@a\empty |
||
819 | \else\def\tmp@b{left}\ifx\tmp@a\tmp@b\let\tmp@a\empty |
||
820 | \else\def\tmp@b{right}\ifx\tmp@a\tmp@b\let\tmp@a\empty |
||
821 | \else\expandafter\def\expandafter\tmp@a\expandafter{\expandafter[\tmp@a]}% |
||
822 | \fi\fi\fi \def\empty{}\ifx\tmp\empty\let\tmp=\tmp@a \else |
||
823 | \expandafter\def\expandafter\tmp\expandafter{\expandafter*\tmp@a}% |
||
824 | \fi\fi} |
||
825 | % |
||
826 | \def\resetsections{\setcounter{section}{0}\setcounter{lsection}{0}% |
||
827 | \reset@dependents{section}\resetsubsections } |
||
828 | \def\resetsubsections{\setcounter{subsection}{0}\setcounter{lsubsection}{0}% |
||
829 | \reset@dependents{subsection}\resetsubsubsections } |
||
830 | \def\resetsubsubsections{\setcounter{subsubsection}{0}\setcounter{lsubsubsection}{0}% |
||
831 | \reset@dependents{subsubsection}\resetparagraphs } |
||
832 | % |
||
833 | \def\resetparagraphs{\setcounter{lparagraph}{0}\setcounter{lparagraph}{0}% |
||
834 | \reset@dependents{paragraph}\resetsubparagraphs } |
||
835 | \def\resetsubparagraphs{\ifx\c@subparagraph\undefined\else |
||
836 | \setcounter{subparagraph}{0}\fi \setcounter{lsubparagraph}{0}% |
||
837 | \reset@dependents{subparagraph}\resetsubsubparagraphs } |
||
838 | \def\resetsubsubparagraphs{\ifx\c@subsubparagraph\undefined\else |
||
839 | \setcounter{subsubparagraph}{0}\fi \setcounter{lsubsubparagraph}{0}} |
||
840 | % |
||
841 | \def\reset@dependents#1{\begingroup\let \@elt \@stpelt |
||
842 | \csname cl@#1\endcsname\endgroup} |
||
843 | |||
844 | % ignore optional *-version of \tableofcontents |
||
845 | \let\ltx@tableofcontents\tableofcontents |
||
846 | \renewcommand{\tableofcontents}{% |
||
847 | \@ifstar\ltx@tableofcontents\ltx@tableofcontents} |
||
848 | % |
||
849 | % |
||
850 | % Define a helper macro to dump a single \secounter command to a file. |
||
851 | % |
||
852 | \newcommand{\DumpPtr}[2]{% |
||
853 | \count255=\csname c@#1\endcsname\relax\def\dummy{dummy}\def\tmp{#2}% |
||
854 | \ifx\tmp\dummy\def\ctr{#1}\else |
||
855 | \def\ctr{#2}\advance\count255 by \csname c@#2\endcsname\relax\fi |
||
856 | \immediate\write\ptrfile{% |
||
857 | \noexpand\setcounter{\ctr}{\number\count255}}} |
||
858 | %\expandafter\noexpand\expandafter\setcounter\expandafter{\ctr}{\number\count255}}} |
||
859 | |||
860 | % |
||
861 | % Define a helper macro to dump all counters to the file. |
||
862 | % The value for each counter will be the sum of the l-counter |
||
863 | % actual LaTeX section counter. |
||
864 | % Also dump an \htmlhead{section-command}{section title} command |
||
865 | % to the file. |
||
866 | % |
||
867 | \newwrite\ptrfile |
||
868 | \def\DumpCounters#1#2#3#4{% |
||
869 | \begingroup\let\protect=\noexpand |
||
870 | \immediate\openout\ptrfile = #1.ptr |
||
871 | \DumpPtr{part}{lpart}% |
||
872 | \ifx\Hchapter\relax\else\DumpPtr{chapter}{lchapter}\fi |
||
873 | \DumpPtr{section}{lsection}% |
||
874 | \DumpPtr{subsection}{lsubsection}% |
||
875 | \DumpPtr{subsubsection}{lsubsubsection}% |
||
876 | \DumpPtr{paragraph}{lparagraph}% |
||
877 | \DumpPtr{subparagraph}{lsubparagraph}% |
||
878 | \DumpPtr{equation}{dummy}% |
||
879 | \DumpPtr{footnote}{dummy}% |
||
880 | \def\tmp{#4}\ifx\tmp\@empty |
||
881 | \immediate\write\ptrfile{\noexpand\htmlhead{#2}{#3}}\else |
||
882 | \immediate\write\ptrfile{\noexpand\htmlhead[#4]{#2}{#3}}\fi |
||
883 | \dumpcitestatus \dumpcurrentcolor |
||
884 | \immediate\closeout\ptrfile |
||
885 | \endgroup } |
||
886 | |||
887 | |||
888 | %% interface to natbib.sty |
||
889 | |||
890 | \def\dumpcitestatus{} |
||
891 | \def\loadcitestatus{\def\dumpcitestatus{% |
||
892 | \ifciteindex\immediate\write\ptrfile{\noexpand\citeindextrue}% |
||
893 | \else\immediate\write\ptrfile{\noexpand\citeindexfalse}\fi }% |
||
894 | } |
||
895 | \@ifpackageloaded{natbib}{\loadcitestatus}{% |
||
896 | \AtBeginDocument{\@ifpackageloaded{natbib}{\loadcitestatus}{}}} |
||
897 | |||
898 | |||
899 | %% interface to color.sty |
||
900 | |||
901 | \def\dumpcurrentcolor{} |
||
902 | \def\loadsegmentcolors{% |
||
903 | \let\real@pagecolor=\pagecolor |
||
904 | \let\pagecolor\segmentpagecolor |
||
905 | \let\segmentcolor\color |
||
906 | \ifx\current@page@color\undefined \def\current@page@color{{}}\fi |
||
907 | \def\dumpcurrentcolor{\bgroup\def\@empty@{{}}% |
||
908 | \expandafter\def\expandafter\tmp\space####1@{\def\thiscol{####1}}% |
||
909 | \ifx\current@color\@empty@\def\thiscol{}\else |
||
910 | \expandafter\tmp\current@color @\fi |
||
911 | \immediate\write\ptrfile{\noexpand\segmentcolor{\thiscol}}% |
||
912 | \ifx\current@page@color\@empty@\def\thiscol{}\else |
||
913 | \expandafter\tmp\current@page@color @\fi |
||
914 | \immediate\write\ptrfile{\noexpand\segmentpagecolor{\thiscol}}% |
||
915 | \egroup}% |
||
916 | \global\let\loadsegmentcolors=\relax |
||
917 | } |
||
918 | |||
919 | % These macros are needed within images.tex since this inputs |
||
920 | % the <segment>.ptr files for a segment, so that counters are |
||
921 | % colors are synchronised. |
||
922 | % |
||
923 | \newcommand{\segmentpagecolor}[1][]{% |
||
924 | \@ifpackageloaded{color}{\loadsegmentcolors\bgroup |
||
925 | \def\tmp{#1}\ifx\@empty\tmp\def\next{[]}\else\def\next{[#1]}\fi |
||
926 | \expandafter\segmentpagecolor@\next}% |
||
927 | {\@gobble}} |
||
928 | \def\segmentpagecolor@[#1]#2{\def\tmp{#1}\def\tmpB{#2}% |
||
929 | \ifx\tmpB\@empty\let\next=\egroup |
||
930 | \else |
||
931 | \let\realendgroup=\endgroup |
||
932 | \def\endgroup{\edef\next{\noexpand\realendgroup |
||
933 | \def\noexpand\current@page@color{\current@color}}\next}% |
||
934 | \ifx\tmp\@empty\real@pagecolor{#2}\def\model{}% |
||
935 | \else\real@pagecolor[#1]{#2}\def\model{[#1]}% |
||
936 | \fi |
||
937 | \edef\next{\egroup\def\noexpand\current@page@color{\current@page@color}% |
||
938 | \noexpand\real@pagecolor\model{#2}}% |
||
939 | \fi\next} |
||
940 | % |
||
941 | \newcommand{\segmentcolor}[2][named]{\@ifpackageloaded{color}% |
||
942 | {\loadsegmentcolors\segmentcolor[#1]{#2}}{}} |
||
943 | |||
944 | \@ifpackageloaded{color}{\loadsegmentcolors}{\let\real@pagecolor=\@gobble |
||
945 | \AtBeginDocument{\@ifpackageloaded{color}{\loadsegmentcolors}{}}} |
||
946 | |||
947 | |||
948 | % Define the \segment[align]{file}{section-command}{section-title} command, |
||
949 | % and its helper macros. This command does four things: |
||
950 | % 1) Begins a new LaTeX section; |
||
951 | % 2) Writes a list of section counters to file.ptr, each |
||
952 | % of which represents the sum of the LaTeX section |
||
953 | % counters, and the l-counters, defined above; |
||
954 | % 3) Write an \htmlhead{section-title} command to file.ptr; |
||
955 | % 4) Inputs file.tex. |
||
956 | |||
957 | \newcommand{\segment}{\@ifstar{\@@htmls}{\@@html}} |
||
958 | %\tracingall |
||
959 | \newcommand{\@endsegment}[1][]{} |
||
960 | \let\endsegment\@endsegment |
||
961 | \newcommand{\@@htmls}[1][]{\@@htmlsx{#1}} |
||
962 | \newcommand{\@@html}[1][]{\@@htmlx{#1}} |
||
963 | \def\@@htmlsx#1#2#3#4{\csname #3\endcsname* {#4}% |
||
964 | \DumpCounters{#2}{#3*}{#4}{#1}\input{#2}} |
||
965 | \def\@@htmlx#1#2#3#4{\csname #3\endcsname {#4}% |
||
966 | \DumpCounters{#2}{#3}{#4}{#1}\input{#2}} |
||
967 | |||
968 | \makeatother |
||
969 | \endinput |
||
970 | |||
971 | |||
972 | % Modifications: |
||
973 | % |
||
974 | % (The listing of Initiales see Changes) |
||
975 | |||
976 | % $Log$ |
||
977 | % Revision 1.1 2006-06-14 07:29:07 cesar |
||
978 | % Upload Izpack to install directory |
||
979 | % |
||
980 | % Revision 1.1 2003/08/04 08:44:53 tschwarze |
||
981 | % make HTML generation work again |
||
982 | % |
||
983 | % Revision 1.39 2001/10/01 22:47:06 RRM |
||
984 | % -- somehow revision 1.39 was not committed earlier |
||
985 | % -- it allows a * version of \tableofcontents (used with frames) to be |
||
986 | % treated as un-starred by LaTeX |
||
987 | % |
||
988 | % Revision 1.39 2000/09/10 12:23:20 RRM |
||
989 | % -- added *-argument for \tableofcontents in frames.perl |
||
990 | % LaTeX should just ignore it |
||
991 | % |
||
992 | % Revision 1.38 1999/07/19 13:23:20 RRM |
||
993 | % -- compatibility with pdflatex and hyperref.sty |
||
994 | % citations are not complete yet, I think |
||
995 | % -- ensure that \thechapter remains undefined; some packages use it |
||
996 | % as a test for the type of documentclass being used. |
||
997 | % |
||
998 | % Revision 1.37 1999/03/12 07:02:38 RRM |
||
999 | % -- change macro name from \addTOCsection to \htmladdTOClink |
||
1000 | % -- it has 3 + 1 optional argument, to allow a local path to a labels.pl |
||
1001 | % file for the external document, for cross-references |
||
1002 | % |
||
1003 | % Revision 1.36 1999/03/10 05:46:00 RRM |
||
1004 | % -- extended the code for compatibilty with comment.sty |
||
1005 | % -- allow excluded environments to work within tables, |
||
1006 | % with the excluded material spanning headers and several cells |
||
1007 | % thanks Avinash Chopde for recognising the need for this. |
||
1008 | % -- added LaTeX support (ignores it) for \htmladdTOCsection |
||
1009 | % thanks to Steffen Klupsch and Uli Wortmann for this idea. |
||
1010 | % |
||
1011 | % Revision 1.35 1999/03/08 11:16:16 RRM |
||
1012 | % html.sty for LaTeX2HTML V99.1 |
||
1013 | % |
||
1014 | % -- ensure that html.sty can be loaded *after* hyperref.sty |
||
1015 | % -- support new command \htmlclear for <BR> in HTML, ignored by LaTeX |
||
1016 | % -- ensure {part} and {chapter} counters are defined, even if not used |
||
1017 | % |
||
1018 | % Revision 1.34 1998/09/19 10:37:29 RRM |
||
1019 | % -- fixed typo with \next{\hyperref}{....} |
||
1020 | % |
||
1021 | % Revision 1.33 1998/09/08 12:47:51 RRM |
||
1022 | % -- changed macro-names for the \hyperref and \hypercite options |
||
1023 | % allows easier compatibility with other packages |
||
1024 | % |
||
1025 | % Revision 1.32 1998/08/24 12:15:14 RRM |
||
1026 | % -- new command \htmllanguagestyle to associate a style class |
||
1027 | % with text declared as a particular language |
||
1028 | % |
||
1029 | % Revision 1.31 1998/07/07 14:15:41 RRM |
||
1030 | % -- new commands \htmlsetstyle and \htmladdtostyle |
||
1031 | % |
||
1032 | % Revision 1.30 1998/07/04 02:42:22 RRM |
||
1033 | % -- cope with catcodes of % { } in rawhtml/comment/htmlonly environments |
||
1034 | % |
||
1035 | % Revision 1.29 1998/06/23 13:33:23 RRM |
||
1036 | % -- use \begin{small} with the default for URLs |
||
1037 | % |
||
1038 | % Revision 1.28 1998/06/21 09:38:39 RRM |
||
1039 | % -- implement \htmlurl to agree with \url if already defined |
||
1040 | % or loaded subsequently (LaTeX-2e only) |
||
1041 | % -- get LaTeX to print the revision number when loading |
||
1042 | % |
||
1043 | % Revision 1.27 1998/06/20 15:13:10 RRM |
||
1044 | % -- \TeX is already protected in recent versions of LaTeX |
||
1045 | % so \DeclareRobust doesn't work --- causes looping |
||
1046 | % -- \part and \subparagraph need not be defined in some styles |
||
1047 | % |
||
1048 | % Revision 1.26 1998/06/01 08:36:49 latex2html |
||
1049 | % -- implement optional argument for \endsegment |
||
1050 | % -- made the counter value output from \DumpPtr more robust |
||
1051 | % |
||
1052 | % Revision 1.25 1998/05/09 05:43:35 latex2html |
||
1053 | % -- conditionals for avoiding undefined counters |
||
1054 | % |
||
1055 | % Revision 1.23 1998/02/26 10:32:24 latex2html |
||
1056 | % -- use \providecommand for \latextohtml |
||
1057 | % -- implemented \HTMLcode to do what \HTML did previously |
||
1058 | % \HTML still works, unless already defined by another package |
||
1059 | % -- fixed problems remaining with undefined \chapter |
||
1060 | % -- defined \endsegment |
||
1061 | % |
||
1062 | % Revision 1.22 1997/12/05 11:38:18 RRM |
||
1063 | % -- implemented an optional argument to \begin for style-sheet info. |
||
1064 | % -- modified use of an optional argument with sectioning-commands |
||
1065 | % |
||
1066 | % Revision 1.21 1997/11/05 10:28:56 RRM |
||
1067 | % -- replaced redefinition of \@htmlrule with \htmlrulestar |
||
1068 | % |
||
1069 | % Revision 1.20 1997/10/28 02:15:58 RRM |
||
1070 | % -- altered the way some special html-macros are defined, so that |
||
1071 | % star-variants are explicitly defined for LaTeX |
||
1072 | % -- it is possible for these to occur within images.tex |
||
1073 | % e.g. \htmlinfostar \htmlrulestar \tableofchildlinksstar |
||
1074 | % |
||
1075 | % Revision 1.19 1997/10/11 05:47:48 RRM |
||
1076 | % -- allow the dummy {tex2html_nowrap} environment in LaTeX |
||
1077 | % use it to make its contents be evaluated in environment order |
||
1078 | % |
||
1079 | % Revision 1.18 1997/10/04 06:56:50 RRM |
||
1080 | % -- uses Robin Fairbairns' code for ignored environments, |
||
1081 | % replacing the previous comment.sty stuff. |
||
1082 | % -- extensions to the \tableofchildlinks command |
||
1083 | % -- extensions to the \htmlinfo command |
||
1084 | % |
||
1085 | % Revision 1.17 1997/07/08 11:23:39 RRM |
||
1086 | % include value of footnote counter in .ptr files for segments |
||
1087 | % |
||
1088 | % Revision 1.16 1997/07/03 08:56:34 RRM |
||
1089 | % use \textup within the \latextohtml macro |
||
1090 | % |
||
1091 | % Revision 1.15 1997/06/15 10:24:58 RRM |
||
1092 | % new command \htmltracenv as environment-ordered \htmltracing |
||
1093 | % |
||
1094 | % Revision 1.14 1997/06/06 10:30:37 RRM |
||
1095 | % - new command: \htmlborder puts environment into a <TABLE> cell |
||
1096 | % with a border of specified width, + other attributes. |
||
1097 | % - new commands: \HTML for setting arbitrary HTML tags, with attributes |
||
1098 | % \HTMLset for setting Perl variables, while processing |
||
1099 | % \HTMLsetenv same as \HTMLset , but it gets processed |
||
1100 | % as if it were an environment. |
||
1101 | % - new command: \latextohtml --- to set the LaTeX2HTML name/logo |
||
1102 | % - fixed some remaining problems with \segmentcolor & \segmentpagecolor |
||
1103 | % |
||
1104 | % Revision 1.13 1997/05/19 13:55:46 RRM |
||
1105 | % alterations and extra options to \hypercite |
||
1106 | % |
||
1107 | % Revision 1.12 1997/05/09 12:28:39 RRM |
||
1108 | % - Added the optional argument to \htmlhead, also in \DumpCounters |
||
1109 | % - Implemented \HTMLset as a no-op in LaTeX. |
||
1110 | % - Fixed a bug in accessing the page@color settings. |
||
1111 | % |
||
1112 | % Revision 1.11 1997/03/26 09:32:40 RRM |
||
1113 | % - Implements LaTeX versions of \externalcite and \hypercite commands. |
||
1114 | % Thanks to Uffe Engberg and Stephen Simpson for the suggestions. |
||
1115 | % |
||
1116 | % Revision 1.10 1997/03/06 07:37:58 RRM |
||
1117 | % Added the \htmltracing command, for altering $VERBOSITY . |
||
1118 | % |
||
1119 | % Revision 1.9 1997/02/17 02:26:26 RRM |
||
1120 | % - changes to counter handling (RRM) |
||
1121 | % - shuffled around some definitions |
||
1122 | % - changed \htmlrule of 209 mode |
||
1123 | % |
||
1124 | % Revision 1.8 1997/01/26 09:04:12 RRM |
||
1125 | % RRM: added optional argument to sectioning commands |
||
1126 | % \htmlbase sets the <BASE HREF=...> tag |
||
1127 | % \htmlinfo and \htmlinfo* allow the document info to be positioned |
||
1128 | % |
||
1129 | % Revision 1.7 1997/01/03 12:15:44 L2HADMIN |
||
1130 | % % - fixes to the color and natbib interfaces |
||
1131 | % % - extended usage of \hyperref, via an optional argument. |
||
1132 | % % - extended use comment environments to allow shifting expansions |
||
1133 | % % e.g. within \multicolumn (`bug' reported by Luc De Coninck). |
||
1134 | % % - allow optional argument to: \htmlimage, \htmlhead, |
||
1135 | % % \htmladdimg, \htmladdnormallink, \htmladdnormallinkfoot |
||
1136 | % % - added new commands: \htmlbody, \htmlnohead |
||
1137 | % % - added new command: \tableofchildlinks |
||
1138 | % |
||
1139 | % Revision 1.6 1996/12/25 03:04:54 JCL |
||
1140 | % added patches to segment feature from Martin Wilck |
||
1141 | % |
||
1142 | % Revision 1.5 1996/12/23 01:48:06 JCL |
||
1143 | % o introduced the environment makeimage, which may be used to force |
||
1144 | % LaTeX2HTML to generate an image from the contents. |
||
1145 | % There's no magic, all what we have now is a defined empty environment |
||
1146 | % which LaTeX2HTML will not recognize and thus pass it to images.tex. |
||
1147 | % o provided \protect to the \htmlrule commands to allow for usage |
||
1148 | % within captions. |
||
1149 | % |
||
1150 | % Revision 1.4 1996/12/21 19:59:22 JCL |
||
1151 | % - shuffled some entries |
||
1152 | % - added \latexhtml command |
||
1153 | % |
||
1154 | % Revision 1.3 1996/12/21 12:22:59 JCL |
||
1155 | % removed duplicate \htmlrule, changed \htmlrule back not to create a \hrule |
||
1156 | % to allow occurrence in caption |
||
1157 | % |
||
1158 | % Revision 1.2 1996/12/20 04:03:41 JCL |
||
1159 | % changed occurrence of \makeatletter, \makeatother |
||
1160 | % added new \htmlrule command both for the LaTeX2.09 and LaTeX2e |
||
1161 | % sections |
||
1162 | % |
||
1163 | % |
||
1164 | % jcl 30-SEP-96 |
||
1165 | % - Stuck the commands commonly used by both LaTeX versions to the top, |
||
1166 | % added a check which stops input or reads further if the document |
||
1167 | % makes use of LaTeX2e. |
||
1168 | % - Introduced rrm's \dumpcurrentcolor and \bodytext |
||
1169 | % hws 31-JAN-96 - Added support for document segmentation |
||
1170 | % hws 10-OCT-95 - Added \htmlrule command |
||
1171 | % jz 22-APR-94 - Added support for htmlref |
||
1172 | % nd - Created |