summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/ximera/src/interactives/javascript.dtx
blob: c67a7e523544e8fc52f3a3d2f39949712ba9e684 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
% \subsubsection{JavaScript}

% \DescribeEnv{javascript}{Code inside a javascript environment is printed on paper, but executed on the web.}

%    \begin{macrocode}
%<*classXimera>
\DefineVerbatimEnvironment{javascript}{Verbatim}{numbers=left,frame=lines,label=JavaScript,labelposition=topline}
%</classXimera>
%    \end{macrocode}

%    \begin{macrocode}
%<*htXimera>
% for programming javascript
\renewenvironment{javascript}{\NoFonts}{\EndNoFonts}
\ScriptEnv{javascript}{\stepcounter{identification}\ifvmode \IgnorePar\fi \EndP\HCode{<div class="javascript" id="javascript\arabic{identification}"><script type="text/javascript">}\HtmlParOff}{\HtmlParOn\HCode{</script></div>}}
%</htXimera>
%    \end{macrocode}

% \DescribeMacro{\js}{Code inside a |\js| macro is evaluated and replaced with its value.}
%    \begin{macrocode}
%<*classXimera>
\def\js#1{\mbox{\texttt{\detokenize{#1}}}}
%</classXimera>
%    \end{macrocode}

%    \begin{macrocode}
%<*htXimera>
\def\js#1{\stepcounter{identification}\HCode{<span class="inline-javascript" id="javascript\arabic{identification}"><script type="text/javascript"> function javascript\arabic{identification}() }\{\HCode{ return \detokenize{#1}; }\}\HCode{</script></span>}}
%</htXimera>
%    \end{macrocode}