| 1 | %% techexplHTML.tex | 
| 2 | %% | 
| 3 | %% modified version of  techexpl.sty | 
| 4 | %% for smooth compatibility with  LaTeX2HTML | 
| 5 | %%   by Ross Moore  <ross@maths.mq.edu.au>  edited: 8 June 1999 | 
| 6 | %% | 
| 7 | %%  techexpl.sty carries the following copyright: | 
| 8 | %% -------------------------------------------------------------------- | 
| 9 | %% LaTeX style file for IBM techexplorer Hypermedia documents | 
| 10 | %% -------------------------------------------------------------------- | 
| 11 | %% | 
| 12 | %% Copyright (C) 1998 by the IBM Corporation. All Rights Reserved. | 
| 13 | %% | 
| 14 | %% It should be distributed *unchanged*. | 
| 15 | %% | 
| 16 | %% This file provides LaTeX 2e support for many of the IBM | 
| 17 | %% techexplorer Hypermedia Browser control sequences. Some massaging of | 
| 18 | %% documents may be necessary in order to get correct formatting within | 
| 19 | %% both the techexplorer and LaTeX 2e environments. | 
| 20 | %% | 
| 21 | %% Insert into your document via \usepackage{techexpl} after the | 
| 22 | %% \documentclass line. For example: | 
| 23 | %%      \documentclass{article} | 
| 24 | %%      \usepackage{techexpl} | 
| 25 | %%      \begin{document} | 
| 26 | %%      % ... | 
| 27 | %%      \end{document} | 
| 28 | %% | 
| 29 | %% Address questions to techexpl@watson.ibm.com. | 
| 30 | %% | 
| 31 | %% THIS IS A WORK IN PROGRESS!! | 
| 32 | %% | 
| 33 | %% -------------------------------------------------------------------- | 
| 34 | %% | 
| 35 | %begin{latexonly} | 
| 36 | \ifx\techexplorerfalse | 
| 37 | \undefined\else\expandafter\endinput\fi | 
| 38 | \NeedsTeXFormat{LaTeX2e} | 
| 39 | \ProvidesPackage{techexpl} | 
| 40 | [1998/05/012 v1.0 IBM techexplorer Hypermedia Browser support (RSS)] | 
| 41 | %end{latexonly} | 
| 42 | %\RequirePackage{ifthen} | 
| 43 | \RequirePackage[dvips]{color} | 
| 44 | %\RequirePackage{url} | 
| 45 | %% | 
| 46 | %% -------------------------------------------------------------------- | 
| 47 | %% | 
| 48 | \newif\iftechexplorer\techexplorerfalse | 
| 49 | %% | 
| 50 | %% -------------------------------------------------------------------- | 
| 51 | %% Macro support | 
| 52 | %% -------------------------------------------------------------------- | 
| 53 | % | 
| 54 | %begin{latexonly} | 
| 55 | \def\globalnewcommand{\newcommand} | 
| 56 | \def\globalnewenvironment{\newenvironment} | 
| 57 | % | 
| 58 | %end{latexonly} | 
| 59 | %% -------------------------------------------------------------------- | 
| 60 | %% Links | 
| 61 | %% -------------------------------------------------------------------- | 
| 62 | % | 
| 63 | \providecommand{\techexplorerLinkColor}{blue} | 
| 64 | % | 
| 65 | % SYNTAX: \altLink{alternate text}{primary text} | 
| 66 | % | 
| 67 | \newcommand{\altLink}[2]{{#2}} | 
| 68 | % | 
| 69 | % SYNTAX: \appLink{url}{text} | 
| 70 | % | 
| 71 | %begin{latexonly} | 
| 72 | \def\appLink#1#2{{\color{\techexplorerLinkColor}#2}} | 
| 73 | %end{latexonly} | 
| 74 | \providecommand{\appLink}[2]{\htmladdnormallink{#2}{#1}} | 
| 75 | % | 
| 76 | % SYNTAX: \audioLink{url}{text} | 
| 77 | % | 
| 78 | %begin{latexonly} | 
| 79 | \def\audioLink#1#2{{\color{\techexplorerLinkColor}#2}} | 
| 80 | %end{latexonly} | 
| 81 | \providecommand{\audioLink}[2]{\htmladdnormallink{#2}{#1}} | 
| 82 | % | 
| 83 | % SYNTAX: \docLink[frame]{url}[label]{text} | 
| 84 | % | 
| 85 | %begin{latexonly} | 
| 86 | \def\docLink{\@ifnextchar[%] | 
| 87 | {\@fdocLink}{\@nfdocLink}} | 
| 88 | \def\@fdocLink[#1]{\@nfdocLink} | 
| 89 | \def\@nfdocLink#1{\@docLinkLabel{#1}} | 
| 90 | \def\@docLinkLabel#1{\@ifnextchar[%] | 
| 91 | {\@ldocLink{#1}}{\@nldocLink{#1}}} | 
| 92 | \def\@ldocLink#1[#2]{\@nldocLink{#1}} | 
| 93 | \def\@nldocLink#1#2{{\color{\techexplorerLinkColor}#2}} | 
| 94 | %end{latexonly} | 
| 95 | \providecommand{\docLink}[2][]{\HTMLset{thislink}{#2}\fdocLink} | 
| 96 | %begin{latexonly} | 
| 97 | \newcommand{\fdocLink}[2][]{{\color{\techexplorerLinkColor}#2}} | 
| 98 | %end{latexonly} | 
| 99 | \providecommand{\fdocLink}[2][]{\htmladdnormallink{#2}{\HTMLget{thislink}}} | 
| 100 | % | 
| 101 | % SYNTAX: \evalLink{description}{MIMEtype}{appInput}{displayText} | 
| 102 | % | 
| 103 | \providecommand{\evalLink}[4]{{\color{\techexplorerLinkColor}#4}} | 
| 104 | % | 
| 105 | % SYNTAX: \inputboxLink[responseLink]{controlSequence}{inputboxText}{dialogBoxDescription}{dialogBoxCaption}{textToDisplay} | 
| 106 | % | 
| 107 | %begin{latexonly} | 
| 108 | \def\inputboxLink{\@ifnextchar[%] | 
| 109 | {\@rinputboxLink}{\@inputboxLink}} | 
| 110 | \def\@rinputboxLink[#1]{\@inputboxLink} | 
| 111 | \def\@inputboxLink#1#2#3#4#5{{\color{\techexplorerLinkColor}#5}} | 
| 112 | %end{latexonly} | 
| 113 | \providecommand{\inputboxLink}[6][]{{\color{\techexplorerLinkColor}#6}} | 
| 114 | % | 
| 115 | % SYNTAX: \labelLink{label}{text} | 
| 116 | % | 
| 117 | %begin{latexonly} | 
| 118 | \def\labelLink#1#2{{\color{\techexplorerLinkColor}#2}} | 
| 119 | %end{latexonly} | 
| 120 | \providecommand{\labelLink}[2]{\htmlref{#2}{#1}} | 
| 121 | % | 
| 122 | % SYNTAX: \popupLink{popupText}{popupCaption}{textToDisplay} | 
| 123 | % | 
| 124 | \def\popupLink#1#2#3{{\color{\techexplorerLinkColor}#3}} | 
| 125 | % | 
| 126 | % SYNTAX: \videoLink{url}{text} | 
| 127 | % | 
| 128 | %begin{latexonly} | 
| 129 | \def\videoLink#1#2{{\color{\techexplorerLinkColor}#2}} | 
| 130 | %end{latexonly} | 
| 131 | \providecommand{\videoLink}[2]{\htmladdnormallink{#2}{#1}} | 
| 132 | % | 
| 133 | % SYNTAX: \yesNoLink[responseLink]{controlSequence}{dialogBoxQuestion}{dialogBoxCaption}{textToDisplay} | 
| 134 | % | 
| 135 | %begin{latexonly} | 
| 136 | \def\yesNoLink{\@ifnextchar[%] | 
| 137 | {\@ryesNoLink}{\@yesNoLink}} | 
| 138 | \def\@ryesNoLink[#1]{\@yesNoLink} | 
| 139 | \def\@yesNoLink#1#2#3#4{{\color{\techexplorerLinkColor}#4}} | 
| 140 | %end{latexonly} | 
| 141 | \providecommand{\yesNoLink}[5][]{{\color{\techexplorerLinkColor}#5}} | 
| 142 | % | 
| 143 | %% -------------------------------------------------------------------- | 
| 144 | %% Hierarchical document support | 
| 145 | %% -------------------------------------------------------------------- | 
| 146 | % | 
| 147 | % SYNTAX: \aboveTopic{url} | 
| 148 | % | 
| 149 | \def\aboveTopic#1{} | 
| 150 | % | 
| 151 | % SYNTAX: \nextTopic{url} | 
| 152 | % | 
| 153 | \def\nextTopic#1{} | 
| 154 | % | 
| 155 | % SYNTAX: \previousTopic{url} | 
| 156 | % | 
| 157 | \def\previousTopic#1{} | 
| 158 | % | 
| 159 | %% -------------------------------------------------------------------- | 
| 160 | %% Boxes | 
| 161 | %% -------------------------------------------------------------------- | 
| 162 | % | 
| 163 | % SYNTAX: \buttonbox[invert]{text} | 
| 164 | % | 
| 165 | %begin{latexonly} | 
| 166 | \def\buttonbox{\@ifnextchar[%] | 
| 167 | {\@ibuttonbox}{\@buttonbox}} | 
| 168 | \def\@ibuttonbox[#1]{\@buttonbox} | 
| 169 | \def\@buttonbox{\fbox} | 
| 170 | %end{latexonly} | 
| 171 | \providecommand{\buttonbox}[1][]{\fbox} | 
| 172 | % | 
| 173 | % SYNTAX: \dialogbox[invert]{text} | 
| 174 | % | 
| 175 | \def\dialogbox{\buttonbox} | 
| 176 | % | 
| 177 | % SYNTAX: \gradientbox[v]{startColor}{endColor}{text} | 
| 178 | % | 
| 179 | %begin{latexonly} | 
| 180 | \def\gradientbox{\@ifnextchar[%] | 
| 181 | {\@vgradientbox}{\@gradientbox}} | 
| 182 | \def\@vgradientbox[#1]{\@gradientbox} | 
| 183 | \def\@gradientbox#1#2#3{\colorbox{#1}{#3}} | 
| 184 | %end{latexonly} | 
| 185 | \providecommand{\gradientbox}[4][]{\colorbox{#2}{#4}} | 
| 186 | % | 
| 187 | % SYNTAX: \inputbox[width]{controlSequence}{initialContents } | 
| 188 | % | 
| 189 | %begin{latexonly} | 
| 190 | \def\inputbox{\@ifnextchar[%] | 
| 191 | {\@winputboxbox}{\@inputbox}} | 
| 192 | \def\@winputboxbox[#1]{\@inputbox} | 
| 193 | \def\@inputbox#1#2{\fbox{\hbox spread 1in{#2}}} | 
| 194 | %end{latexonly} | 
| 195 | \providecommand{\inputbox}[3][]{\fbox{#3}} | 
| 196 | % | 
| 197 | %% -------------------------------------------------------------------- | 
| 198 | %% Colors | 
| 199 | %% -------------------------------------------------------------------- | 
| 200 | % | 
| 201 | \definecolor{aqua}{rgb}{0,1,1} | 
| 202 | \definecolor{darkgray}{gray}{.25} | 
| 203 | \definecolor{fuchsia}{rgb}{1,0,1} | 
| 204 | \definecolor{gray}{gray}{.5} | 
| 205 | \definecolor{lightgray}{gray}{.75} | 
| 206 | \definecolor{lime}{rgb}{0,.5,.5} | 
| 207 | \definecolor{maroon}{rgb}{.5,0,0} | 
| 208 | \definecolor{navy}{rgb}{0,0,.5} | 
| 209 | \definecolor{olive}{rgb}{.5,.5,0} | 
| 210 | \definecolor{purple}{rgb}{.5,0,.5} | 
| 211 | \definecolor{silver}{gray}{.75} | 
| 212 | \definecolor{teal}{rgb}{0,.5,.5} | 
| 213 | % | 
| 214 | % SYNTAX: \backgroundcolor{color} | 
| 215 | % | 
| 216 | \def\backgroundcolor{\pagecolor} | 
| 217 | % | 
| 218 | %% -------------------------------------------------------------------- | 
| 219 | %% Features | 
| 220 | %% -------------------------------------------------------------------- | 
| 221 | % | 
| 222 | % SYNTAX: \ProvidesFeature{featureName}{majorVersion}{minorVersion} | 
| 223 | % | 
| 224 | \def\ProvidesFeature#1#2#3{} | 
| 225 | % | 
| 226 | % SYNTAX: \RequiresFeature{featureName}{majorVersion}{minorVersion} {missingFeatureText}{oldVersionText} | 
| 227 | % | 
| 228 | \def\RequiresFeature#1#2#3#4#5{} | 
| 229 | % | 
| 230 | %% -------------------------------------------------------------------- | 
| 231 | %% Menus | 
| 232 | %% -------------------------------------------------------------------- | 
| 233 | % | 
| 234 | % SYNTAX: \newmenu{menuName}{menuDefinition} | 
| 235 | % | 
| 236 | \def\newmenu#1#2{} | 
| 237 | % | 
| 238 | % SYNTAX: \usemenu{menuName}{text} | 
| 239 | % | 
| 240 | \def\usemenu#1#2{#2} | 
| 241 | % | 
| 242 | %% -------------------------------------------------------------------- | 
| 243 | %% Multimedia | 
| 244 | %% -------------------------------------------------------------------- | 
| 245 | % | 
| 246 | % SYNTAX: \backgroundimage{url} | 
| 247 | % | 
| 248 | \def\backgroundimage#1{} | 
| 249 | % | 
| 250 | % SYNTAX: \backgroundsound{url} | 
| 251 | % | 
| 252 | \def\backgroundsound#1{} | 
| 253 | % | 
| 254 | % SYNTAX: \includeaudio{url} | 
| 255 | % | 
| 256 | \def\includeaudio#1{} | 
| 257 | % | 
| 258 | % SYNTAX: \includevideo[x][y]{autostart}{altText}{url} | 
| 259 | % | 
| 260 | %begin{latexonly} | 
| 261 | \def\includevideo{\@ifnextchar[%] | 
| 262 | {\@xincludevideo}{\@includevideo}} | 
| 263 | \def\@xincludevideo[#1]{\@ifnextchar[%] | 
| 264 | {\@xyincludevideo}{\@includevideo}} | 
| 265 | \def\@xyincludevideo[#1]{\@includevideo} | 
| 266 | \def\@includevideo#1#2#3{\fbox{#2}} | 
| 267 | %end{latexonly} | 
| 268 | \providecommand{\includevideo}[1][]{\xincludevideo} | 
| 269 | %begin{latexonly} | 
| 270 | \newcommand{\xincludevideo}[4][]{\fbox{#2}} | 
| 271 | %end{latexonly} | 
| 272 | \providecommand{\xincludevideo}[4][]{\htmladdnormallink{\fbox{#3}}{#4}} | 
| 273 | % | 
| 274 | %% -------------------------------------------------------------------- | 
| 275 | %% Miscellaneous | 
| 276 | %% -------------------------------------------------------------------- | 
| 277 | % | 
| 278 | \def\bibfile#1{} | 
| 279 | \def\inputonce{\input} | 
| 280 | \def\nocaret{} | 
| 281 | \def\TrueTypeTextFont#1{} | 
| 282 | \def\windowTitle#1{} | 
| 283 | % | 
| 284 | \setcounter{secnumdepth}{0} | 
| 285 | % | 
| 286 | %% -------------------------------------------------------------------- | 
| 287 | %% Not done yet | 
| 288 | %% -------------------------------------------------------------------- | 
| 289 | % | 
| 290 | % dirlist environment: hack for now | 
| 291 | %begin{latexonly} | 
| 292 | \def\dirlist{\@ifnextchar[%] | 
| 293 | {\@odirlist}{\@dirlist}} | 
| 294 | \def\@odirlist[#1]{\@dirlist} | 
| 295 | \def\@dirlist{\begin{array}} | 
| 296 | \def\enddirlist{\end{array}} | 
| 297 | %end{latexonly} | 
| 298 | \renewenvironment{dirlist}[1][]{\begin{array}}{\end{array}} | 
| 299 |  |