\usepackage[metapost]{mfpic} \opengraphsfile{mfpic-picture} \usepackage{amsmath} \usepackage{helvet} \let\rmdefault\sfdefault \usepackage{wrapfig} \definecolor{darkgreen}{rgb}{0,0.5,0} % new page which works in beamer class only \def\beamernewpage{\ifx \usetheme \undefined \relax \else \newpage\fi} % background for web.sty package \ifx \ifweb@navibar \undefined \relax \else \definecolor{lightgray}{rgb}{0.9,0.9,0.9} \newbox\backgroundbox \newbox\backgroundboxa \setbox\backgroundboxa=\hbox{\rotatebox{20}{{\color{lightgray}\Large ocgtools\color{black}}}} \newbox\backgroundboxb \setbox\backgroundboxb=\hbox to \paperwidth{\xleaders\copy\backgroundboxa\hfill} \newbox\backgroundboxc \setbox\backgroundboxc=\vbox to \paperheight{\xleaders\copy\backgroundboxb\vfill} \makeatletter \def\ocgtools@shipoutstart@hook{\hbox to 0 pt{% \kern -1in \vbox to 0 pt{\vss\copy\backgroundboxc} \hss}} \makeatother \fi \begin{document} \sloppy \fboxsep=4pt \title{Ocgtools demo} \author{Robert Ma\v{r}\'{i}k} \maketitle \def\maxwell{ \nabla \cdot D&= \rho \\ \nabla \cdot B&=0 \\ \nabla \times E&=- \frac{\partial B}{\partial t}\\ \nabla \times H&=J+ \frac{\partial D}{\partial t}} \tableofcontents \beamernewpage \makeatletter\ifx\PDFSCR@Info\undefined\relax\else\newpage\fi\makeatother \section{Introduction} \vbox to 0 pt{\noindent\hbox{\ocgpicture[width=3cm]{book.jpg}} \vss} \definecolor{mywhite}{rgb}{0.3,0.3,0.6} \hangindent=3.5cm \hangafter -5 \noindent This is test file for \texttt{ocgtools} package. You can (using \texttt{pdflatex}) insert hidden \TeX{} material into PDF files and open/close by clicking active links. The active links in this document are pictures (like the picture in this paragraph) or blue text. There are two kinds of behavior \begin{itemize} \item OCG spans over allmost whole PDF pages (with black or transparent boundary) and can be hidden by clicikng anywhere in the page -- \makeatletter \ocgtext[0pt,bg=red,fg=yellow]{Try it here!}{Click \ifocg@hide@button anywhere \else red cross \fi to close.} \makeatother \item OCG is small and can be hidden either with the same link which opens this text or with red mark on the right top corner -- \ocgminitext[4cm, bg=red]{Try it here!}{Click the same link or the red mark to close.} \end{itemize} \beamernewpage Note that the pictures may look darker in Adobe Reader on Linux if you use package option \texttt{transparent} (means transparent boundary of the OCG's, used for example in demos for Beamer class and \verb|pdfscreen.sty| package). For comparison you can look at the original picture \href{http://math.mendelu.cz/en/analyza?lang=en}{here}) or at the demos which use \verb|web.sty| package. \ocgtext[5cm,fg=red]{PDF viewer}{More preciselly, Adobe Reader. \par \bigskip It is well known program. You can install it on both Linux and Windows.} uses another rendering when trasparency is called and this seems to be system dependent. So be carefull when combining \ocgminitext[3cm,bg=lightgray,fg=darkgreen]{\texttt{transparent}}{\rightskip 0 pt plus 1 fill This comment is in \texttt{vbox} with specified width and may contain new paragraphs. It is rather long and placed on the top of the page. Hence \textit{it is shifted a bit to fit the area on the screen}. However, if the papersize is small (like for Beamer test files), the bottom part remains invisible for reader. \smallskip 2-nd paragraph. \smallskip 3-rd paragraph. This is the last paragraph.} option and bitmap pictures. \definecolor{green}{rgb}{0.5,1,0.5} \begin{minipage}[c]{0.4\linewidth} \ocgtext[4cm]{\begin{align}\label{eq:maxwell}\maxwell \end{align} }{\colorbox{green}{\kern-2\fboxsep\hbox to \hsize{\hss Maxwell equations\hss}}$$\begin{aligned} \maxwell \end{aligned}$$} \end{minipage}\hskip 0 pt plus 1 filll \begin{minipage}[c]{0.2\linewidth} \ocgpicture[width=\linewidth]{tall.jpg} \end{minipage}\hskip 0 pt plus 1 filll \begin{minipage}{0.3\linewidth} Here we test \ocgminitextlt[bg=black,fg=yellow]{ocg's}{{\color{red}O}ptional {\color{red}C}ontents {\color{red}G}roup} which are inside group (Maxwell's equation in minipage) and which are taller than wide (little golf player). \end{minipage} \newpage \section{Options of the package} { \begin{wrapfigure}[5]{r}{4cm} \ocgpicture[width=4cm]{wide.jpg} \end{wrapfigure} \def\defaultocgpapercolor{black}\def\defaultocgfontcolor{green} This is some \ocgtext{random text}{anmf asdfh akdfjha adfjh akjdfh } to see that \ocgminitextlb{\texttt{wrapfig}}{Wrapfig is a package for \LaTeX.} works and wide pictures are scaled properly. Several options are available for the package \verb|ocgtools|: \ocgminitext[6cm]{transparent}{\texttt{beamer} and \texttt{pdfscreen} demo files are compiled with \texttt{transparent} option -- the black boundary of big layers is opaque.}, \ocgminitext[6cm]{insertvisible}{The file \texttt{ocgtools-example-web.tex} is compiled with \texttt{insertvisible} option. The layers are inserted as visible layers and are turned to invisible when the PDF file is opened.}, \ocgminitext[8cm]{nobutton}{Normally the pages with active layers have a transparent button which can be used to hide this layer. The user simply clicks anywhere and the layers become hidden. In some viewers (like Foxit Reader) the button is not 100\% transparent. This option allows not to include the big button to hide layers. The layers can be closed by clicking the red cross below. Demo files based on \texttt{pdfscreen} are compiled with this option. Use this option to make the document accessible to Foxit Reader users.}, \ocgminitext{noocg}{All OCG's are ignored}, \ocgminitext{inactive}{The same as \texttt{noocg}}, \ocgminitext{active}{OCG's are inserted, overrides \texttt{inactive} and \texttt{noocg}}, \ocgminitext[6cm]{noprogressmsg}{No messagae about processing OCG's at the first page when document is opened.}, \ocgminitext[8cm]{minimouseover}{\texttt{web} and \texttt{beamer} demo files are compiled with \texttt{minimouseover} option. You can open the minilayer by mouseover action in the area which is in the form of invisible square 8pt$\times$8pt placed at the bottom right corner of the referrence text.}, \ocgminitext[8cm]{mouseover}{The same as \texttt{minimouseover}, but works also for big layers. No demo file is compiled with this option.}, \ocgminitext[8cm]{nopageclose}{By default, layers and buttons for hiding them are turned into hidden when entering a page. This option turns this behavior off. Demo files based on \texttt{pdfscreen} are compiled with this option.} (each option has an associated minilayer with an explanation). Examples distributed with the package are in the form of demo files based on three packages (\verb|beamer|, \verb|web|, \verb|pdfscreen|). Each example has three variants with no panel, with panel on the right and on the left and each example is compiled with different options. The current document is compiled with the following options: {\bfseries \makeatletter \if@ocgtools@transparent transparent, \fi \if@ocgtools@insertvisible insertvisible, \fi \ifocg@hide@button \relax \else nobutton, \fi \ifx \ocgtools@progressmsg\relax noprogressmsg, \fi \if@ocgtools@mouseover mouseover,\fi \if@ocgtools@minimouseover minimouseover,\fi \if@ocgtools@pageclose\else nopageclose,\fi \makeatother } Note that we used \verb|\def\defaultocgpapercolor{black}| and \verb|\def\defaultocgfontcolor{green}| on this page. } \newpage \section{A taste of mathematics} \def\a{\begin{mfpic}[80][40]{-0.1}{2}{-0.1}{2.8} \gfill[green]\btwnfcn{0,1.5,0.1}{1+(x-1.2)**2}{0} \axes \xmarks{1.5} \tlabelsep{4pt} \tlabel[tc](0,0){$a$} \tlabel[tc](1.5,0){$b$} \pen{1pt} \function{0,1.5,0.1}{1+(x-1.2)**2} \end{mfpic}} \begin{figure} \centering \ocgtext{\a}{\a} \caption{Floating figure} \label{fig:figure} \end{figure} Mfpic pictures can be scaled easily (see the floating figure). \beamernewpage We can add explanation to some computations easily (Note the text \verb|Why?| inserted automatically by redefining macro \verb|\ocgtextend|). {\def\ocgtextend{\raise0.75\baselineskip\hbox to 0 pt{\hss\tiny\color{red}Why?}\hss} \global\def\dx{\,\mathrm{d}x} \begin{eqnarray}\label{eq:label} \int\ln x\dx&\ocgminitext[4cm]={Integration by parts $$\int\ln x\dx=\int1\cdot\ln x \dx$$}&x\ln x-\int x\frac 1x\dx\\ &\ocgminitext={Formula $\int 1\dx=x$}&x\ln x - x +C \end{eqnarray} } \newpage \section{Few more tests} Package \verb|ocgtools.sty| redefines output routine via \verb|atbegshi.sty| package. From this reason it may be incompatible with some other packages dealing with output routine. However, the package \verb|eso-pic.sty| works fine. Test for placing OCG's: \hbox to \hsize{\hss\begin{minipage}{0.2\linewidth} \ocgminitextlb{lb}{This is optional OCG.} \ocgminitextrb{rb}{This is optional OCG.} \ocgminitextlt{lt}{This is optional OCG.} \ocgminitextrt{rt}{This is optional OCG.} \end{minipage} \hss\hss\hss \begin{minipage}{0.2\linewidth} \ocgminitextlb{lb}{This is optional OCG.} \ocgminitextrb{rb}{This is optional OCG.} \ocgminitextlt{lt}{This is optional OCG.} \ocgminitextrt{rt}{This is optional OCG.} \end{minipage} \hss } \ifx \MyPersonalMacro \undefined \else We inserted equation \eqref{eq:label} and Figure \ref{fig:figure} in this document. The reference to Maxwell equations \eqref{eq:maxwell} works only if compiled on Linux via \texttt{ocgtools-preview.sh} (called from \texttt{ocgtools-test.sh} automatically with correct parameter). \fi \label{page} \newpage \ocgminitextlb{New}{New} \ocgminitextrb{page}{page}. Second line \bigskip \ocgminitext{New}{New} \ocgminitext{page}{page}. Second line \newpage Plain page. \newpage \ocgminitextlb{Last}{Last} \ocgminitextrb{page}{page}. Second line on last page.