diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/ocgx/demo-ocgx.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/ocgx/demo-ocgx.tex | 377 |
1 files changed, 377 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/ocgx/demo-ocgx.tex b/Master/texmf-dist/source/latex/ocgx/demo-ocgx.tex new file mode 100644 index 00000000000..0d82850d3b7 --- /dev/null +++ b/Master/texmf-dist/source/latex/ocgx/demo-ocgx.tex @@ -0,0 +1,377 @@ +% Copyright (C) 2012 by Paul Gaborit +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Public License. + +\documentclass[11pt,hyperref={colorlinks=false,runcolor=blue}]{beamer} +%\usetheme{Warsaw} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage{tikz} +\usetikzlibrary{backgrounds,fit,calc,shadows,chains,ocgx} +\usepgflibrary{shapes.geometric} +\usepackage{microtype} +\usepackage{url} +\usepackage{fancyvrb} +\usepackage{listings} +\lstdefinestyle{TeXcode}{ + fancyvrb=true, + language=[LaTeX]TeX, + basicstyle=\scriptsize\ttfamily, + keywordstyle=\color{blue}\bfseries, + commentstyle=\color{red!50!black}\itshape, + stringstyle=\ttfamily\color{green!50!black}, + showspaces=false, + showstringspaces=false, + backgroundcolor=\color{white}, + fontadjust=true, + aboveskip=1ex, + belowskip=1ex, + emphstyle=\color{blue}\bfseries, + keepspaces=true, + flexiblecolumns=true, + emph={switchocg,showocg,hideocg,actionsocg,usetikzlibrary} +} +\newcommand\TkzTileWallPaper[3]{ + \pgfmathtruncatemacro{\nx}{\paperwidth/#1} + \foreach \dx in {0,...,\nx}{ + \pgfmathtruncatemacro{\ny}{\paperheight/#2} + \foreach \dy in {0,...,\ny}{ + \node[anchor=south west,inner sep=0pt] + at ([xshift=#1 * \dx,yshift=#2 * \dy]current page.south west) + {\includegraphics[width=#1,height=#2]{#3}}; + } + } +} + +\setbeamersize{text margin left=3mm,text margin right=3mm} + +\newcommand\latex{{\rmfamily\LaTeX}} + +\newcommand{\TikZ}{Ti\emph{k}Z} + +\begin{document} +\begin{frame}[fragile] + \frametitle{\latex{}, OCG \& \TikZ{} (without JavaScript): \texttt{ocgx} package} + \framesubtitle{by Paul \textsc{Gaborit} wiht help of Paul + \textsc{Isambert}} + + \begin{alertblock}{PDF readers} + To fully enjoy this demonstration, use \emph{Adobe Reader}, + \emph{Foxit Reader} or \emph{evince}! + \end{alertblock} + + \begin{columns} + + \column{.6\linewidth} + + \begin{block}{Simple example: code} + \begin{lstlisting}[style=TeXcode] +\begin{ocg}{My first OCG}{refmyfirstocg}{1} + Some content... +\end{ocg} + +\switchocg{refmyfirstocg}% +{\textcolor{red}{Click me!}} +\end{lstlisting} + \end{block} + + \column{.4\linewidth} + + \begin{block}{Simple example: result} + + \begin{ocg}{My first OCG}{refmyfirstocg}{1} + Some content... + \end{ocg} + + \switchocg{refmyfirstocg}% + {\textcolor{red}{Click me!}} + + \end{block} + \end{columns} + +\end{frame} + +\begin{frame} + \frametitle{First example with Ti\emph{k}Z} + + {\centering + \begin{tikzpicture}[font=\small] + \begin{scope}[ocg={ref=toto,status=visible,name=ok}] + \fill[orange] circle(10pt); + \node[draw,rounded corners,hide ocg=toto] at (0,-1) {Hide}; + \node[draw,rounded corners,switch ocg=toto] at (2,-1) {Switch}; + \end{scope} + \node[show ocg=toto,text=red] at (0,-2) {Show}; + \end{tikzpicture}\par} + + \begin{itemize} + \item \switchocg{toto}{\Large \textcolor{red}{A very long phrase to + show that a link can be on multiple lines\ldots}\par\textcolor{red}{And with two + paragraphs!}} + \item The ``Switch'' button is \textbf{always} useable! + \end{itemize} +\end{frame} + +\tikzset{% + button on/.style={% + draw,circle,drop shadow, + line width=1pt, + fill=lime!50, + switch ocg with mark on={#1}{}, + }, +} +\begin{frame} + \frametitle{An ordered stack} + + \centering + \begin{tikzpicture} + \foreach \col[count=\c] in {red,orange,yellow,lime,cyan,blue,violet}{ + \pgfmathtruncatemacro{\num}{mod(\c+1,2)+1} + \pgfmathsetmacro{\rad}{8-\c} + \begin{scope}[xshift=-.3*\c cm,ocg={name=s\num,ref=s\num}] + \node[ellipse,draw,line width=1pt, + minimum width=1.1*\rad cm,minimum height=.9*\rad cm, + fill=\col!70,drop shadow={fill=black}](t){}; + \node[left=3pt of t.east,fill=white, + fill opacity=.5,text opacity=1,circle,inner sep=0pt]{S\num}; + \end{scope} + } + \end{tikzpicture} + + \begin{tikzpicture} + \node[button on=s1](but){}; + \node[right=0 of but]{Switch S1}; + \node[below=3pt of but,button on=s2](but){}; + \node[right=0 of but]{Switch S2}; + \end{tikzpicture} + +\end{frame} + +\begin{frame} + \frametitle{RGB and CMY color models with \texttt{xcolor}} + + \def\mylist{red/0,yellow/60,green/120,cyan/180,blue/240,magenta/300} + \centering\begin{tikzpicture}[line width=1pt] + \begin{scope} + \node at (90:25mm) {RGB color}; + \foreach \col/\angle in \mylist { + \colorlet{rgb \col}[rgb]{\col} + \draw (\angle:5mm) circle [radius=10mm]; + \begin{scope}[on background layer] + \begin{scope}[ocg={ref=RGB\col,name=RGB \col}] + \fill[fill=rgb \col,fill opacity=.5] + (\angle:5mm) circle [radius=10mm]; + \end{scope} + \end{scope} + + \node[rounded corners=1mm,draw,line width=1pt, + minimum size=3mm,fill=rgb \col,fill opacity=.5, + drop shadow, + inner sep=0,inner xsep=0, + switch ocg with mark on={RGB\col}{}] + at (\angle:20mm){}; + } + \end{scope} + \begin{scope}[xshift=70mm] + \node at (90:25mm) {CMY color}; + \foreach \col/\angle in \mylist { + \colorlet{cmy \col}[cmyk]{\col} + \draw (\angle:5mm) circle [radius=10mm]; + \begin{scope}[on background layer] + \begin{scope}[ocg={ref=CMY\col,name=CMY \col}] + \fill[fill=cmy \col,fill opacity=.5] + (\angle:5mm) circle [radius=10mm]; + \end{scope} + \end{scope} + + \node[rounded corners=1mm,draw,line width=1pt, + minimum size=3mm,fill=cmy \col,fill opacity=.5, + drop shadow,inner sep=0,outer sep=0, + switch ocg with mark on={CMY\col}{}] + at (\angle:20mm){}; + } + \end{scope} + + \begin{scope}% + [xshift=35mm,start chain=going below,node distance=.5mm,font=\tiny] + \node[on chain] at (0,20mm) {Toogle groups}; + \node% + [on chain,draw,rounded corners=1mm,fill=white,drop shadow, + minimum size=3mm,inner sep=1mm, + switch ocg={RGBred RGBblue RGBgreen CMYred CMYblue CMYgreen}, + ] + {red, green, blue}; + \node% + [on chain,draw,rounded corners=1mm,fill=white,drop shadow, + minimum size=3mm,inner sep=1mm, + switch ocg={RGByellow RGBcyan RGBmagenta CMYyellow CMYcyan CMYmagenta}, + ] + {cyan, magenta, yellow}; + + \node[on chain] {Show groups}; + \node% + [on chain,draw,rounded corners=1mm,fill=white,drop shadow, + minimum size=3mm,inner sep=1mm, + show ocg={RGBred RGBblue RGBgreen CMYred CMYblue CMYgreen}, + ] + {red, green, blue}; + \node% + [on chain,draw,rounded corners=1mm,fill=white,drop shadow, + minimum size=3mm,inner sep=1mm, + show ocg={RGByellow RGBcyan RGBmagenta CMYyellow CMYcyan CMYmagenta}, + ] + {cyan, magenta, yellow}; + + \node[on chain] {Hide groups}; + \node% + [on chain,draw,rounded corners=1mm,fill=white,drop shadow, + minimum size=3mm,inner sep=1mm, + hide ocg={RGBred RGBblue RGBgreen CMYred CMYblue CMYgreen}, + ] + {red, green, blue}; + \node% + [on chain,draw,rounded corners=1mm,fill=white,drop shadow, + minimum size=3mm,inner sep=1mm, + hide ocg={RGByellow RGBcyan RGBmagenta CMYyellow CMYcyan CMYmagenta}, + ] + {cyan, magenta, yellow}; + \end{scope} + + \end{tikzpicture}\par + +\end{frame} + +\foreach \name/\link/\ltxlink/\tiles in {% + The Big Show/% + {http://designfestival.com/the-cicada-principle-and-why-it-matters-to-web-designers/}/% + {http://latex-community.org/know-how/433-tiled-backgrounds}/% + {% + curtain1/32.7pt/\paperheight,% + curtain2/90pt/\paperheight,% + curtain3/210.9pt/\paperheight% + },% + Mosaic/% + {http://designfestival.com/cicada/break-it-down/?id=95}/% + {http://latex-community.org/know-how/433-tiled-backgrounds}/% + {% + mosaic1/30pt/30pt,% + mosaic2/70pt/70pt,% + mosaic3/110pt/110pt,% + mosaic4/110pt/110pt% + }% +}{ + \begin{frame} + \begin{tikzpicture}[remember picture,overlay] + \foreach \pictname/\wid/\hei in \tiles { + \begin{scope}[ocg={name=\pictname,ref=\pictname}] + \TkzTileWallPaper{\wid}{\hei}{\pictname} + \end{scope} + } + + \end{tikzpicture} + + \centering\begin{tikzpicture}[start chain=going below,node distance=1em] + \node[fill=white,fill opacity=.75,align=center, + text=black,font=\tiny\bfseries,text opacity=1, + on chain, + rounded corners=2mm] + {{\huge\name}\\\url{\link}\\(\latex{} \url{\ltxlink})}; + + \foreach \pictname/\wid/\hei in \tiles { + + \node[on chain,text=white,fill=black,fill opacity=.5,text opacity=1, + text width=3cm,align=center,font=\bfseries] + (a) {\hspace{5mm}\pictname}; + + \node[rounded corners=1mm,draw,line width=1pt,% + minimum size=3mm,top color=white,bottom color=black, + fill opacity=.5, + drop shadow={fill=black}, + switch ocg with mark on={\pictname}{}] + at ([xshift=3mm,yshift=.5mm]a.west) {}; + + } + \end{tikzpicture}\par + \end{frame} +} + +\begin{frame} + \frametitle{Microtype demo} + + \def\sampletext{% + Margin kerning is the adjustments of the characters at the + margins of a typeset text. A simplified employment of margin + kerning is hanging punctuation. Margin kerning is needed for + optical alignment of the margins of a typeset text, because + mechanical justification of the margins makes them look rather + ragged. Some characters can make a line appear shorter to the + human eye than others. Shifting such characters by an + appropriate amount into the margins would greatly improve the + appearance of a typeset text.% + } + + \tikzset{ + checkbox/.style={ + draw,circle,line width=.5pt,% + minimum size=.5em,top color=white,bottom color=cyan, + fill opacity=1, + inner sep=0, + drop shadow={fill=black,shadow xshift=.5mm,shadow yshift=-.5mm}, + }, + sampletext/.style={ + text width=8cm,align=justify, + font=\small, + fill=yellow!20, + inner xsep=1.5cm, + inner ysep=1cm, + draw=gray, + }, + } + + {\centering + \begin{tikzpicture} + \begin{scope}[ocg={name=With Protrusion,ref=protrusion}] + \microtypesetup{protrusion=true}% + \begin{scope}[ocg={name=With Expansion,ref=expansion}] + \microtypesetup{expansion=true}% + \node[sampletext]{\sampletext\par};% + \end{scope} + + \begin{scope}[ocg={name=Without Expansion,status=invisible,ref=no-expansion}] + \microtypesetup{expansion=false}% + \node[sampletext]{\sampletext\par};% + \end{scope} + \end{scope} + + \begin{scope}[ocg={name=Without Protrusion,status=invisible,ref=no-protrusion}] + \microtypesetup{protrusion=false}% + \begin{scope}[ocg={name=With Expansion,ref=expansion}] + \microtypesetup{expansion=true}% + \node[sampletext]{\sampletext\par};% + \end{scope} + + \begin{scope}[ocg={name=Without Expansion,status=invisible,ref=no-expansion}] + \microtypesetup{expansion=false}% + \node[sampletext]{\sampletext\par};% + \end{scope} + \end{scope} + \end{tikzpicture}\par + } + + Microtype : + \begin{tikzpicture} + \node[checkbox,switch ocg with mark on={protrusion}{no-protrusion}]{}; + \end{tikzpicture} with protrusion + \begin{tikzpicture} + \node[checkbox,switch ocg with mark on={expansion}{no-expansion}]{}; + \end{tikzpicture} with expansion + +\end{frame} +\end{document} +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: |