123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360 |
- % LaTeX2HTML Version 95.1 : html.sty
- %
- % WARNING: This file requires LaTeX2e. A LaTeX 2.09 version
- % is also provided, but with restricted functionality.
- %
- % This file contains definitions of LaTeX commands which are
- % processed in a special way by the translator.
- % For example, there are commands for embedding external hypertext links,
- % for cross-references between documents or for including
- % raw HTML.
- % This file includes the comments.sty file v2.0 by Victor Eijkhout
- % In most cases these commands do nothing when processed by LaTeX.
- % Modifications:
- %
- % nd = Nikos Drakos <[email protected]>
- % jz = Jelle van Zeijl <[email protected]>
- % hs = Herb Swan <[email protected]>
- % hs 31-JAN-96 - Added support for document segmentation
- % hs 10-OCT-95 - Added \htmlrule command
- % jz 22-APR-94 - Added support for htmlref
- % nd - Created
- %%%%MG added
- \NeedsTeXFormat{LaTeX2e}
- \ProvidesPackage{html}
- [1996/02/01 v1.0 hypertext commands for latex2html (nd, hs)]
- %%%%MG
- % Exit if the style file is already loaded
- % (suggested by Lee Shombert <[email protected]>
- \ifx \htmlstyloaded\relax \endinput\else\let\htmlstyloaded\relax\fi
- %%% LINKS TO EXTERNAL DOCUMENTS
- %
- % This can be used to provide links to arbitrary documents.
- % The first argumment should be the text that is going to be
- % highlighted and the second argument a URL.
- % The hyperlink will appear as a hyperlink in the HTML
- % document and as a footnote in the dvi or ps files.
- %
- \newcommand{\htmladdnormallinkfoot}[2]{#1\footnote{#2}}
- % This is an alternative definition of the command above which
- % will ignore the URL in the dvi or ps files.
- \newcommand{\htmladdnormallink}[2]{#1}
- % This command takes as argument a URL pointing to an image.
- % The image will be embedded in the HTML document but will
- % be ignored in the dvi and ps files.
- %
- \newcommand{\htmladdimg}[1]{}
- %%% CROSS-REFERENCES BETWEEN (LOCAL OR REMOTE) DOCUMENTS
- %
- % This can be used to refer to symbolic labels in other Latex
- % documents that have already been processed by the translator.
- % The arguments should be:
- % #1 : the URL to the directory containing the external document
- % #2 : the path to the labels.pl file of the external document.
- % If the external document lives on a remote machine then labels.pl
- % must be copied on the local machine.
- %
- %e.g. \externallabels{http://cbl.leeds.ac.uk/nikos/WWW/doc/tex2html/latex2html}
- % {/usr/cblelca/nikos/tmp/labels.pl}
- % The arguments are ignored in the dvi and ps files.
- %
- \newcommand{\externallabels}[2]{}
- %
- % This complements the \externallabels command above. The argument
- % should be a label defined in another latex document and will be
- % ignored in the dvi and ps files.
- %
- \newcommand{\externalref}[1]{}
- % This command adds a horizontal rule and is valid even within
- % a figure caption.
- %
- \newcommand{\htmlrule}{}
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %
- % The following commands pertain to document segmentation, and
- % were added by Herbert Swan <[email protected]> (with help from
- % Michel Goossens <[email protected]>):
- %
- %
- % This command inputs internal latex2html tables so that large
- % documents can to partitioned into smaller (more manageable)
- % segments.
- %
- \newcommand{\internal}[2][internals]{}
- %
- % Define a dummy stub \htmlhead{}. This command causes latex2html
- % to define the title of the start of a new segment. It is not
- % normally placed in the user's document. Rather, it is passed to
- % latex2html via a .ptr file written by \segment.
- %
- \newcommand{\htmlhead}[2]{}
- %
- % The dummy command \endpreamble is needed by latex2html to
- % mark the end of the preamble in document segments that do
- % not contain a \begin{document}
- %
- \newcommand{\startdocument}{}
- %
- % Allocate a new set of section counters, which will get incremented
- % for "*" forms of sectioning commands, and for a few miscellaneous
- % commands.
- %
- \newcounter{lpart}
- \newcounter{lchapter}[part]
- \ifx\chapter\undefined\newcounter{lsection}[part]\else\newcounter{lsection}[chapter]\fi
- \newcounter{lsubsection}[section]
- \newcounter{lsubsubsection}[subsection]
- \newcounter{lparagraph}[subsubsection]
- \newcounter{lsubparagraph}[paragraph]
- \newcounter{lsubsubparagraph}[subparagraph]
- \newcounter{lequation}
- %
- % Redefine "*" forms of sectioning commands to increment their
- % respective counters.
- %
- \let\Hpart=\part
- \let\Hchapter=\chapter
- \let\Hsection=\section
- \let\Hsubsection=\subsection
- \let\Hsubsubsection=\subsubsection
- \let\Hparagraph=\paragraph
- \let\Hsubparagraph=\subparagraph
- \let\Hsubsubparagraph=\subsubparagraph
- %
- % The following definitions are specific to LaTeX2e:
- % (They must be commented out for LaTeX 2.09)
- %
- \def\part{\@ifstar{\stepcounter{lpart}\Hpart*}{\Hpart}}
- \def\chapter{\@ifstar{\stepcounter{lchapter}\Hchapter*}{\Hchapter}}
- \def\section{\@ifstar{\stepcounter{lsection}\Hsection*}{\Hsection}}
- \def\subsection{\@ifstar{\stepcounter{lsubsection}\Hsubsection*}{\Hsubsection}}
- \def\subsubsection{\@ifstar{\stepcounter{lsubsubsection}\Hsubsubsection*}{\Hsubsubsection}}
- \def\paragraph{\@ifstar{\stepcounter{lparagraph}\Hparagraph*}{\Hparagraph}}
- \def\subparagraph{\@ifstar{\stepcounter{lsubparagraph}\Hsubparagraph*}{\Hsubparagraph}}
- \def\subsubparagraph{\@ifstar{\stepcounter{lsubsubparagraph}\Hsubsubparagraph*}{\Hsubsubparagraph}}
- %
- % Define a helper macro to dump a single \secounter command to a file.
- %
- \newcommand{\DumpPtr}[2]{%
- \count255=\arabic{#1} \advance\count255 by \arabic{#2}
- \immediate\write\ptrfile{%
- \noexpand\setcounter{#1}{\number\count255}}}
- %
- % Define a helper macro to dump all counters to the file.
- % The value for each counter will be the sum of the l-counter
- % actual LaTeX section counter.
- % Also dump an \htmlhead{section-command}{section title} command
- % to the file.
- %
- \def\DumpCounters#1#2#3{\newwrite\ptrfile
- \immediate\openout\ptrfile = #1.ptr
- \DumpPtr{part}{lpart}
- \ifx\Hchapter\undefined\relax\else\DumpPtr{chapter}{lchapter}\fi
- \DumpPtr{section}{lsection}
- \DumpPtr{subsection}{lsubsection}
- \DumpPtr{subsubsection}{lsubsubsection}
- \DumpPtr{paragraph}{lparagraph}
- \DumpPtr{subparagraph}{lsubparagraph}
- \DumpPtr{equation}{lequation}
- \immediate\write\ptrfile{\noexpand\htmlhead{#2}{#3}}
- \immediate\closeout\ptrfile}
- %
- % Define the \segment{file}{section-command}{section-title} command,
- % and its helper macros. This command does four things:
- % 1) Begins a new LaTeX section;
- % 2) Writes a list of section counters to file.ptr, each
- % of which represents the sum of the LaTeX section
- % counters, and the l-counters, defined above;
- % 3) Write an \htmlhead{section-title} command to file.ptr;
- % 4) Inputs file.tex.
- %
- %%%%MG changed
- \def\segment{\@ifstar{\@@htmls}{\@@html}}
- \def\@@htmls#1#2#3{\csname #2\endcsname* {#3}%
- \DumpCounters{#1}{#2*}{#3}\input{#1}}
- \def\@@html#1#2#3{\csname #2\endcsname {#3}%
- \DumpCounters{#1}{#2}{#3}\input{#1}}
- %%%%MG
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Comment.sty version 2.0, 19 June 1992
- % selectively in/exclude pieces of text: the user can define new
- % comment versions, and each is controlled separately.
- % This style can be used with plain TeX or LaTeX, and probably
- % most other packages too.
- %
- % Examples of use in LaTeX and TeX follow \endinput
- %
- % Author
- % Victor Eijkhout
- % Department of Computer Science
- % University Tennessee at Knoxville
- % 104 Ayres Hall
- % Knoxville, TN 37996
- % USA
- %
- % [email protected]
- %
- % Usage: all text included in between
- % \comment ... \endcomment
- % or \begin{comment} ... \end{comment}
- % is discarded. The closing command should appear on a line
- % of its own. No starting spaces, nothing after it.
- % This environment should work with arbitrary amounts
- % of comment.
- %
- % Other 'comment' environments are defined by
- % and are selected/deselected with
- % \includecomment{versiona}
- % \excludecoment{versionb}
- %
- % These environments are used as
- % \versiona ... \endversiona
- % or \begin{versiona} ... \end{versiona}
- % with the closing command again on a line of its own.
- %
- % Basic approach:
- % to comment something out, scoop up every line in verbatim mode
- % as macro argument, then throw it away.
- % For inclusions, both the opening and closing comands
- % are defined as noop
- %
- % Changed \next to \html@next to prevent clashes with other sty files
- % ([email protected])
- % Changed \html@next to \htmlnext so the \makeatletter and
- % \makeatother commands could be removed (they were causing other
- % style files - changebar.sty - to crash) ([email protected])
- % Changed \htmlnext back to \html@next...
- \makeatletter
- \def\makeinnocent#1{\catcode`#1=12 }
- \def\csarg#1#2{\expandafter#1\csname#2\endcsname}
- \def\ThrowAwayComment#1{\begingroup
- \def\CurrentComment{#1}%
- \let\do\makeinnocent \dospecials
- \makeinnocent\^^L% and whatever other special cases
- \endlinechar`\^^M \catcode`\^^M=12 \xComment}
- {\catcode`\^^M=12 \endlinechar=-1 %
- \gdef\xComment#1^^M{\def\test{#1}
- \csarg\ifx{PlainEnd\CurrentComment Test}\test
- \let\html@next\endgroup
- \else \csarg\ifx{LaLaEnd\CurrentComment Test}\test
- \edef\html@next{\endgroup\noexpand\end{\CurrentComment}}
- \else \let\html@next\xComment
- \fi \fi \html@next}
- }
- \makeatother
- \def\includecomment
- #1{\expandafter\def\csname#1\endcsname{}%
- \expandafter\def\csname end#1\endcsname{}}
- \def\excludecomment
- #1{\expandafter\def\csname#1\endcsname{\ThrowAwayComment{#1}}%
- {\escapechar=-1\relax
- \csarg\xdef{PlainEnd#1Test}{\string\\end#1}%
- \csarg\xdef{LaLaEnd#1Test}{\string\\end\string\{#1\string\}}%
- }}
- \excludecomment{comment}
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- %%% RAW HTML
- %
- % Enclose raw HTML between a \begin{rawhtml} and \end{rawhtml}.
- % The html environment ignores its body
- %
- \excludecomment{rawhtml}
- %%% HTML ONLY
- %
- % Enclose LaTeX constructs which will only appear in the
- % HTML output and will be ignored by LaTeX with
- % \begin{htmlonly} and \end{htmlonly}
- %
- \excludecomment{htmlonly}
- % Shorter version
- \newcommand{\html}[1]{}
- %%% LaTeX ONLY
- % Enclose LaTeX constructs which will only appear in the
- % DVI output and will be ignored by latex2html with
- %\begin{latexonly} and \end{latexonly}
- %
- \newenvironment{latexonly}{}{}
- % Shorter version
- \newcommand{\latex}[1]{#1}
- %%% HYPERREF
- % Suggested by Eric M. Carol <[email protected]>
- % Similar to \ref but accepts conditional text.
- % The first argument is HTML text which will become ``hyperized''
- % (underlined).
- % The second and third arguments are text which will appear only in the paper
- % version (DVI file), enclosing the fourth argument which is a reference to a label.
- %
- %e.g. \hyperref{using the tracer}{using the tracer (see Section}{)}{trace}
- % where there is a corresponding \label{trace}
- %
- \newcommand{\hyperref}[4]{#2\ref{#4}#3}
- %%% HTMLREF
- % Reference in HTML version only.
- % Mix between \htmladdnormallink and \hyperref.
- % First arg is text for in both versions, second is label for use in HTML
- % version.
- \newcommand{\htmlref}[2]{#1}
- %%% HTMLIMAGE
- % This command can be used inside any environment that is converted
- % into an inlined image (eg a "figure" environment) in order to change
- % the way the image will be translated. The argument of \htmlimage
- % is really a string of options separated by commas ie
- % [scale=<scale factor>],[external],[thumbnail=<reduction factor>
- % The scale option allows control over the size of the final image.
- % The ``external'' option will cause the image not to be inlined
- % (images are inlined by default). External images will be accessible
- % via a hypertext link.
- % The ``thumbnail'' option will cause a small inlined image to be
- % placed in the caption. The size of the thumbnail depends on the
- % reduction factor. The use of the ``thumbnail'' option implies
- % the ``external'' option.
- %
- % Example:
- % \htmlimage{scale=1.5,external,thumbnail=0.2}
- % will cause a small thumbnail image 1/5th of the original size to be
- % placed in the final document, pointing to an external image 1.5
- % times bigger than the original.
- %
- \newcommand{\htmlimage}[1]{}
- %%% HTMLADDTONAVIGATION
- % This command appends its argument to the buttons in the navigation
- % panel. It is ignored by LaTeX.
- %
- % Example:
- % \htmladdtonavigation{\htmladdnormallink
- % {\htmladdimg{http://server/path/to/gif}}
- % {http://server/path}}
- \newcommand{\htmladdtonavigation}[1]{}
- \endinput
|