| % 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 <nikos@cbl.leeds.ac.uk> |
| % jz = Jelle van Zeijl <jvzeijl@isou17.estec.esa.nl> |
| % hs = Herb Swan <dprhws@edp.Arco.com> |
| |
| % 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 <las@potomac.wash.inmet.com> |
| \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 <dprhws@edp.Arco.com> (with help from |
| % Michel Goossens <goossens@cern.ch>): |
| % |
| % |
| % 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 |
| % |
| % eijkhout@cs.utk.edu |
| % |
| % 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 |
| % (mike@emn.fr) |
| % Changed \html@next to \htmlnext so the \makeatletter and |
| % \makeatother commands could be removed (they were causing other |
| % style files - changebar.sty - to crash) (nikos@cbl.leeds.ac.uk) |
| % 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 <eric@ca.utoronto.utcc.enfm> |
| % 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 |