Statistics
| Revision:

root / import / ext3D / trunk / install-extension3d / IzPack / src / doc / html.sty @ 15280

History | View | Annotate | Download (42.2 KB)

1
%
2
% $Id: html.sty,v 1.1 2006/06/14 07:29:07 cesar Exp $
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: html.sty,v $
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