diff options
author | Karl Berry <karl@freefriends.org> | 2010-12-18 00:39:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-12-18 00:39:11 +0000 |
commit | 4a73b1d699271435818be5da6dafd30dfd77f8e4 (patch) | |
tree | 259babba8bd9c63550d24196ba2ab70686aac3f1 | |
parent | f51d0af7ed4d2b504e2bff7402ac9934879e842e (diff) |
fancytooltips 1.8 (18dec10)
git-svn-id: svn://tug.org/texlive/trunk@20781 c570f23f-e606-0410-a88d-b1316a301751
26 files changed, 1600 insertions, 227 deletions
diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview index f9386225dc2..7fa28f5f20e 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview @@ -3,12 +3,21 @@ FILENAME=$1 -COLOR="0.8,0.8,0.8" -PREVIEW="\PreviewEnvironment{definice} \PreviewEnvironment{veta} \PreviewEnvironment{definition} \PreviewEnvironment{figure} \PreviewEnvironment{theorem} \setlength\PreviewBorder{5pt}" +if [ "$COLOR" == "" ]; then + COLOR="0.8,0.8,0.8"; +fi -FBOXLENGTHS="\fboxrule=5pt\fboxsep=10pt" +if [ "$PREVIEW" == "" ]; then +PREVIEW="\PreviewEnvironment{definice} \PreviewEnvironment{veta} \PreviewEnvironment{Theorem} \PreviewEnvironment{definition} \PreviewEnvironment{figure} \PreviewEnvironment{theorem} \setlength\PreviewBorder{5pt}"; +fi -FANCYOPTIONS="mouseover,movetips" +if [ "$FBOXLENGTHS" == "" ]; then + FBOXLENGTHS="\fboxrule=5pt\fboxsep=10pt"; +fi + +if [ "$FANCYOPTIONS" == "" ]; then + FANCYOPTIONS="mouseover,movetips"; +fi echo "--------------------------" echo "------ pdflatex ----------" @@ -19,13 +28,13 @@ echo "------ pdflatex with preview.sty ----------" echo "-------------------------------------------" pdflatex "\AtBeginDocument{\usepackage[pdftex,active,tightpage,floats,displaymath]{preview} $PREVIEW \definecolor{backgroundcolor}{rgb}{$COLOR}\pagecolor{backgroundcolor}\definecolor{shadethmcolor}{rgb}{$COLOR} \definecolor{shaderulecolor}{rgb}{$COLOR}} \input $FILENAME.tex" -grep '\\newlabel{' $FILENAME.aux | sed 's/newlabel/maplabelstoall/g' > $FILENAME.tmp +grep '\\newlabel{' $FILENAME.aux > $FILENAME.tmp mv $FILENAME.pdf $FILENAME-tmp.pdf echo "----------------------------------------------" echo "------ pdflatex genearting tooltips ----------" echo "----------------------------------------------" -pdflatex "\documentclass{minimal}\usepackage[papersize={5in,5in},margin=1pt]{geometry}\usepackage[createtips]{fancytooltips}\usepackage{color,graphicx}\begin{document} $FBOXLENGTHS\relax \definecolor{backgroundcolor}{rgb}{$COLOR}\gdef\savemaplabels#1#2#3#4{\xdef\temp{#2}} \def\maplabelstoall#1#2{\savemaplabels#2 \setbox0=\hbox{\colorbox{backgroundcolor}{\includegraphics[page=\temp]{$FILENAME-tmp.pdf}}}\pdfpagewidth=\wd0 \pdfpageheight=\ht0 \advance \pdfpageheight by \dp0 \copy0 \keytip{#1}\newpage} \input $FILENAME.tmp\end{document}" +pdflatex "\documentclass{minimal}\usepackage[papersize={5in,5in},margin=1pt]{geometry}\usepackage[createtips]{fancytooltips}\usepackage{color,graphicx}\begin{document} $FBOXLENGTHS\relax \definecolor{backgroundcolor}{rgb}{$COLOR}\gdef\savemaplabels#1#2#3#4{\xdef\temp{#2}} \def\maplabelstoall#1#2{\savemaplabels#2 \setbox0=\hbox{\colorbox{backgroundcolor}{\includegraphics[page=\temp]{$FILENAME-tmp.pdf}}}\pdfpagewidth=\wd0 \pdfpageheight=\ht0 \advance \pdfpageheight by \dp0 \copy0 \keytip{#1}\newpage} \let\newlabel\maplabelstoall \input $FILENAME.tmp\end{document}" mv $FILENAME.tips minimal.tip echo "----------------------------------------------" @@ -44,4 +53,3 @@ echo "----------------------------------------------" echo "------ pdflatex final compilation 4 ----------" echo "----------------------------------------------" pdflatex "\PassOptionsToPackage{active,filename=minimal,$FANCYOPTIONS}{fancytooltips}\input $FILENAME.tex" - diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview-demo.pdf b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview-demo.pdf Binary files differindex 9f171c2dffd..66640eef218 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview-demo.pdf +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview-demo.pdf diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview-demo.tex b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview-demo.tex index 74489e6c986..f536293315e 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview-demo.tex +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancy-preview-demo.tex @@ -11,7 +11,7 @@ \usepackage{tikz} \PassOptionsToPackage{naturalnames}{hyperref} -\usepackage[inactive]{fancytooltips} +\usepackage[inactive,blur=0.6, fixcolor]{fancytooltips} \newtheorem{remark}{Remark} \def\dx{{\mathrm d}x} @@ -194,7 +194,7 @@ \section{Short howto} \begin{frame} \frametitle{How to create a presentation with pdf\LaTeX} - Creating tooltips is easy. Simply follow these steps. +% Creating tooltips is easy. Simply follow these steps. \begin{itemize} \item Create presentation with your favorit presentation package, such as @@ -211,16 +211,19 @@ \texttt{\textbackslash FancyHook} \end{quote} after \texttt{\textbackslash begin\{document\}}. - \item Use the script \texttt{fancy-preview} to compile the + \item In Linux use the script \texttt{fancy-preview} to compile the presentation again, i.e. if your file is filename.tex run \begin{quote}\upshape\color{darkgreen} \texttt{bash fancy-preview filename} \end{quote} - either in Linux terminal or inside - \href{http://www.mingw.org/wiki/MSYS}{\color{blue}MSYS} on - Windows. - \item You may want to customize the script \texttt{fancy-preview} - (colors, options for fancytooltips, etc.) + On Windows use (still experimental) + \begin{quote}\upshape\color{darkgreen} + \texttt{fancypreview.bat filename} + \end{quote} + \item You may want to customize the variables in the script + \texttt{fancy-preview} or batch file + \texttt{fancypreview.bat} (colors, options for fancytooltips, + etc.) \end{itemize} \end{frame} diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancypreview.bat b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancypreview.bat new file mode 100755 index 00000000000..fd28f80f10c --- /dev/null +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview/fancypreview.bat @@ -0,0 +1,46 @@ +@echo off + +set FILENAME=%1 + +set COLOR=0.8,0.8,0.8 +set PREVIEW=\PreviewEnvironment{definice} \PreviewEnvironment{veta} \PreviewEnvironment{definition} \PreviewEnvironment{figure} \PreviewEnvironment{theorem} + +set FBOXLENGTHS=\fboxrule=5pt\fboxsep=10pt + +set FANCYOPTIONS=mouseover,movetips + +echo "--------------------------" +echo "------ pdflatex ----------" +echo "--------------------------" +pdflatex %1.tex +echo "-------------------------------------------" +echo "------ pdflatex with preview.sty ----------" +echo "-------------------------------------------" +pdflatex "\AtBeginDocument{\usepackage[pdftex,active,tightpage,floats,displaymath]{preview} %PREVIEW% \definecolor{backgroundcolor}{rgb}{%COLOR%}\pagecolor{backgroundcolor}\definecolor{shadethmcolor}{rgb}{%COLOR%} \definecolor{shaderulecolor}{rgb}{%COLOR%}} \input %1.tex" + + +findstr /b "\newlabel" %1.aux > %1.tmp +copy %1.pdf %1-tmp.pdf + +echo "----------------------------------------------" +echo "------ pdflatex genearting tooltips ----------" +echo "----------------------------------------------" +pdflatex "\documentclass{minimal}\usepackage[papersize={5in,5in},margin=1pt]{geometry}\usepackage[createtips]{fancytooltips}\usepackage{color,graphicx}\begin{document} %FBOXLENGTHS%\relax \definecolor{backgroundcolor}{rgb}{%COLOR%}\gdef\savemaplabels#1#2#3#4{\xdef\temp{#2}} \def\maplabelstoall#1#2{\savemaplabels#2 \setbox0=\hbox{\colorbox{backgroundcolor}{\includegraphics[page=\temp]{%1-tmp.pdf}}}\pdfpagewidth=\wd0 \pdfpageheight=\ht0 \advance \pdfpageheight by \dp0 \copy0 \keytip{#1}\newpage} \let\newlabel\maplabelstoall \input %1.tmp\end{document}" + +echo "----------------------------------------------" +echo "------ pdflatex final compilation 1 ----------" +echo "----------------------------------------------" +pdflatex "\PassOptionsToPackage{active,filename=minimal,%FANCYOPTIONS%}{fancytooltips}\input %1.tex" +echo "----------------------------------------------" +echo "------ pdflatex final compilation 2 ----------" +echo "----------------------------------------------" +pdflatex "\PassOptionsToPackage{active,filename=minimal,%FANCYOPTIONS%}{fancytooltips}\input %1.tex" +echo "----------------------------------------------" +echo "------ pdflatex final compilation 3 ----------" +echo "----------------------------------------------" +pdflatex "\PassOptionsToPackage{active,filename=minimal,%FANCYOPTIONS%}{fancytooltips}\input %1.tex" +echo "----------------------------------------------" +echo "------ pdflatex final compilation 4 ----------" +echo "----------------------------------------------" +pdflatex "\PassOptionsToPackage{active,filename=minimal,%FANCYOPTIONS%}{fancytooltips}\input %1.tex" + diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/LDF.jpg b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/LDF.jpg Binary files differnew file mode 100644 index 00000000000..b0cb5963ba6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/LDF.jpg diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/README b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/README new file mode 100644 index 00000000000..467c7fd0fdc --- /dev/null +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/README @@ -0,0 +1,21 @@ +Run the script compile.sh to compile the presentation. + +You get the file slides.pdf with my talk from the conferrence +CDDE in Rajecke Teplice 2010. The file includes invisible buttons +which follow some links to numbered equations or theorem-like +environments. More preciselly: if the link points to an object which +is not present on the current page, then moving the cursor behind the +link opens the preview of the theorem or equation. Clicking the link +jumps to the page with this object, as usual. + +The important lines from slides.tex which are used to get this behavior are +\usepackage[inactive]{fancytooltips} before \begin{document} and +\FancyHook \def\TooltipRefmark{\hbox{\ \ }} \def\TooltipExtratext{\hbox{\ \ }} +after \begin{document}. + +You get also the file marik.pdf -- a version of the presentation which does +not have extra features, use as a solution if the main file with the +presentation behaves wrong on the PC which is used for presentation +(JavaScript capable browser is necessary). + + diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/complie.sh b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/complie.sh new file mode 100644 index 00000000000..ccb09e965d2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/complie.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# + +COLOR="1,1,0.5" + +pdflatex slides +pdflatex slides +cp slides.pdf marik.pdf + +source fancy-preview slides + + +#pdflatex "\AtBeginDocument{\usepackage{pdfpages}}\AtEndDocument{\includepdf[pages=1-12,nup=4x3, delta = 6 10]{a.pdf}}\PassOptionsToPackage{active,filename=minimal,$FANCYOPTIONS}{fancytooltips}\input $FILENAME.tex" + +pdflatex "\AtBeginDocument{\usepackage{pdfpages}}\AtEndDocument{\newpage \AddToShipoutPicture{\hbox to 0 pt{\hbox to \paperwidth{\color{mygreen}\vrule width \paperwidth height\paperheight}}}\null\bigskip\bigskip\lineskip 12 pt\parindent 0 pt \input multido.tex \multido{\i=1+1}{12}{\leavevmode\href{\jobname.pdf\#page.\i}{\fboxsep=0pt\colorbox{white}{\includegraphics[width=0.23\hsize,page=\i]{marik.pdf}}}\hfill\penalty 0}}\PassOptionsToPackage{active,filename=minimal,$FANCYOPTIONS}{fancytooltips}\input $FILENAME.tex" + +#cp slides.pdf marik-slides.pdf
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/fancy-preview b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/fancy-preview new file mode 100644 index 00000000000..7fa28f5f20e --- /dev/null +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/fancy-preview @@ -0,0 +1,55 @@ +#!/bin/bash +# + +FILENAME=$1 + +if [ "$COLOR" == "" ]; then + COLOR="0.8,0.8,0.8"; +fi + +if [ "$PREVIEW" == "" ]; then +PREVIEW="\PreviewEnvironment{definice} \PreviewEnvironment{veta} \PreviewEnvironment{Theorem} \PreviewEnvironment{definition} \PreviewEnvironment{figure} \PreviewEnvironment{theorem} \setlength\PreviewBorder{5pt}"; +fi + +if [ "$FBOXLENGTHS" == "" ]; then + FBOXLENGTHS="\fboxrule=5pt\fboxsep=10pt"; +fi + +if [ "$FANCYOPTIONS" == "" ]; then + FANCYOPTIONS="mouseover,movetips"; +fi + +echo "--------------------------" +echo "------ pdflatex ----------" +echo "--------------------------" +pdflatex $FILENAME.tex +echo "-------------------------------------------" +echo "------ pdflatex with preview.sty ----------" +echo "-------------------------------------------" +pdflatex "\AtBeginDocument{\usepackage[pdftex,active,tightpage,floats,displaymath]{preview} $PREVIEW \definecolor{backgroundcolor}{rgb}{$COLOR}\pagecolor{backgroundcolor}\definecolor{shadethmcolor}{rgb}{$COLOR} \definecolor{shaderulecolor}{rgb}{$COLOR}} \input $FILENAME.tex" + +grep '\\newlabel{' $FILENAME.aux > $FILENAME.tmp +mv $FILENAME.pdf $FILENAME-tmp.pdf + +echo "----------------------------------------------" +echo "------ pdflatex genearting tooltips ----------" +echo "----------------------------------------------" +pdflatex "\documentclass{minimal}\usepackage[papersize={5in,5in},margin=1pt]{geometry}\usepackage[createtips]{fancytooltips}\usepackage{color,graphicx}\begin{document} $FBOXLENGTHS\relax \definecolor{backgroundcolor}{rgb}{$COLOR}\gdef\savemaplabels#1#2#3#4{\xdef\temp{#2}} \def\maplabelstoall#1#2{\savemaplabels#2 \setbox0=\hbox{\colorbox{backgroundcolor}{\includegraphics[page=\temp]{$FILENAME-tmp.pdf}}}\pdfpagewidth=\wd0 \pdfpageheight=\ht0 \advance \pdfpageheight by \dp0 \copy0 \keytip{#1}\newpage} \let\newlabel\maplabelstoall \input $FILENAME.tmp\end{document}" +mv $FILENAME.tips minimal.tip + +echo "----------------------------------------------" +echo "------ pdflatex final compilation 1 ----------" +echo "----------------------------------------------" +pdflatex "\PassOptionsToPackage{active,filename=minimal,$FANCYOPTIONS}{fancytooltips}\input $FILENAME.tex" +echo "----------------------------------------------" +echo "------ pdflatex final compilation 2 ----------" +echo "----------------------------------------------" +pdflatex "\PassOptionsToPackage{active,filename=minimal,$FANCYOPTIONS}{fancytooltips}\input $FILENAME.tex" +echo "----------------------------------------------" +echo "------ pdflatex final compilation 3 ----------" +echo "----------------------------------------------" +pdflatex "\PassOptionsToPackage{active,filename=minimal,$FANCYOPTIONS}{fancytooltips}\input $FILENAME.tex" +echo "----------------------------------------------" +echo "------ pdflatex final compilation 4 ----------" +echo "----------------------------------------------" +pdflatex "\PassOptionsToPackage{active,filename=minimal,$FANCYOPTIONS}{fancytooltips}\input $FILENAME.tex" diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/marik.pdf b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/marik.pdf Binary files differnew file mode 100644 index 00000000000..68173ab4216 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/marik.pdf diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/slides.pdf b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/slides.pdf Binary files differnew file mode 100644 index 00000000000..00ee4fbf751 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/slides.pdf diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/slides.tex b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/slides.tex new file mode 100644 index 00000000000..1efe048f81c --- /dev/null +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancy-preview2/slides.tex @@ -0,0 +1,716 @@ +\documentclass{article} + +\let\rmdefault\sfdefault +\def\modra#1{{\color{blue}\bm{#1}}} +\def\cervena#1{{\color{red}\bm{#1}}} +\def\separuj{\par\smallskip\hrule\kern 0.5pt\hrule \smallskip} +\def\separujB{\par\hrule\kern 0.5pt\hrule} + +\newenvironment{block}{}{} +\usepackage{amsfonts,amsmath,amsthm,url,bm} +\usepackage{fancybox} +\usepackage{mathpazo} +\usepackage[latin2]{inputenc} +\usepackage[IL2]{fontenc} + +\makeatletter +\def\@shadowbox#1{% + \setbox\@fancybox\hbox{\fbox{\color{black}#1}}% + \leavevmode\vcenter{% + \offinterlineskip + \dimen@=\shadowsize + \advance\dimen@ .5\fboxrule + \hbox{\color{mygreen}\copy\@fancybox\kern-.5\fboxrule\lower\shadowsize\hbox{% + \vrule \@height\ht\@fancybox \@depth\dp\@fancybox \@width\dimen@}}% + \vskip-\dimen@ + \moveright\shadowsize\vbox{\color{mygreen}% + \hrule \@width\wd\@fancybox \@height\dimen@}}} + +\makeatother + +\newtheorem{theorem}{Theorem} +\newtheorem{corollary}{Corollary} +\newtheorem{lemma}{Lemma} +\newtheorem{Theorem}{Theorem} +\def\theTheorem{\Alph{Theorem}} +\theoremstyle{definition} +\newtheorem{definition}{Definition} +\newtheorem{remark}{Remark} + +\sloppy +\everymath{\displaystyle} +\usepackage[pdftex,nodirectory]{web} +\def\titlepageTrailer{} +\margins{.15in}{.15in}{12pt}{.15in} % left,right,top, bottom +\screensize{4.5in}{6in} % web.sty dimensions + +\parindent 0 pt + +\usepackage{mdwlist} +\usepackage{eso-pic} +\definecolor{mygreen}{RGB}{120,190,20} +\definecolor{mygreen}{RGB}{10,80,40} +\definecolor{webgreen}{RGB}{10,80,40} +\definecolor{seda}{gray}{0.31} +\definecolor{webgreen}{RGB}{120,190,20} +\AddToShipoutPicture{\hbox to 0 pt{\hbox to \paperwidth{\color{mygreen}\vrule +width 0.5em height\paperheight\color{black}%\hskip -0.5 em +\hskip 0 pt plus 1 fill +\raise 1 pt\hbox {\normalfont\tiny \color{gray}\textbf{CDDEA 2010, Rajecké Teplice} (\thepage/12)} +\hskip 0 pt plus 1 fill +\raise -2pt\hbox to 0 pt{\hss \includegraphics[width=1.2cm]{LDF.jpg}}}}}% + +\def\qed{} + +\def\lambdamin{\lambda_{\text{\rm{min}}}} +\def\lambdamax{\lambda_{\text{\rm{max}}}} + +\makeatletter\let\over\@@over\makeatother +\def\theenumi{\roman{enumi}} +\def\labelenumi{\textrm{\upshape{(\theenumi)}}} +\def\konst{\textrm{const}} +\def\div{\mathop{\hbox{\rm div}}} +\def\meas{\mathop{\hbox{\rm meas}}} +\def\sgn{\mathop{\hbox{\rm sgn}}} +\def\laplac{\Delta} +\def\R{\mathbb{R}} +\def\N{\mathbb{N}} +\def\dxi{\,\mathrm{d}\xi\,} +\def\dx{\,\mathrm{d}x\,} +\def\dS{\,\mathrm{d}\sigma\,} +\def\dt{\,\mathrm{d}t\,} +\def\dT{\,\mathrm{d}T\,} +\def\du{\,\mathrm{d}u\,} +\def\ds{\,\mathrm{d}s\,} +\def\dr{\,\mathrm{d}r\,} +\def\dphi{\,\mathrm{d}\phi\,} +\newcommand{\duxi}{\frac{\partial u}{\partial x_i}} +\newcommand{\derxi}{{\partial\over\partial x_i}} +\newcommand{\pnorm}[1]{\|#1\|_p } +\newcommand{\qnorm}[1]{\|#1\|_q } +\newcommand\diver{\mathop{\rm div}} +\let\hat\widehat +\let\tilde\widetilde +\let\~\tilde + +\let\phi\varphi + +\def\vyplnekA{\leaders\hrule height 0.8pt\hfill} +\def\vyplnekB{\leaders\hrule height 6 pt depth -5.2pt\hfill} +\def\nadpis#1\par{\medbreak \hbox to \hsize{{\color{mygreen}\vyplnekA\ {\textsc{#1}}\vyplnekB}}\par\medbreak} + + +%\def\vec#1{\boldsymbol{#1}} +\def\norm#1{\left\Vert#1\right\Vert} +\def\x{\norm{x}} +\def\w{\norm{\vec{w}}} +\def\a{{\alpha}} +\def\aa{{\alpha-1}} +\def\at{{a\leq\x\leq t}} +\def\o{\omega_n} +\def\O{\Omega} +\def\c{\cdot} +\def\const{\hbox{const}} +\def\eps{\varepsilon} +\let\epsilon\varepsilon +\interdisplaylinepenalty 50 +\setcounter{tocdepth}{1} + +\raggedbottom +\let\rmdefault\sfdefault + +\usepackage{graphicx} +\usepackage{multicol} + +\def\ss#1#2{\left\langle#1,#2\right\rangle} + + +\makeatletter +\renewcommand\maketitle +{% + \thispagestyle{empty}% + \null\bigskip\bigskip + \ifeqforpaper\vspace*{2\baselineskip}% + \else + \vbox to\titleauthorproportion\textheight\bgroup% + \fi + \noindent\makebox[\linewidth]{\parbox{\linewidth}% + {\bfseries\color{\webuniversity@color}\ifeqforpaper\large\fi + \centering\webuniversity}}\par\ifeqforpaper\else\minimumskip\fi + \vspace{\stretch{1}}% + \noindent\makebox[\linewidth]{% + \parbox{\hproportionwebtitle\linewidth}% + {\bfseries\color{\webtitle@color}\ifeqforpaper\Large\else + \large\fi\centering\webtitle}}\par\ifeqforpaper + \vspace{2\baselineskip}\else\minimumskip\vspace{\stretch{1}}\fi + \noindent\makebox[\linewidth]{% + \parbox{\hproportionwebauthor\linewidth}% + {\bfseries\color{\webauthor@color}\ifeqforpaper + \large\fi\centering\webauthor}} + \ifeqforpaper\else + \egroup % end of \vbox for title and author + \fi\bigskip + \optionalpagematter + \par\vspace{\stretch{1}} + \ifx\web@directory@option y\webdirectory\fi + \par\ifeqforpaper\else\minimumskip\fi\vspace{\stretch{1}} + \vfill\noindent\begingroup + \trailerFontSize\titlepageTrailer\par\endgroup + \newpage +} + +\makeatother + + +\pagestyle{empty}% +\usepackage[inactive]{fancytooltips} + + +\begin{document} + +\FancyHook +\def\TooltipRefmark{\hbox{\ \ }} +\def\TooltipExtratext{\hbox{\ \ }} + + + \title{Conjugacy criteria for half-linear ODE \\in theory of PDE\\ with + generalized $p$-Laplacian\\ and mixed powers\\[15pt]} + +\author{Robert Ma\v r\'\i k\\[6mm]Dpt. of Mathematics\\ Mendel University\\Brno, CZ + } + +\date{} + +\maketitle + +\begin{equation} + \shadowbox{$\begin{aligned} + \div\left(A(x)\norm{\nabla y}^{p-2}\nabla y\right)&+ \ss{\vec + b(x)}{\norm{\nabla y}^{p-2}\nabla y}\\&+ + c(x)|y|^{p-2}y+\sum_{i=1}^m c_i(x)|y|^{p_i-2}y=e(x), + \end{aligned}$} +\tag{E} +\end{equation} +\begin{itemize} +\item $x=(x_1,\ldots,x_n)_{i=1}^n\in\R^n$, $p>1$, $p_i>1$, +\item $A(x)$ is elliptic $n\times n$ matrix with differentiable + components, $c(x)$ and $c_i(x)$ are H\"older continuous functions, + $\vec b(x)=\bigl(b_1(x),\ldots,b_n(x)\bigr)$ is continuous + $n$-vector function, +\item $\nabla=\left({\partial \over\partial + x_1},\ldots,{\partial \over\partial + x_n}\right)_{i=1}^n$ and $\div={\partial \over\partial + x_1}+\cdots+{\partial \over\partial + x_n}$ is are the usual nabla and divergence operators, +\item $q$ is a conjugate + number to the number $p$, i.e., $q=\frac p{p-1}$, +\item $\ss{\cdot}{\cdot}$ is the usual scalar product in $\R^n$, + $\Vert{\cdot}\Vert$ is the usual norm in $\R^n$, $\Vert A\Vert + =\sup\left\{\Vert Ax\Vert: x\in \R^n \text{ with } \Vert x\Vert + =1\right\}=\lambdamax$ is the spectral norm +\item \textbf{solution} of \eqref{eq:E} in $\Omega\subseteq \R^n$ is a +differentiable function $u(x)$ such that $A(x)\Vert\nabla +u(x)\Vert^{p-2}\nabla u(x)$ is also differentiable and $u$ satisfies +\eqref{eq:E} in $\Omega$ +\item $ S(a)=\{x\in\R^n: \Vert x\Vert =a\}$, \\$ + \Omega(a)=\{x\in\R^n:a\leq \Vert x\Vert \}$, \\$ + \Omega(a,b)=\{x\in\R^n:a\leq\Vert x\Vert \leq b\}$ +\end{itemize} + +\newpage + +% \begin{equation} +% {\shadowbox{$\div\Bigl(A(x)\Vert\nabla u\Vert^{p-2}\nabla u\Bigr) + \ss{\vec b(x)}{\Vert\nabla u\Vert^{p-2}\nabla u}+c(x)|u|^{p-2}u=0$}} \tag{E} +% \end{equation} + +\nadpis {Concept of oscillation for ODE} + +\begin{equation} + u''+c(x)u=0 \label{eq1} +\end{equation} + +\begin{itemize} +\item Equation \eqref{eq1} is oscillatory if each solution has + infinitely many zeros in $[x_0,\infty)$. +\item Equation \eqref{eq1} is oscillatory if each solution has a zero $[a,\infty)$ + for each $a$. +\item Equation \eqref{eq1} is oscillatory if each solution has + conjugate points on the interval $[a,\infty)$ for each $a$. +\item All definition are equivalent (no accumulation of zeros and + Sturm separation theorem). +\item Equation is oscillatory if $c(x)$ is large enough. Many + oscillation criteria are expressed in terms of the integral + $\int^\infty c(x)\dx$ (Hille and Nehari type) +\item There are oscillation criteria which can detect oscillation even + if $\int^\infty c(x)\dx$ is extremly small. These criteria are in + fact series of conjugacy criteria. +\end{itemize} + +\newpage +\nadpis Equation with mixed powers + +\begin{equation} + \label{eq:Sun} + (p(t)u')'+c(t)u+\sum_{i=1}^m c_i(t)|u|^{\alpha _i}\sgn u=e(t) +\end{equation} +where $\alpha_1>\cdots >\alpha_m>1>\alpha_{m+1}>\cdots>\alpha_n>0$. +\begin{Theorem}[Sun,Wong (2007)] +\label{theorem:sun_wong} + If for any $T\geq 0$ there exists $a_1$, $b_1$, $a_2$, $b_2$ such + that $T\leq a_1<b_1\leq a_2<b_2$ and + \begin{equation*} + \begin{cases} + c_i(t)\geq 0& t\in[a_1,b_1]\cup[a_2,b_2],\ i=1,2,\dots,n\\ + e(x)\leq 0& t\in[a_1,b_1]\\ + e(x)\geq 0& t\in[a_2,b_2] + \end{cases} + \end{equation*} + and there exists a continuously differentiable function $u(t)$ + satisfying $u(a_i)=u(b_i)=0$, $u(t)\neq 0$ on $(a_i,b_i)$ and + \begin{equation}\label{eq:SW} + \int_{a_i}^{b_i}\left\{p(t)u'^2(t)-Q(t)u^2(t)\right\}\dt\leq 0 + \end{equation} + for $i=1,2$, where + \begin{equation*} + Q(t)=k_0|e(t)|^{\eta_0}\prod_{i=1}^m\Bigl(c_i^{\eta_i}(t)\Bigr)+c(t), + \end{equation*} + $k_0=\prod_{i=0}^m\eta_i^{-\eta_i}$ and $\eta_i$, $i=0,\dots,n$ are + positive constants satisfying +% \begin{equation*} +$ \sum_{i=1}^m\alpha_i\eta_i=1\quad\text{and}\quad \sum_{i=0}^m\eta_i=1$, +% \end{equation*} + then all solutions of \eqref{eq:Sun} are oscillatory. +\end{Theorem} + + + +\newpage +\nadpis {Concept of oscillation for linear PDE} + +\begin{equation} + \Delta u+c(x)u=0 \label{eq2} +\end{equation} + +\begin{itemize} +\item Equation \eqref{eq2} is \textit{oscillatory} if every solution + has a zero on $\{x\in\R^n: \norm x\geq a\}$ for each $a$. +\item Equation \eqref{eq2} is \textit{nodally oscillatory} if every + solution has a nodal domain on $\{x\in\R^n: \norm x\geq a\}$ for + each $a$. +\item Both definition are equivalent (Moss+Piepenbrink). +\end{itemize} + + +\nadpis {Concept of oscillation for half-linear PDE} + +\begin{equation} + \div\Bigl(\norm{\nabla u}^{p-2}\nabla u\Bigr)+c(x)|u|^{p-2}u=0 \label{eq3} +\end{equation} + +\begin{itemize} +\item Essentialy the same approach to oscillation as in linear case +\item The equivalence between two oscillations is open problem. +\end{itemize} + + +% \newpage +% \nadpis Riccati substituion + +% If $u$ is a positive solution of the equation +% \begin{equation}\label{eq:linODE} +% u''+c(x)u=0, +% \end{equation} then the function +% $w=\frac{u'}{u}$ is a solution of the Riccati type differential equation +% \begin{equation} +% w'+c(x)+|w|^2=0.\label{eq:riceq} +% \end{equation} + + +% \textbf{Remark:} In fact +% \begin{equation} +% w'+c(x)+|w|^2\leq 0\label{eq:RICineq} +% \end{equation} +% is sufficient in proofs of nonexistence of positive (nonoscillatory) +% solution \eqref{eq:linODE}, since solvability of \eqref{eq:RICineq} +% implies solvability of \eqref{eq:riceq}. + + +% \nadpis Transforming ODE result (nonexistence of positive solution) +% into PDE + +% \null + +% \vskip -3\baselineskip + +% \null + +% % The method used to prove most of oscillation criteria for half-linear PDE +% \begin{enumerate*} +% \item Suppose by contradiction that the PDE possesses positive +% (eventually positive) solution. +% \item Using transformation +% % \begin{equation*} +% $ \vec w(x)= +% \frac{\Vert \nabla u(x)\Vert ^{p-2}\nabla u(x)}{|u(x)|^{p-2}u(x)} +% $ +% % \end{equation*} +% convert positive solutions of +% \begin{equation*} +% \div\Bigl(\Vert\nabla u\Vert^{p-2}\nabla u\Bigr)+c(x)|u|^{p-2}u=0 +% \end{equation*} +% into +% \begin{equation}\label{5RIC} +% \div \vec w+c(x) +(p-1)\ss{\vec w}{\frac{\nabla u(x)}{u(x)}}=0. +% \end{equation} +% \item Integrating \eqref{5RIC} over spheres and using standard tools +% derive a Riccati type inequality of the form \eqref{eq:RICineq} and +% proceed as in the ODE case. +% \end{enumerate*} + +\newpage + +\null +\kern-2\baselineskip + +\begin{equation} + \shadowbox{$\begin{aligned} + \div\left(A(x)\norm{\nabla y}^{p-2}\nabla y\right)&+ \ss{\vec + b(x)}{\norm{\nabla y}^{p-2}\nabla y}\\&+ + c(x)|y|^{p-2}y+\sum_{i=1}^m c_i(x)|y|^{p_i-2}y=e(x), + \end{aligned}$} +\tag{E} +\end{equation} + +\nadpis Detection of oscillation from ODE + +% Oscillation of partial differential equation can be detected from +% oscillation of ordinary differential equation. +\begin{Theorem}[O. Do\v sl\'y (2001)] \label{rad} +% Let +% \begin{align*} +% % \~a(r)={1\over \omega_nr^{n-1}}\int_{S(r)}a(x)\dS\\ +% \hat c(r)={1\over \omega_nr^{n-1}}\int_{S(r)}c(x)\dS. +% \end{align*} +Equation +\begin{equation} +\div(\Vert\nabla u\Vert^{p-2}\nabla u)+c(x)|u|^{p-2}u=0\label{eq:E-non-damp} +\end{equation} +is oscillatory, if the ordinary differential equation + \begin{equation} + \label{hl} + \Bigl( r^{n-1}|u'|^{p-2}u'\Bigr)'+r^{n-1}\left(\frac{1}{\omega_n r^{n-1}}\int_{S(r)}\, c(x) \,\dx\right)|u|^{p-2}u=0 + \end{equation} +is oscillatory. +The number $\omega_n$ is the surface area of the unit sphere in $\R^n$. +\end{Theorem} + +J. Jaro\v s, T. Kusano and N. Yoshida proved independently similar +result (for $A(x)=a(\Vert x\Vert )I$, $a(\cdot)$ differentiable). + +\nadpis {Our aim} + +\begin{itemize*} +\item Extend method used in Theorem \ref{theorem:sun_wong} to + \eqref{eq:E}. Derive a general result, like Theorem B. +\item Derive a result which does depend on more general expression, + than the mean value of $c(x)$ over spheres centered in the origin. +% Is it possible to detect oscillation in such an extreme case as +% $\int_{S(||x||)}\modra{c(x)}\dS=0$? +\item Remove restrictions used by previous authors (for example Xu (2009) + excluded the possibility $p_i>p$ for every $i$). + % S(r)}\cervena{\lambdamax(x)}}$ plays a crucial role in the linear + % case and $\boxed{\rho(r)\geq \max_{x\in S(r)}\cervena{\frac{\Vert + % {A(x)}\Vert ^p_F}{\lambdamin^{p-1}(x)}}}$ plays similar role + % if $p>1$. This phenomenon can be observed also in other + % oscillation criteria than Theorems B and C. We know that + % $\rho(r)\geq \lambda(r)$. Why such a discrepancy appears? +\end{itemize*} + +\newpage +\begin{equation} + \shadowbox{$\begin{aligned} + \div\left(A(x)\norm{\nabla y}^{p-2}\nabla y\right)&+ \ss{\vec + b(x)}{\norm{\nabla y}^{p-2}\nabla y}\\&+ + \modra{c(x)|y|^{p-2}y}+\cervena{\sum_{i=1}^m c_i(x)|y|^{p_i-2}y}=\cervena{e(x)}, + \end{aligned}$} +\tag{E} +\label{eq:E} +\end{equation} + +\nadpis Modus operandi + +\begin{itemize} +\item Get rid of terms $\sum_{i=1}^m c_i(x)|y|^{p_i-2}y$ and $e(x)$ + (join with $c(x)|y|^{p-2}y$) and convert the problem into + \begin{equation*} + \div\left(A(x)\norm{\nabla y}^{p-2}\nabla y\right)+ \ss{\vec + b(x)}{\norm{\nabla y}^{p-2}\nabla y}+\modra{C(x)|y|^{p-2}y}=0. + \end{equation*} +\item Derive Riccati type inequality in $n$ variables. +\item Derive Riccati type inequality in $1$ variable. +\item Use this inequality as a tool which transforms results from ODE + to PDE. +\end{itemize} + +% % \begin{equation} +% % {\shadowbox{$\div\Bigl(A(x)\Vert\nabla u\Vert^{p-2}\nabla u\Bigr) + \ss{\vec b(x)}{\Vert\nabla u\Vert^{p-2}\nabla u}+c(x)|u|^{p-2}u=0$}} \tag{E} +% % \end{equation} +% \begin{equation} +% {\shadowbox{$\div\Bigl(A(x)\Vert\nabla u\Vert^{p-2}\nabla u\Bigr) + \ss{\vec b(x)}{\Vert\nabla u\Vert^{p-2}\nabla u}+c(x)|u|^{p-2}u=0$}} \tag{E} +% \end{equation} + + +\newpage + +Using generalized AG inequality $\sum \alpha _i\geq +\prod\left(\frac{\alpha_i}{\eta_i}\right)^{\eta_i}$, if $\alpha_i\geq +0$, $\eta_i>0$ and $\sum \eta_i=1$ we eliminate the right-hand side and terms with mixed powers. + + + +\begin{lemma}\label{lemma:est1} + Let either $y>0$ and $e(x)\leq 0$ or $y<0$ and $e(x)\geq 0$. Let + $\eta_i>0$ be numbers satisfying $\sum_{i=0}^m{\eta_i}=1$ and + $\eta_0+\sum_{i=1}^m p_i\eta_i=p$ and let $c_i(x)\geq 0$ for every + $i$. Then + \begin{equation*}%\label{eq:est1} + \frac{1}{|y|^{p-2}y}\left(-e(x)+\sum_{i=1}^m c_i(x)|y|^{p_i-2} y\right)\geq C_1(x), + \end{equation*} + where + \begin{equation} + \label{eq:C1} + C_1(x):=\left|\frac{e(x)}{\eta_0}\right|^{\eta_0} + \prod_{i=1}^m\left(\frac{c_i(x)}{\eta_i}\right)^{\eta_i}. + \end{equation} +\end{lemma} + + + +%\begin{remark} +\textbf{Remark:} The numbers $\eta_i$ from Lemma \ref{lemma:est1} exist, if $p_i>p$ for some $i$. +%\end{remark} + +% The following lemma is a modification of Lemma \ref{lemma:est1} in +% the case $e(x)\equiv 0$. + +\begin{lemma}\label{lemma:est10} + Suppose $c_i(x)\geq 0$. Let $\eta_i>0$ be numbers satisfying + $\sum_{i=1}^m{\eta_i}=1$ and $\sum_{i=1}^m p_i\eta_i=p$. Then + \begin{equation*}%\label{eq:est10} + \frac{1}{|y|^{p-2}y}\sum_{i=1}^m c_i(x)|y|^{p_i-2}y\geq C_2(x), + \end{equation*} + where + \begin{equation} + \label{eq:C2} + C_2(x):=\prod_{i=1}^m\left(\frac{c_i(x)}{\eta_i}\right)^{\eta_i} + \end{equation} +\end{lemma} + +% \begin{remark} +\textbf{Remark:} The numbers $\eta_i$ from Lemma \ref{lemma:est10} +exist iff $p_i>p$ for some $i$ and $p_j<p$ for some $j$. +% \end{remark} + + +\newpage +% \begin{lemma}\label{lemma:ineq_cal} +% The following inequalities hold for $a\geq 0$ and $x>0$. +% \begin{enumerate} +% \item If $\alpha<\beta$ and $b>0$, then $b-ax^\alpha\geq -x^\beta \left(\frac{a(\beta-\alpha)}{b\beta}\right)^{\frac\beta\alpha} \frac{b\alpha}{\beta-\alpha}$ +% \label{pa} +% \item If $\alpha>\beta$ and $b\geq0$, then $ax^\alpha+b\geq x^\beta \left(\frac{a(\alpha-\beta)}{b\beta}\right)^{\frac\beta\alpha} \frac{b\alpha}{\alpha-\beta}$ +% \label{pb} +% \end{enumerate} +% \end{lemma} + +% Another possibility how to remove the right hand side and terms with +% mixed powers is available if we rewrite +% \begin{equation*} +% \frac{1}{|y|^{p-2}y}\left(-e(x)+\sum_{i=1}^m c_i(x)|y|^{p_i-2}y\right) +% \end{equation*} +% into the form +% \begin{equation*} +% \sum_{i=1}^m \left(c_i(x)|y|^{p_i-p}-\frac{\epsilon_i e(x)}{|y|^{p-2}y} \right), \quad \epsilon_i>0, \quad \sum_{i=1}^m\epsilon_i=1 +% \end{equation*} +% study the family of min/max problems +% for terms in this sum. + +% \bigskip + +% \begin{lemma}\label{lemma:estimate2} +% Let $e(x)<0$ and $y>0$. Then +% \begin{equation*}%\label{eq:estimate2} +% \sum_{i=1}^m c_i(x)|y|^{p_i-p}-\frac{e(x)}{|y|^{p-2}y} +% \geq C_3(x), +% \end{equation*} +% where +% \begin{multline} +% \label{eq:C3} +% C_3(x):=\sum_{i\in I_1} +% \left(\left[\frac{[c_i(x)]_+(p_i-p)}{\epsilon_i|e(x)|(p-1)}\right]^{(p-1)/(p_i-1)}\frac{\epsilon_i|e(x)|(p_i-1)}{p_i-p}\right)\\ +% - \sum_{i\in I_2}\left(\left[\frac{[-c_i(x)]_+(p-p_i)}{\epsilon_i|e(x)|(p-1)}\right]^{(p-1)/(p_i-1)}\frac{\epsilon_i|e(x)|(p_i-1)}{p-p_i}\right), +% \end{multline} +% $I_1=\{i\in[1,m]\cap \N:p_i>p\}$ and $I_2=\{i\in[1,m]\cap \N:p_i<p\}$, +% $\epsilon_i>0$, $\sum_{i=1}^m\epsilon_i=1$. Moreover, if +% $I_2=\{\}$, then the inequality $e(x)<0$ can be relaxed to +% $e(x)\leq 0$. +% \end{lemma} + + + +% \newpage +\begin{lemma}\label{lemma:cC} + Let $y$ be a solution of \eqref{eq:E} which does not have zero on + $\Omega$. Suppose that there exists a function + $C(x)$ such that + \begin{equation*} + C(x)\leq c(x)+\sum_{i=1}^m c_i(x)|y|^{p_i-p}-\frac{e(x)}{|y|^{p-2}y} +% \label{ineq:C} + \end{equation*} + Denote $\vec w(x)=A(x)\frac{\norm{\nabla y}^{p-2}\nabla + y}{|y|^{p-2}y}$. The function $\vec w(x)$ is well defined on + $\Omega$ and satisfies the inequality + \begin{equation} + \label{eq:RIC} + \div \vec w+(p-1)\Lambda(x) \norm{\vec w}^q+\ss{\vec w}{A^{-1}(x)\vec b(x)}+C(x)\leq 0 + \end{equation} + where + \begin{equation}\label{eq:Lambda} + \Lambda(x)= + \begin{cases} + \lambda_{{\max}}^{1-q}(x)& % \text{ for } + 1<p\leq 2,\\ + \lambda_{{\min}}\lambda_{\max}^{-q}(x)& % \text{ for } + p>2. + \end{cases} + \end{equation} + \end{lemma} + +\begin{lemma}\label{lemma:alpha} + Let \eqref{eq:RIC} hold. Let $l>1$, $l^*=\frac{l}{l-1}$ be two + mutually conjugate numbers and $\alpha \in C^1(\Omega,\R^+)$ be + a smooth function positive on $\Omega$. Then + \begin{multline*} + % \label{eq:RIC2} + \div (\alpha(x)\vec w)+ (p-1)\frac {\Lambda(x)\alpha^{1-q}(x)}{l^*} + \norm{\alpha(x)\vec w}^q\\ + -\frac{l^{p-1}\alpha(x)}{ p^p \Lambda^{p-1}(x)}\norm{A^{-1}(x)\vec b(x)-\frac{\nabla \alpha(x)}{\alpha(x)}}^p +\alpha(x)C(x)\leq 0 + \end{multline*} + holds on $\Omega$. If $\norm{A^{-1}\vec b-\frac{\nabla + \alpha}\alpha}\equiv 0$ on $\Omega$, then this inequality holds + with $l^*=1$. +\end{lemma} + +\newpage +\begin{theorem}\label{lemma:radialODE} + Let the $n$-vector function $\vec w$ satisfy inequality + \begin{equation*} + \div \vec w+C_0(x)+(p-1)\Lambda_0(x)\norm{\vec w}^q\leq 0 + \end{equation*} + on $\Omega(a,b)$. Denote $\tilde C(r)=\int_{S(r)}C_0(x)\dS$ and + $\tilde R(r)=\int_{S(r)}\Lambda_0^{1-p}\dS$. Then + the half-linear ordinary differential equation + \begin{equation*}%\label{eq:radialODE} + \left(\tilde R(r) |u'|^{p-2}u\right)'+\tilde C(r) |u|^{p-2}u=0, + \qquad {}'=\frac{\mathrm{d}}{\dr} + \end{equation*} + is disconjugate on $[a,b]$ and it possesses solution which has no + zero on $[a,b]$. +\end{theorem} + +\begin{theorem}\label{th1} + Let $l>1$. Let $l^*={1}$ if $\norm{\vec b}\equiv 0$ and + $l^*=\frac{l}{l-1}$ otherwise. Further, let $c_i(x)\geq 0$ for every + $i$. Denote + \begin{equation*}%\label{eq:tildeR} + \tilde R(r)=(l^*)^{p-1}\int_{S(r)}\Lambda^{1-p}(x)\dS + \end{equation*} + and + \begin{equation*} + \tilde C(r)=\int_{S(r)}c(x)+C_1(x)-\frac{l^{p-1}}{ p^p \Lambda^{p-1}(x)}\norm{A^{-1}(x)\vec b(x)}^p\dS, + \end{equation*} + where $\Lambda(x)$ is defined by \eqref{eq:Lambda} and $C_1(x)$ is + defined by \eqref{eq:C1}. + + Suppose that the equation + \begin{equation*}%\label{eq:th1} + \left(\tilde R(r)|u'|^{p-2}u'\right)'+\tilde C(r) |u|^{p-2}u=0 + \end{equation*} + has conjugate points on $[a,b]$. + + If $e(x)\leq 0$ on $\Omega(a,b)$, then equation \eqref{eq:E} has no + positive solution on $\Omega(a,b)$. + + If $e(x)\geq 0$ on $\Omega(a,b)$, then equation \eqref{eq:E} has no + negative solution on $\Omega(a,b)$. +\end{theorem} + +\begin{theorem}[non-radial variant of Theorem \ref{th1}]\label{th1a} + Let $l>1$ and let $\Omega\subset\Omega(a,b)$ be an open domain with + piecewise smooth boundary such that $\meas(\Omega \cap S(r))\neq 0$ + for every $r\in[a,b]$. Let $c_i(x)\geq 0$ on $\Omega$ for every + $i$ and let $\alpha(x)$ be a function which is + positive and continuously differentiable on $\Omega$ and vanishes on + the boundary and outside $\Omega$. Let $l^*=1$ if $\norm{A^{-1}\vec + b-\frac{\nabla \alpha}{\alpha}}\equiv 0$ on $\Omega$ and + $l^*=\frac{l}{l-1}$ otherwise. In the former case suppose also that + the integral + \begin{equation*} + \int_{S(r)}\frac{\alpha(x)}{ \Lambda^{p-1}(x)}\norm{A^{-1}(x)\vec b(x)-\frac{\nabla\alpha(x)}{\alpha(x)}}^p\dS + \end{equation*} + which may have singularity on $\partial \Omega$ if + $\Omega\neq\Omega(a,b)$ is convergent for every $r\in[a,b]$. Denote + \begin{equation*} + \tilde R(r)=(l^*)^{p-1}\int_{S(r)}\alpha(x)\Lambda^{1-p}(x)\dS + \end{equation*} + and + \begin{equation*} + \tilde C(r)=\int_{S(r)}{\cervena{\alpha(x)}}\left(c(x)+C_1(x)-\frac{l^{p-1}}{ p^p \Lambda^{p-1}(x)}\norm{A^{-1}(x)\vec b(x)-\frac{\nabla\alpha(x)}{\alpha(x)}}^p\right)\dS, + \end{equation*} + where $\Lambda(x)$ is defined by \eqref{eq:Lambda} and $C_1(x)$ is + defined by \eqref{eq:C1} and suppose that equation + \begin{equation*} + \left(\tilde R(r)|u'|^{p-2}u'\right)'+\tilde C(r) |u|^{p-2}u=0 + \end{equation*} + has conjugate points on $[a,b]$. + + If $e(x)\leq 0$ on $\Omega(a,b)$, then equation \eqref{eq:E} has no + positive solution on $\Omega(a,b)$. + + If $e(x)\geq 0$ on $\Omega(a,b)$, then equation \eqref{eq:E} has no + negative solution on $\Omega(a,b)$. +\end{theorem} + +\newpage + +\begin{theorem}\label{th2} + Let $l$, $\Omega$, $\alpha(x)$, $\Lambda(x)$ and $\tilde R(r)$ be + defined as in Theorem \ref{th1a} and let $c_i(x)\geq 0$ and + \cervena{$e(x)\equiv 0$} on $\Omega(a,b)$. Denote + \begin{equation*} + \tilde C(r)=\int_{S(r)}\alpha(x)\left(c(x)+C_2(x)-\frac{l^{p-1}}{ p^p \Lambda^{p-1}(x)}\norm{A^{-1}(x)\vec b(x)-\frac{\nabla \alpha(x)}{\alpha(x)}}^p\right)\dS, + \end{equation*} + where $C_2(x)$ is defined by \eqref{eq:C2}. + If the equation %\eqref{eq:th1} + \begin{equation*} + \left(\tilde R(r)|u'|^{p-2}u'\right)'+\tilde C(r) |u|^{p-2}u=0 + \end{equation*} + has conjugate points on $[a,b]$, then every solution of equation + \eqref{eq:E} has zero on $\Omega(a,b)$. +\end{theorem} + +\bigskip\bigskip\bigskip +{\rightskip 2cm +\leftskip 2cm + +Similar theorems can be derived also for estimates of terms +with mixed powers based on different methods than AG inequality % (for example +% \eqref{eq:C3}) +(see R. M., Nonlinear Analysis TMA 73 (2010)). + +} + +\end{document} + + + diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-dvips.pdf b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-dvips.pdf Binary files differindex 89d2065cba2..9297d5016ec 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-dvips.pdf +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-dvips.pdf diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-dvips.tex b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-dvips.tex index 6175a2c0180..0118a55c2c6 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-dvips.tex +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-dvips.tex @@ -3,6 +3,7 @@ \usepackage{color} \usepackage[dvips,designiii]{web} \usepackage[display]{texpower} +\let\pdfsavepos\undefined \usepackage[dvips,filename=tooltipy,movetips,pages=28]{fancytooltips} \let\rmdefault\sfdefault diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-min-dvips.pdf b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-min-dvips.pdf Binary files differindex a6bef916fe5..c1cf1e47ac1 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-min-dvips.pdf +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-min-dvips.pdf diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-min.pdf b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-min.pdf Binary files differindex 644145b75c1..553c9497a70 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-min.pdf +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example-min.pdf diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example.pdf b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example.pdf Binary files differindex 87b0b714a88..13d1cd00be3 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example.pdf +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example.pdf diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example.tex b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example.tex index 8c2eced4c46..54803a48643 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example.tex +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/fancytooltips-example.tex @@ -4,8 +4,7 @@ \usepackage[display]{texpower} \usepackage[pdftex,designiii]{web} -\usepackage[filename=tooltipy,movetips]{fancytooltips} - +\usepackage[filename=tooltipy,movetips,mouseover,blur]{fancytooltips} \let\rmdefault\sfdefault @@ -54,7 +53,7 @@ \end{definice} \pause -This is a geometric \tooltipanim{idea}{4}{28} which is behind the +This is a geometric \tooltipanim*{idea}{4}{28} which is behind the definition of derivative. diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/tooltipy.pdf b/Master/texmf-dist/doc/latex/fancytooltips/examples/tooltipy.pdf Binary files differindex 3dbafbc7290..38dff9a25f3 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/examples/tooltipy.pdf +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/tooltipy.pdf diff --git a/Master/texmf-dist/doc/latex/fancytooltips/examples/tooltipy.tips b/Master/texmf-dist/doc/latex/fancytooltips/examples/tooltipy.tips new file mode 100644 index 00000000000..d0f37ddb0e7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/fancytooltips/examples/tooltipy.tips @@ -0,0 +1,3 @@ +\tooltipname{derivace}{1} +\tooltipname{hodnost}{2} +\tooltipname{definition}{3} diff --git a/Master/texmf-dist/doc/latex/fancytooltips/fancytooltips.pdf b/Master/texmf-dist/doc/latex/fancytooltips/fancytooltips.pdf Binary files differindex edb3df37b5c..67c2776591d 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/fancytooltips.pdf +++ b/Master/texmf-dist/doc/latex/fancytooltips/fancytooltips.pdf diff --git a/Master/texmf-dist/doc/latex/fancytooltips/README b/Master/texmf-dist/doc/latex/fancytooltips/readme index e525d19663e..e525d19663e 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/README +++ b/Master/texmf-dist/doc/latex/fancytooltips/readme diff --git a/Master/texmf-dist/doc/latex/fancytooltips/tip.pdf b/Master/texmf-dist/doc/latex/fancytooltips/tip.pdf Binary files differindex 993649d3577..e45dec7da58 100644 --- a/Master/texmf-dist/doc/latex/fancytooltips/tip.pdf +++ b/Master/texmf-dist/doc/latex/fancytooltips/tip.pdf diff --git a/Master/texmf-dist/source/latex/fancytooltips/fancytooltips.dtx b/Master/texmf-dist/source/latex/fancytooltips/fancytooltips.dtx index 233df5c5a7b..b8234789e25 100644 --- a/Master/texmf-dist/source/latex/fancytooltips/fancytooltips.dtx +++ b/Master/texmf-dist/source/latex/fancytooltips/fancytooltips.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2004-2009 by Robert Marik <marik@mendelu.cz> +% Copyright (C) 2004-2010 by Robert Marik <marik@mendelu.cz> % ---------------------------------------------------------- % % This file may be distributed and/or modified under the @@ -22,7 +22,7 @@ %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{fancytooltips} %<*package> - [2010/04/10 v1.6 fancytooltips.dtx file] + [2010/06/10 v1.8 fancytooltips.dtx file] %</package> % %<*driver> @@ -42,7 +42,7 @@ %</driver> % \fi % -% \CheckSum{695} +% \CheckSum{1075} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -90,6 +90,11 @@ % this.dirty and app.focusRect. Changed the name of the file with % tooltips. Added starred version of \texttt{tooltip} command.} % +% \changes{v1.7}{2010/05/20}{Added options \texttt{blur} and +% \texttt{fg}, cleaned some command names} +% +% \changes{v1.8}{2010/06/10}{Added hook do insert stuff on each page.} +% % \GetFileInfo{fancytooltips.dtx} % % \DoNotIndex{\newcommand,\newenvironment} @@ -130,16 +135,37 @@ % (works with layers, only |latex| + |dvips| + Adobe Distiller + Adobe % Acrobat are supported). All these ``similar'' packages allow to % write the text for he tooltips and the text for the main document in -% one file. In contrast to this apporach, |fancytooltips| package +% one file. In contrast to this approach, |fancytooltips| package % makes use of an external file. However, if you prefer to write both % tooltips in one file, you can preprocess your file using |preview| -% package and exteract tooltips automatically, as shown in the +% package and extract tooltips automatically, as shown in the % |examples/fancy-preview| directory. % % The buttons are created using |eforms.sty| which is a part of % AcroTeX bundle. % % \section{Usage} +% \subsection{How the package works} +% We have to prepare external file with content of tooltips first. +% The pages of this external file are inserted as icons at hidden +% buttons into the presentation. Whenever we use a command to insert +% tooltip, the following actions are performed +% \begin{itemize}\item +% The current page is covered by invisible transparent button which +% spans across the whole page (the information about the pages with +% tooltips is stored in |aux| file and hence we have to run \LaTeX{} +% \textit{three times}). The button has an associated JavaScript +% action to close all tooltips (i.e. make itself and other related +% buttons hidden). +% \item The button is created in text. This button is transparent, +% covers the text typeset by \TeX{} into |\hbox| of dimension 0 pt +% and allows to activate a JavaScript. This JavaScript takes the +% picture required, puts this picture as icon to the button which +% covers the corresponding page and makes this button visible. +% \item Each page has an associated action which closes all tooltips +% when the page is opened. +% \end{itemize} +% % \subsection{The file with tooltips} % The file with tooltips is an ordinary pdf file, one tooltip per % page, tooltips should be in the top right corner at the page, in a @@ -170,36 +196,66 @@ % (And among others, the |color| or |xcolor| package is probably % inputted by the package which is used to build the presentation.) % -% \DescribeMacro{filename option} To input the tooltips from file +% \begin{description}\def\iitem#1{\item[#1]}\sloppy\raggedright +% \iitem{filename} To input the tooltips from file % \meta{foo.pdf} call the package with |filename| option: % |\usepackage[filename=foo]{fancytooltips}|. % -% \DescribeMacro{movetips option} By default, tooltip appears in the +% \iitem{movetips} By default, tooltip appears in the % top right corner of the page (use View--PageLayout-Single Page in % your Adobe Reader, please). If the option |movetips| is used, then -% tooltip appears close to the mouse pointer. More preciselly, tooltip +% tooltip appears close to the mouse pointer. More precisely, tooltip % appears with left down corner at the mouse position, if there is % enough place. If not, tooltip appears with right down corner at the % mouse position. Finally, the tooltip is shifted down to fit the -% page, if nesessary\footnote{This option works in this way if every +% page, if necessary\footnote{This option works in this way if every % page of the file with tooltips has dimensions of the box with % tooltip. See the \texttt{examples} subdirectory.}. % -% \DescribeMacro{mouseover option} If you use |mouseover| option, then -% tooltip appears if you move the mouse pointer to the active area (no -% clicking is necessary). % -% \DescribeMacro{inactive option} This option makes the package -% inactive. +% \iitem{mouseover} If you use |mouseover| option, +% then tooltip appears if you move the mouse pointer to the active +% area (no clicking is necessary). +% +% \iitem{inactive} This option makes the package +% inactive. % -% \DescribeMacro{active option} This option forces the package active -% even if |inactive| option is loaded. +% \iitem{active} This option forces the package +% active even if |inactive| option is loaded. % -% \DescribeMacro{debug option} Prints two alerts reporting success or -% problems when opening PDF file in Adobe Acrobat (Adobe Reader). Use -% this option to find possible source of problems. See also the -% section Troubleshooting \dots in this manual. +% \iitem{blur} The rest of the page is blurred, when showing +% tooltip. Use either |\usepackage[blur]{fancytooltips}| or +% |\usepackage[blur=number]{fancytooltips}|, where |number| is +% a number between 0 and 1. (Note that we use transparent package +% and hence this could have an influence on the colors of the +% document and could make your PDF less portable.) This option is +% allowed in pdf\LaTeX{} mode only. If this options brakes colors +% only on the page which include tooltips, you may want to use +% option |fixcolor| to fix it. % +% \iitem{debug} Prints two alerts reporting success or problems when +% opening PDF file in Adobe Acrobat (Adobe Reader). Use this option +% to find possible source of problems. See also the section +% Troubleshooting \dots in this manual. +% +% \iitem{noextratext} Do not append any mark at the end of the link +% which opens tooltips (see help for |\tooltip|). +% +% \iitem {fg} The button for displaying pictures is placed on +% background and the buttons which activate tooltips are placed +% immediately in the text by default. With |fg| option all these +% buttons are placed into foreground after the page is completed. We +% use |\pdfsavepos| command and keep track of the position for +% buttons in aux file and hence this option works in pdf\LaTeX\ only +% and the file needs more compilations. This option does not do +% anything in dvi mode now (despite the fact that pdf\LaTeX\ +% provides the feature also for dvi mode), but this could be changed +% if someone requests this feature. Use this option for example, if +% you use buttons and forms in your PDF (like tests produced by +% Acro\TeX) and the tooltips should be on the top when displayed. +% +% \end{description} +% % \DescribeMacro{\tooltip} The user can put the tooltip into her or % his presentation using the command % \texttt{\string\tooltip}{\marg{stuff}\marg{keyword-or-pagenumber}} @@ -211,7 +267,7 @@ % \DescribeMacro{\TooltipExtratext} The printed text \meta{stuff} is % followed by |\TooltipExtratext| command. The default value is small % blue soap, as you have seen in the second paragraph of this -% documentation. There is a package option |noextratext| which defines +% documentation. There is a package |noextratext| which defines % |\TooltipExtratext| to be empty. \DescribeMacro{noextratext option} % If \marg{keyword-or-pagenumber} is not recognized as valid keyword % for tooltips, @@ -222,14 +278,15 @@ % and the active button dos not cover the text \marg{stuff}, but % covers the mark produced by |\TooltipExtratext|. % -% \DescribeMacro{\tooltipanim} The user can put a series (animation) of -% tooltips into the presentation by using -% \texttt{\string\tooltipanim}\marg{stuff}\marg{start}\marg{end} +% \DescribeMacro{\tooltipanim}\DescribeMacro{\tooltipanim*} The user +% can put a series (animation) of tooltips into the presentation by +% using \texttt{\string\tooltipanim}\marg{stuff}\marg{start}\marg{end} % command, where \meta{start} and \meta{end} are keywords defined by % |\keytip| command or page numbers. \DescribeMacro{\delayinterval} % The delay between two frames is |\delayinterval| milliseconds. The % default value is 200, you can change it by command -% |\def\delayinterval{100}|. +% |\def\delayinterval{100}|. There is also starred version which works +% similarly like |\tooltip*| command. % % \DescribeMacro{\FancyHook} Redefines |\ref| and |\eqref| commands to % work with preview, see the demo files in |example/fancy-preview| @@ -241,10 +298,21 @@ % for |\TooltipExtratext|. % % \subsection{Changes for dvips users} -% dvips users have to specify option |dvips| in |fancytooltips| package. -% \DescribeMacro{pages option} They have to use also a |pages| option -% with the number of pages in the PDF file with tooltips. You have to -% call the package by +% Dvips users also have to prepare tooltips into PDF file, not eps as +% usual. But we have to insert these tooltips in Adobe Acrobat Pro +% program. If you use Acrobat Pro version 8.1 and later, install the +% file \texttt{aeb.js} from AcroTeX eDucation bundle as described in +% the documentation to AcroTeX.\footnote{If you do not install +% \texttt{aeb.js} properly, you can still create your presentation , +% but you have to import fdf file manually, see the section +% Troubleshooting and known problems.} +% +% Since \LaTeX{} is not capable to find the number of pages in +% external PDF file with tooltips, dvips users have to specify option +% |dvips| in |fancytooltips| package. \DescribeMacro{pages} You have +% to use also a |pages| option with the number of pages in the PDF +% file with tooltips, if you use dvips route. You have to call the +% package by % something like this:\\ % |\usepackage[dvips,filename=tooltipy,pages=27]{fancytooltips}| % @@ -252,36 +320,46 @@ % produces |filename.ps| and |Tooltipsdljs.fdf| files. Distill the % |filename.ps| file into |filename.pdf| and open this file by Adobe % Acrobat Professional -- this imports macros from |Tooltipsdljs.fdf| -% file. In Acrobat's JavaScript console (open by |Crtl+J|) run (using +% file. In Acrobat's JavaScript console (open by |Crtl+J|) run (using % |Ctrl+Enter|) the command |ImportTooltips();| which is defined for % the document. This command inserts invisible buttons on the first % page, imports icons (the file with icons specified as % \meta{filename} parameter when loading fancytooltips must be in -% working directory) and returns 1. Then save the file under another -% name. +% working directory). You should see a message ``\texttt{importing +% pictures}'' and the command returns 1 when finished. Then +% \textbf{save the file} (you can use the same name). If the command +% |ImportTooltips();| fails, you either have not the PDF file with +% tooltips in current directory, or the PDF file does not contain +% JavaScripts. In the latter case insert document level JavaScripts +% manually as described in the next section. % % \section{Troubleshooting and known problems} % The source code is in Mercurial repository at % \url{http://bitbucket.org/robert.marik/fancytooltips/}. You can also -% report problems and issues in the forum at this site. +% report problems and issues in the forum at this site. The code on +% |bitbucket.org| is considered as development version and repository +% for older versions. The last stable version is always the version +% from CTAN. % \begin{itemize} % \item -% The package works only with the last |eforms.sty|, version -% 2006/10/03 v1.0a. You can download this version from +% The package works with |eforms.sty| from version +% 2006/10/03 v1.0a. You can download this or newer version from % www.arotex.net site. % \item If the graphics included by |\TooltipExtratext| and -% |\TooltipRefmark| has colors with custom opacity, Adobe Acrobat -% Pro sometimes renders the pictures bad. No problems of this type -% have been observed with Adobe Reader. +% |\TooltipRefmark| has colors with \textbf{custom opacity}, Adobe +% Acrobat Pro sometimes renders the pictures bad. No problems of +% this type have been observed with free Adobe Reader. % \item For \textbf{dvips} users: In some cases the file -% |Tooltipsdljs.fdf| is not imported automatically (probably some -% setting in Adobe Acrobat). In this case you do not see any message -% even if you use |debug| option. You have troubles of this type if -% you see in the Javascript console (Ctrl+J) error messages like -% ``\texttt{aebTrustedFunctions is not defined 3:Page:Open CloseTooltips is -% not defined 1:Page:Open}''. In this case you have to import the -% file |Tooltipsdljs.fdf| manually from menu ``Form''. Then go to -% the JavaScript console and run |ImportToltips();| command. +% |Tooltipsdljs.fdf| is \textbf{not imported automatically} +% (probably some setting in Adobe Acrobat or new versions of +% |eforms.sty| and |insdljs.sty|). In this case you do not see any +% message when using |debug| option. You have troubles of this type +% if you see in the Javascript console (Ctrl+J) error messages like +% ``\texttt{aebTrustedFunctions is not defined 3:Page:Open +% CloseTooltips is not defined 1:Page:Open}''. In this case you +% have to import the file |Tooltipsdljs.fdf| \textbf{manually from +% ``Form'' menu} in Adobe Acrobat Pro. Then go to the JavaScript +% console and run |ImportTooltips();| command. % \end{itemize} % % Follow the points below if you want to find the source of your @@ -297,7 +375,7 @@ % properly). % \item Both messages should report success for pdflatex users. For % dvips users one of the message should report error and if you -% run |ImportToltips();| command in Javascript console, you should +% run |ImportTooltips();| command in Javascript console, you should % see a message in Javascript console which confirms that the % pictures from external PDF file have been imported. If you save % the PDF file and open again, both messages should report @@ -311,25 +389,24 @@ % \section{Implementation} % \begin{macrocode} %<*package> -\RequirePackage{everyshi} \RequirePackage{graphicx} \RequirePackage{xkeyval} -\RequirePackage{eso-pic} +\RequirePackage{atbegshi} -\newif\ifcreatetips\createtipsfalse -\DeclareOptionX{createtips}{\createtipstrue} +\newif\if@fancytooltips@createtips\@fancytooltips@createtipsfalse +\DeclareOptionX{createtips}{\@fancytooltips@createtipstrue} \newif\ifTooltip@usepdftex\Tooltip@usepdftextrue \DeclareOptionX{dvips}{\Tooltip@usepdftexfalse} -\newif\ifextratext\extratexttrue -\DeclareOptionX{noextratext}{\extratextfalse} +\newif\if@fancytooltips@extratext\@fancytooltips@extratexttrue +\DeclareOptionX{noextratext}{\@fancytooltips@extratextfalse} -\newif\ifmovetips\movetipsfalse -\DeclareOptionX{movetips}{\movetipstrue} +\newif\if@fancytooltips@movetips\@fancytooltips@movetipsfalse +\DeclareOptionX{movetips}{\@fancytooltips@movetipstrue} -\newif\ifmouseover\mouseoverfalse -\DeclareOptionX{mouseover}{\mouseovertrue} +\newif\if@fancytooltips@mouseover\@fancytooltips@mouseoverfalse +\DeclareOptionX{mouseover}{\@fancytooltips@mouseovertrue} \newif\if@fancytooltips@inactive\@fancytooltips@inactivefalse \DeclareOptionX{inactive}{\@fancytooltips@inactivetrue} @@ -337,9 +414,19 @@ \newif\if@fancytooltips@active\@fancytooltips@activefalse \DeclareOptionX{active}{\@fancytooltips@activetrue} +\newif\if@fancytooltips@fg\@fancytooltips@fgfalse +\DeclareOptionX{fg}{\@fancytooltips@fgtrue} + \DeclareOptionX{filename}{\xdef\TooltipFilename{#1}} \DeclareOptionX{pages}{\xdef\TooltipPages{#1}} +\newif\if@fancytooltips@blur\@fancytooltips@blurfalse +\DeclareOptionX{blur}[0.4]{\@fancytooltips@blurtrue + \xdef\fancytooltips@transparency{#1}} + +\newif\if@fancytooltips@fixcolor\@fancytooltips@fixcolorfalse +\DeclareOptionX{fixcolor}{\@fancytooltips@fixcolortrue} + \def\fancytooltipsdebugmsg{} \DeclareOptionX{debug}{\def \fancytooltipsdebugmsg { @@ -355,10 +442,27 @@ if (this.getField("animtiph") == null) \ProcessOptionsX +\if@fancytooltips@blur +\ifTooltip@usepdftex\else +\@fancytooltips@blurfalse +\AtEndDocument{\PackageWarning{fancytooltips} + {Blur option is incompatible with dvips. ^^J The option blur is turned off }} +\fi +\fi + +\ifTooltip@usepdftex\else +\@fancytooltips@fgfalse +\fi + \newdimen\buttontipwidth \newdimen\buttontipheight \newdimen\fancy@a \newdimen\fancy@b +\newdimen\fancy@layerHshift\fancy@layerHshift=0pt +\newdimen\fancy@layerVshift\fancy@layerVshift=0pt +\newdimen\fancy@button@Vshift \fancy@button@Vshift=0pt +\newdimen\fancy@button@Hshift \fancy@button@Hshift=0pt +\newtoks\pos@fancy@toks \if@fancytooltips@active\@fancytooltips@inactivefalse\fi @@ -375,6 +479,11 @@ if (this.getField("animtiph") == null) \def\TooltipPage#1#2{}% \let\TooltipExtratext\relax \let\TooltipRefmark\relax +\ifx\@ocg@makeknown\undefined + \def\@ocg@makeknown#1#2#3{}\fi +\def\fancy@@pushButton#1#2#3#4#5#6#7#8{} +\def\fancy@@anim@pushButton#1#2#3#4#5#6#7#8#9{} + \PackageWarning{fancytooltips}{Fancytooltips inactive}% \expandafter\endinput\fi @@ -409,15 +518,15 @@ if (this.getField("animtiph") == null) \hss}% \fi} \ifTooltip@usepdftex -\def\TooltipRefmark{\hbox {\raisebox{0.4em}{\includegraphics[width=0.7em]% - {fancytipmark.pdf}}}}% +\def\TooltipRefmark{\hbox {\smash{\raisebox{0.4em}{\includegraphics[width=0.7em]% + {fancytipmark.pdf}}}}}% \else -\def\TooltipRefmark{\hbox {\raisebox{0.4em}{\includegraphics[width=0.7em]% - {fancytipmark.eps}}}}% +\def\TooltipRefmark{\hbox {\smash{\raisebox{0.4em}{\includegraphics[width=0.7em]% + {fancytipmark.eps}}}}}% \fi%\ifTooltip@usepdftex } -\ifcreatetips +\if@fancytooltips@createtips % \end{macrocode} % This part (three lines) is processed if the option |createtips| is % used. In the opposite case we process the second part, up to the end @@ -430,7 +539,7 @@ if (this.getField("animtiph") == null) % \end{macrocode} % This part is processed if the option |createtips| is not used. We % define macros which put the hidden button with the name |ikona.n| in -% the backgoud of the page |n|, if one of the commands |\tooltip| or +% the background of the page |n|, if one of the commands |\tooltip| or % |\tooltipanim| has been used on this page. Javascripts defined by % |\tooltip| and |\tooltipanim| commands then unhide this button and % show the corresponding picture. @@ -442,14 +551,14 @@ if (this.getField("animtiph") == null) \ifTooltip@usepdftex \RequirePackage[pdftex]{eforms} -\def\TooltipExtratext{\hbox{\raisebox{0.4em}{\includegraphics[width=0.7em]% - {fancytipmark.pdf}}}} +\def\TooltipExtratext{\hbox{\smash{\raisebox{0.4em}{\includegraphics[width=0.7em]% + {fancytipmark.pdf}}}}} \else \RequirePackage[dvips]{eforms} -\def\TooltipExtratext{\hbox{\raisebox{0.4em}{\includegraphics[width=0.7em]% - {fancytipmark.eps}}}} +\def\TooltipExtratext{\hbox{\smash{\raisebox{0.4em}{\includegraphics[width=0.7em]% + {fancytipmark.eps}}}}} \fi%\ifTooltip@usepdftex -\ifextratext\else\let\TooltipExtratext\relax\fi +\if@fancytooltips@extratext\else\let\TooltipExtratext\relax\fi \AtBeginDocument{ \global\buttontipwidth=\paperwidth @@ -468,7 +577,7 @@ if (this.getField("animtiph") == null) /BS << /W 1 /S /S >> /MK << /TP 1 /IF <</A[1.0 1.0]/SW /B>> >> }% - \vbox to \buttontipheight {\vss\hbox to \buttontipwidth{\hss}}\pdfendlink} + \vbox to \buttontipheight {\vss\hbox to \buttontipwidth{\hss}}\pdfendlink}% \else % \end{macrocode} % For dvips users we use the macros from eqxerquiz.sty package. @@ -487,9 +596,25 @@ if (this.getField("animtiph") == null) \textColor{0 g}\Ff{\FfReadOnly} } \def\frametip@{\eqIconFTT[\BC{}\BG{}\F{\FHidden}]% - {ikona.\thepage}{\paperwidth}{\paperheight}}% + {ikona.\thepage}{\paperwidth}{\paperheight}% +}% \fi%\ifTooltip@usepdftex +\def\fancytooltips@one{1} +\if@fancytooltips@blur + \RequirePackage{ocg} + \ifx\fancytooltips@one\fancytooltips@transparency + \def\transparent#1{} + \else + \RequirePackage{transparent} + \fi +\else + \ifx\@ocg@makeknown\undefined + \def\@ocg@makeknown#1#2#3{}\fi +\fi + +\if@fancytooltips@fg\else +\RequirePackage{eso-pic} \def\frametip{% \expandafter\ifx \csname TooltipPage\thepage\endcsname\relax \else @@ -497,6 +622,43 @@ if (this.getField("animtiph") == null) \hbox{\raise \dp0 \box0} \fi}% \AddToShipoutPicture{\hbox to 0 pt{\frametip\hss}} +\fi + +\def\fancytooltips@save@position{\pdfsavepos% + \write\@auxout{\string\global\string \fancy@layerVshift \the\pdflastypos sp\string\relax}% + \write\@auxout{\string\global\string \fancy@layerHshift \the\pdflastxpos sp\string\relax}% +} + +\def\fancy@beginshipout@hook{} +\AtBeginShipout{% +\TooltipPageopencloseJS +\setbox\AtBeginShipoutBox=\hbox{% + \hbox to 0 pt{\TooltipHidden}\global\def\TooltipHidden{}% + \fancy@beginshipout@hook\if@fancytooltips@fixcolor\hbox to 0 pt{\resizebox{1pt}{!}{\TooltipExtratext}\hss}\fi + \hbox{\box\AtBeginShipoutBox}% + \ifTooltip@usepdftex + \fancytooltips@save@position + \if@fancytooltips@blur + \expandafter\ifx \csname TooltipPage\thepage\endcsname\relax \else + \lower\fancy@layerVshift\hbox to 0 pt{\kern-\fancy@layerHshift\relax + \begin{ocg}{fancyOCG\thepage}{fancyOCG\thepage}{0}% + \expandafter\transparent\expandafter{\fancytooltips@transparency}% + \color{black}% + \vbox to 0 pt{\vss\hbox{\vrule width \paperwidth height \paperheight}}% + \end{ocg}\hss}% + \fi + \fi + \if@fancytooltips@fg + \expandafter\ifx \csname TooltipPage\thepage\endcsname\relax + \else + \lower\fancy@layerVshift\vbox to 0 pt{\vss\hbox to 0 pt{\kern-\fancy@layerHshift\relax\hbox{\frametip@}\hss}}% + \fi + \lower\fancy@layerVshift\vbox to 0 pt{\vss\hbox to 0 pt{\kern-\fancy@layerHshift\relax\hbox to 0 pt{\the\pos@fancy@toks\hss}}}% + \fi + \fi + }% +}% + % \end{macrocode} % In the macros |\tooltip| and |\tooltipanim| we print the text into % box with zero dimensions and then we build a button which covers @@ -532,37 +694,77 @@ if (this.getField("animtiph") == null) \newcommand{\tooltip@Star}[2]{{\color{tooltipcolor}#1}% {\let\SaveTooltipExtratext\TooltipExtratext \let\TooltipExtratext\relax - \hbox to 0 pt{\tooltip@NoStar{\strut\SaveTooltipExtratext}{#2}\hss}}} + \hbox to 0 pt{\tooltip@NoStar{\SaveTooltipExtratext + \vrule height 10pt depth 0 pt width 0 pt}{#2}\hss}}} \newcommand{\tooltip@NoStar}[2]{% \global\advance\tooltip@count by 1% \edef\act{\write\@auxout{\noexpand\string\noexpand\TooltipPage{\the\tooltip@count}{\the\tooltip@pagetoks}}}\act - \edef\tooltippage{\csname Tooltipcount2page\the\tooltip@count \endcsname}% + \expandafter\ifx\csname Tooltipcount2page\the\tooltip@count \endcsname\relax + \global\edef\tooltippage{} + \else + \global\edef\tooltippage{\csname Tooltipcount2page\the\tooltip@count \endcsname}% + \fi \checkTipNumber{#2}\edef\TipNumber{\FindTipNumber{#2}}% - \def\tempfancytooltips{}% - \ifmovetips\edef\tempfancytooltips{nastav(\TipNumber,\tooltippage);}\fi \leavevmode - \setbox0=\hbox{{\color{tooltipcolor}{#1}}}\hbox to 0 pt{\copy0\smash{\TooltipExtratext}\hss}% - \fancy@a=\ht0 - \advance\fancy@a by \dp 0 - \fancy@b=0.5\fancy@a - \advance\fancy@b by -\dp0 - \advance\fancy@b by -2bp - \lower-\fancy@b\vtop{\hbox{% - \pushButton[\BC{}\BG{}\S{}\AA{\AAMouseExit{\fancy@JS{CloseTooltips();}}% - \ifmouseover - \AAMouseEnter{\fancy@JS{this.getField("ikona."+(\tooltippage)).hidden=false; + \setbox0=\hbox{{\color{tooltipcolor}{#1}}}\copy0\fancy@a=\dp0\advance\fancy@a by \ht0\relax\hbox to 0 pt{\smash{\TooltipExtratext}\hss}\fancy@pushButton{\TipNumber}{\tooltippage}{TooltipField}{\wd0}{\fancy@a}{\dp0}} + +\def\fancy@tooltip@options#1#2{\BC{}\BG{} + \S{}\AA{\AAMouseExit{\fancy@JS{CloseTooltips();}}% + \if@fancytooltips@mouseover + \AAMouseEnter{\fancy@JS{this.getField("ikona."+(#2)).hidden=false; try {app.clearInterval(animace);}catch (e) {} - \tempfancytooltips - zobraz(\TipNumber,\tooltippage); + \if@fancytooltips@movetips nastav(#1,#2);\fi + \if@fancytooltips@blur + try{ + for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + { + if(fancytooltipsOCGs[i].name == "fancyOCG"+(#2)) + fancytooltipsOCGs[i].state = true; + else + fancytooltipsOCGs[i].state = false; + }} catch (e) {}; + \fi + zobraz(#1,#2); }} \fi} - \A{\fancy@JS{this.getField("ikona."+(\tooltippage)).hidden=false; + \A{\fancy@JS{this.getField("ikona."+(#2)).hidden=false; try {app.clearInterval(animace);}catch (e) {} - \tempfancytooltips - zobraz(\TipNumber,\tooltippage); - }}] - {TooltipField}{\wd0}{\fancy@a}}}} + \if@fancytooltips@movetips nastav(#1,#2);\fi + \if@fancytooltips@blur + try { + for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + { + if(fancytooltipsOCGs[i].name == "fancyOCG"+(#2)) + fancytooltipsOCGs[i].state = true; + else + fancytooltipsOCGs[i].state = false; + }} catch (e) {}; + \fi + zobraz(#1,#2); + }}} + +\newtoks\@fxtoks\@fxtoks={\the\pdflastxpos} +\newtoks\@fytoks\@fytoks={\the\pdflastypos} + +\def\fancy@pushButton#1#2#3#4#5#6{% + \lower #6\hbox to 0 pt{\hss\expandafter\pushButton\expandafter[\fancy@tooltip@options{#1}{#2}]{#3}{#4}{#5}}} +\def\fancy@@pushButton#1#2#3#4#5#6#7#8{} + +\ifTooltip@usepdftex +\if@fancytooltips@fg +\def\fancy@pushButton#1#2#3#4#5#6{\pdfsavepos% + \edef\act{\write\@auxout{\string\fancy@@pushButton{#1}{#2}{#3}{\the#4}{\the#5}{\the\@fxtoks}{\the\@fytoks}{\the#6}}}\act% +} +\def\fancy@@pushButton#1#2#3#4#5#6#7#8{% + \expandafter\global\expandafter\pos@fancy@toks\expandafter{\the\pos@fancy@toks\fancy@onlypage{#2}{\vbox to 0 pt{\vss\hbox to 0 pt{\kern #6 sp\hbox to 0 pt{\hss\expandafter\pushButton\expandafter[\fancy@tooltip@options{#1}{#2}]{#3}{#4}{#5}}\hss}\kern #7sp\kern-#8}}}} +\fi +\fi + + +\def\fancy@onlypage#1#2{\def\ft@a{#1}\edef\ft@b{\thepage}% +\ifx\ft@a\ft@b#2\fi} + \def\delayinterval{200} @@ -574,89 +776,182 @@ if (this.getField("animtiph") == null) \newcommand{\tooltipanim@Star}[3]{{\color{tooltipcolor}#1}% {\let\SaveTooltipExtratext\TooltipExtratext \let\TooltipExtratext\relax - \hbox to 0 pt{\tooltipanim@NoStar{\strut\SaveTooltipExtratext}{#2}{#3}\hss}}} + \hbox to 0 pt{\tooltipanim@NoStar{\SaveTooltipExtratext + \vrule height 10pt depth 0 pt width 0 pt}{#2}{#3}\hss}}} \newcommand{\tooltipanim@NoStar}[3]{% \global\advance\tooltip@count by 1% \edef\act{\write\@auxout{\noexpand\string\noexpand\TooltipPage{\the\tooltip@count}{\the\tooltip@pagetoks}}}\act - \edef\tooltippage{\csname Tooltipcount2page\the\tooltip@count \endcsname}% + \expandafter\ifx\csname Tooltipcount2page\the\tooltip@count \endcsname\relax + \global\edef\tooltippage{} + \else + \global\edef\tooltippage{\csname Tooltipcount2page\the\tooltip@count \endcsname}% + \fi \checkTipNumber{#2}\edef\TipNumberA{\FindTipNumber{#2}}% \checkTipNumber{#3}\edef\TipNumberB{\FindTipNumber{#3}}% \leavevmode - \setbox0=\hbox{{\color{tooltipcolor}{#1}}}\hbox to 0 pt{\copy0\smash{\TooltipExtratext}\hss}% - \def\tempfancytooltips{}% - \ifmovetips\edef\tempfancytooltips{nastav(\TipNumberA,\tooltippage);}\fi - \fancy@a=\ht0 - \advance\fancy@a by \dp 0 - \fancy@b=0.5\fancy@a - \advance\fancy@b by -\dp0 - \advance\fancy@b by -2bp - \lower-\fancy@b\vtop{\hbox{% - \pushButton[\BC{}\BG{}\S{}\AA{\AAMouseExit{\fancy@JS{CloseTooltips();}} - \ifmouseover + \setbox0=\hbox{{\color{tooltipcolor}{#1}}}\copy0\fancy@a=\dp0\advance\fancy@a by \ht0\relax\hbox to 0 pt{\smash{\TooltipExtratext}\hss}\fancy@anim@pushButton{\TipNumberA}{\tooltippage}{TooltipField}{\wd0}{\fancy@a}{\dp0}{\TipNumberB}} + + +\def\fancy@tooltipanim@options#1#2#3{ +\BC{}\BG{}\S{}\AA{\AAMouseExit{\fancy@JS{CloseTooltips();}} + \if@fancytooltips@mouseover \AAMouseEnter{\fancy@JS{ try {app.clearInterval(animace);}catch (e) {} - var cislo=\TipNumberA; - \tempfancytooltips + var cislo=#1; + \if@fancytooltips@movetips nastav(#1,#2);\fi + \if@fancytooltips@blur + try{ + for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + { + if(fancytooltipsOCGs[i].name == "fancyOCG"+(#2)) + fancytooltipsOCGs[i].state = true; + else + fancytooltipsOCGs[i].state = false; + }} catch (e) {}; + \fi function animuj() { var DirtyBeforeTooltipanim=this.dirty; - if (cislo<\TipNumberB) cislo=cislo+1; - this.getField('ikona.'+(\tooltippage)).buttonSetIcon(this.getField("animtiph."+cislo).buttonGetIcon()); + if (cislo<#3) cislo=cislo+1; + this.getField('ikona.'+(#2)).buttonSetIcon(this.getField("animtiph."+cislo).buttonGetIcon()); this.dirty=DirtyBeforeTooltipanim; }; - this.getField('ikona.'+(\tooltippage)).buttonSetIcon(this.getField("animtiph."+\TipNumberA).buttonGetIcon()); - this.getField("ikona."+(\tooltippage)).hidden=false; + this.getField('ikona.'+(#2)).buttonSetIcon(this.getField("animtiph."+#1).buttonGetIcon()); + this.getField("ikona."+(#2)).hidden=false; animace=app.setInterval('animuj();', \delayinterval); }} \fi} \A{\fancy@JS{ try {app.clearInterval(animace);}catch (e) {} - var cislo=\TipNumberA; - \tempfancytooltips + var cislo=#1; + \if@fancytooltips@movetips nastav(#1,#2);\fi + \if@fancytooltips@blur + try{ + for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + { + if(fancytooltipsOCGs[i].name == "fancyOCG"+(#3)) + fancytooltipsOCGs[i].state = true; + else + fancytooltipsOCGs[i].state = false; + }} catch (e) {}; + \fi function animuj() { var DirtyBeforeTooltipanim=this.dirty; - if (cislo<\TipNumberB) cislo=cislo+1; - this.getField('ikona.'+(\tooltippage)).buttonSetIcon(this.getField("animtiph."+cislo).buttonGetIcon()); + if (cislo<#3) cislo=cislo+1; + this.getField('ikona.'+(#2)).buttonSetIcon(this.getField("animtiph."+cislo).buttonGetIcon()); this.dirty=DirtyBeforeTooltipanim; }; - this.getField('ikona.'+(\tooltippage)).buttonSetIcon(this.getField("animtiph."+\TipNumberA).buttonGetIcon()); - this.getField("ikona."+(\tooltippage)).hidden=false; + this.getField('ikona.'+(#2)).buttonSetIcon(this.getField("animtiph."+#1).buttonGetIcon()); + this.getField("ikona."+(#2)).hidden=false; animace=app.setInterval('animuj();', \delayinterval); }} - ]{TooltipField}{\wd0}{\fancy@a}}}} +} + + +\def\fancy@anim@pushButton#1#2#3#4#5#6#7{% + \lower #6 \hbox to 0 pt{\hss\expandafter\pushButton\expandafter[\fancy@tooltipanim@options{#1}{#2}{#7}]{#3}{#4}{#5}}} +\def\fancy@@anim@pushButton#1#2#3#4#5#6#7#8#9{} + +\ifTooltip@usepdftex +\if@fancytooltips@fg +\def\fancy@anim@pushButton#1#2#3#4#5#6#7{\pdfsavepos% + \edef\act{\write\@auxout{\string\fancy@@anim@pushButton{#1}{#2}{#3}{\the#4}{\the#5}{\the\@fxtoks}{\the\@fytoks}{\the#6}{#7}}}\act% +} +\def\fancy@@anim@pushButton#1#2#3#4#5#6#7#8#9{% + \expandafter\global\expandafter\pos@fancy@toks\expandafter{\the\pos@fancy@toks\fancy@onlypage{#2}{\vbox to 0 pt{\vss\hbox to 0 pt{\kern #6 sp\hbox to 0 pt{\hss\expandafter\pushButton\expandafter[\fancy@tooltipanim@options{#1}{#2}{#9}]{#3}{#4}{#5}}\hss}\kern #7sp\kern-#8}}}} +\fi +\fi + + % \end{macrocode} % This code closes tooltip if the page is closed. % \begin{macrocode} +\edef\fancytooltips@pdfpageattrJS{% + var DirtyBeforeCloseTooltip=this.dirty; + \if@fancytooltips@blur + try{ + var temp = fancytooltipsOCGs.length; + for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + { + fancytooltipsOCGs[i].state = false; + } + } + catch (e){} + \fi + CloseTooltips(); + this.dirty=DirtyBeforeCloseTooltip; +} \ifTooltip@usepdftex -\def\TooltipPageopencloseJS{ \global\pdfpageattr{% - /AA << /O << /S /JavaScript /JS ( - var DirtyBeforeCloseTooltip=this.dirty; CloseTooltips(); this.dirty=DirtyBeforeCloseTooltip;) >> >>}% +\edef\fancy@temp{/AA << /O << /S /JavaScript /JS ( + \fancytooltips@pdfpageattrJS) >> >>} +\expandafter\def\expandafter\TooltipPageopencloseJS\expandafter{ +\expandafter\global\expandafter\pdfpageattr\expandafter{\fancy@temp}% } \pdfximage{\TooltipFilename.pdf}% \edef\TooltipPages{\the\pdflastximagepages}% \else -\def\TooltipPageopencloseJS{ -\literalps@out{% - [ {ThisPage} << /AA << +\edef\fancy@temp{ [ {ThisPage} << /AA << /O << /S /JavaScript /JS (var DirtyBeforeCloseTooltip=this.dirty; CloseTooltips(); this.dirty=DirtyBeforeCloseTooltip;) >> - >> >> /PUT pdfmark}} -\OpenAction{/S /JavaScript /JS (var DirtyBeforeCloseTooltip=this.dirty; CloseTooltips(); this.dirty=DirtyBeforeCloseTooltip;)} + >> >> /PUT pdfmark} +\expandafter\def\expandafter\TooltipPageopencloseJS\expandafter{ +\expandafter\literalps@out\expandafter{\fancy@temp}} +\edef\fancy@@temp{/S /JavaScript /JS ( \fancytooltips@pdfpageattrJS)} +\expandafter\OpenAction\expandafter{\fancy@@temp} \fi%\ifTooltip@usepdftex -\EveryShipout{\TooltipPageopencloseJS}% \ifTooltip@usepdftex +\def\fancytempA{} +\ifx\FancytooltipsAfterClose\undefined\else\edef\fancytempA{\FancytooltipsAfterClose}\fi +\def\fancytempAA{} +\ifx\FancytooltipsAfterShow\undefined\else\edef\fancytempAA{\FancytooltipsAfterShow}\fi + +\if@fancytooltips@blur +\def\fancytempAAA{ +% \end{macrocode} +% OCG's have not been initialized yet, do it now. +% \begin{macrocode} + var inifancytooltipsOCGs = this.getOCGs(); + var fancytooltipsOCGs = []; + for(var i=0; inifancytooltipsOCGs && i<inifancytooltipsOCGs.length;i++) + { + if(inifancytooltipsOCGs[i].name.substr(0,5) == "fancy") + { + fancytooltipsOCGs.push(inifancytooltipsOCGs[i]); + inifancytooltipsOCGs[i].state=false; + } + } + inifancytooltipsOCGs[0].state=true; + inifancytooltipsOCGs[0].state=false; +} +\else +\def\fancytempAAA{} +\fi + +\if@fancytooltips@blur +\def\fancytempB{ + try {for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + {fancytooltipsOCGs[i].state = false;} } catch (e) {}} +\else +\def\fancytempB{} +\fi + + \begin{insDLJS}[fancyTooltipsLoaded]{Tooltipsdljs}{DLJS for Tooltips} \fancytooltipsdebugmsg var animace; var fancyTooltipsLoaded = true; + \fancytempAAA + function CloseTooltips() { try {this.getField("ikona").hidden=true;}catch (e) {} try {app.clearInterval(animace);}catch (e) {} + \fancytempB + \fancytempA } function nastav(cislo,strana) @@ -684,6 +979,7 @@ if (this.getField("animtiph") == null) var g=this.getField("animtiph."+cislo); f.hidden=false; f.buttonSetIcon(g.buttonGetIcon()); + \fancytempAA } this.dirty=false; @@ -785,7 +1081,6 @@ if (this.getField("animtiph") == null) \egroup \advance\count@\@ne}% } -\AddToShipoutPicture*{\hbox to 0 pt{\TooltipHidden}} \else \let\TooltipHidden\relax \fi @@ -806,7 +1101,7 @@ if (this.getField("animtiph") == null) #1\else\csname FancyToolTip@#1\endcsname\fi} \def\checkTipNumber#1{\expandafter\ifx - \csname FancyToolTip@#1\endcsname\relax \PackageWarning{fancytooltips}{No + \csname FancyToolTip@#1\endcsname\relax \PackageInfo{fancytooltips}{No framenumber is assigned to keyword #1. I assume that #1 is the number of the frame.}% \fi} diff --git a/Master/texmf-dist/tex/latex/fancytooltips/fancytipmark.pdf b/Master/texmf-dist/tex/latex/fancytooltips/fancytipmark.pdf Binary files differindex ee5af6ab93c..75e0f26d72c 100644 --- a/Master/texmf-dist/tex/latex/fancytooltips/fancytipmark.pdf +++ b/Master/texmf-dist/tex/latex/fancytooltips/fancytipmark.pdf diff --git a/Master/texmf-dist/tex/latex/fancytooltips/fancytooltips.sty b/Master/texmf-dist/tex/latex/fancytooltips/fancytooltips.sty index 1504e3d0f2e..fbf45d176bb 100644 --- a/Master/texmf-dist/tex/latex/fancytooltips/fancytooltips.sty +++ b/Master/texmf-dist/tex/latex/fancytooltips/fancytooltips.sty @@ -22,26 +22,25 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{fancytooltips} - [2010/04/10 v1.6 fancytooltips.dtx file] -\RequirePackage{everyshi} + [2010/06/10 v1.8 fancytooltips.dtx file] \RequirePackage{graphicx} \RequirePackage{xkeyval} -\RequirePackage{eso-pic} +\RequirePackage{atbegshi} -\newif\ifcreatetips\createtipsfalse -\DeclareOptionX{createtips}{\createtipstrue} +\newif\if@fancytooltips@createtips\@fancytooltips@createtipsfalse +\DeclareOptionX{createtips}{\@fancytooltips@createtipstrue} \newif\ifTooltip@usepdftex\Tooltip@usepdftextrue \DeclareOptionX{dvips}{\Tooltip@usepdftexfalse} -\newif\ifextratext\extratexttrue -\DeclareOptionX{noextratext}{\extratextfalse} +\newif\if@fancytooltips@extratext\@fancytooltips@extratexttrue +\DeclareOptionX{noextratext}{\@fancytooltips@extratextfalse} -\newif\ifmovetips\movetipsfalse -\DeclareOptionX{movetips}{\movetipstrue} +\newif\if@fancytooltips@movetips\@fancytooltips@movetipsfalse +\DeclareOptionX{movetips}{\@fancytooltips@movetipstrue} -\newif\ifmouseover\mouseoverfalse -\DeclareOptionX{mouseover}{\mouseovertrue} +\newif\if@fancytooltips@mouseover\@fancytooltips@mouseoverfalse +\DeclareOptionX{mouseover}{\@fancytooltips@mouseovertrue} \newif\if@fancytooltips@inactive\@fancytooltips@inactivefalse \DeclareOptionX{inactive}{\@fancytooltips@inactivetrue} @@ -49,9 +48,19 @@ \newif\if@fancytooltips@active\@fancytooltips@activefalse \DeclareOptionX{active}{\@fancytooltips@activetrue} +\newif\if@fancytooltips@fg\@fancytooltips@fgfalse +\DeclareOptionX{fg}{\@fancytooltips@fgtrue} + \DeclareOptionX{filename}{\xdef\TooltipFilename{#1}} \DeclareOptionX{pages}{\xdef\TooltipPages{#1}} +\newif\if@fancytooltips@blur\@fancytooltips@blurfalse +\DeclareOptionX{blur}[0.4]{\@fancytooltips@blurtrue + \xdef\fancytooltips@transparency{#1}} + +\newif\if@fancytooltips@fixcolor\@fancytooltips@fixcolorfalse +\DeclareOptionX{fixcolor}{\@fancytooltips@fixcolortrue} + \def\fancytooltipsdebugmsg{} \DeclareOptionX{debug}{\def \fancytooltipsdebugmsg { @@ -67,10 +76,27 @@ if (this.getField("animtiph") == null) \ProcessOptionsX +\if@fancytooltips@blur +\ifTooltip@usepdftex\else +\@fancytooltips@blurfalse +\AtEndDocument{\PackageWarning{fancytooltips} + {Blur option is incompatible with dvips. ^^J The option blur is turned off }} +\fi +\fi + +\ifTooltip@usepdftex\else +\@fancytooltips@fgfalse +\fi + \newdimen\buttontipwidth \newdimen\buttontipheight \newdimen\fancy@a \newdimen\fancy@b +\newdimen\fancy@layerHshift\fancy@layerHshift=0pt +\newdimen\fancy@layerVshift\fancy@layerVshift=0pt +\newdimen\fancy@button@Vshift \fancy@button@Vshift=0pt +\newdimen\fancy@button@Hshift \fancy@button@Hshift=0pt +\newtoks\pos@fancy@toks \if@fancytooltips@active\@fancytooltips@inactivefalse\fi @@ -87,6 +113,11 @@ if (this.getField("animtiph") == null) \def\TooltipPage#1#2{}% \let\TooltipExtratext\relax \let\TooltipRefmark\relax +\ifx\@ocg@makeknown\undefined + \def\@ocg@makeknown#1#2#3{}\fi +\def\fancy@@pushButton#1#2#3#4#5#6#7#8{} +\def\fancy@@anim@pushButton#1#2#3#4#5#6#7#8#9{} + \PackageWarning{fancytooltips}{Fancytooltips inactive}% \expandafter\endinput\fi @@ -116,15 +147,15 @@ if (this.getField("animtiph") == null) \hss}% \fi} \ifTooltip@usepdftex -\def\TooltipRefmark{\hbox {\raisebox{0.4em}{\includegraphics[width=0.7em]% - {fancytipmark.pdf}}}}% +\def\TooltipRefmark{\hbox {\smash{\raisebox{0.4em}{\includegraphics[width=0.7em]% + {fancytipmark.pdf}}}}}% \else -\def\TooltipRefmark{\hbox {\raisebox{0.4em}{\includegraphics[width=0.7em]% - {fancytipmark.eps}}}}% +\def\TooltipRefmark{\hbox {\smash{\raisebox{0.4em}{\includegraphics[width=0.7em]% + {fancytipmark.eps}}}}}% \fi%\ifTooltip@usepdftex } -\ifcreatetips +\if@fancytooltips@createtips \newwrite\tipfile \immediate\openout\tipfile \jobname.tips \def\keytip#1{\write\tipfile{\string\tooltipname{#1}{\arabic{page}}}} @@ -136,14 +167,14 @@ if (this.getField("animtiph") == null) \ifTooltip@usepdftex \RequirePackage[pdftex]{eforms} -\def\TooltipExtratext{\hbox{\raisebox{0.4em}{\includegraphics[width=0.7em]% - {fancytipmark.pdf}}}} +\def\TooltipExtratext{\hbox{\smash{\raisebox{0.4em}{\includegraphics[width=0.7em]% + {fancytipmark.pdf}}}}} \else \RequirePackage[dvips]{eforms} -\def\TooltipExtratext{\hbox{\raisebox{0.4em}{\includegraphics[width=0.7em]% - {fancytipmark.eps}}}} +\def\TooltipExtratext{\hbox{\smash{\raisebox{0.4em}{\includegraphics[width=0.7em]% + {fancytipmark.eps}}}}} \fi%\ifTooltip@usepdftex -\ifextratext\else\let\TooltipExtratext\relax\fi +\if@fancytooltips@extratext\else\let\TooltipExtratext\relax\fi \AtBeginDocument{ \global\buttontipwidth=\paperwidth @@ -162,7 +193,7 @@ if (this.getField("animtiph") == null) /BS << /W 1 /S /S >> /MK << /TP 1 /IF <</A[1.0 1.0]/SW /B>> >> }% - \vbox to \buttontipheight {\vss\hbox to \buttontipwidth{\hss}}\pdfendlink} + \vbox to \buttontipheight {\vss\hbox to \buttontipwidth{\hss}}\pdfendlink}% \else \def\everyeqIcon#1{\def\every@eqIcon{#1}} \def\every@eqIcon{} @@ -178,9 +209,25 @@ if (this.getField("animtiph") == null) \textColor{0 g}\Ff{\FfReadOnly} } \def\frametip@{\eqIconFTT[\BC{}\BG{}\F{\FHidden}]% - {ikona.\thepage}{\paperwidth}{\paperheight}}% + {ikona.\thepage}{\paperwidth}{\paperheight}% +}% \fi%\ifTooltip@usepdftex +\def\fancytooltips@one{1} +\if@fancytooltips@blur + \RequirePackage{ocg} + \ifx\fancytooltips@one\fancytooltips@transparency + \def\transparent#1{} + \else + \RequirePackage{transparent} + \fi +\else + \ifx\@ocg@makeknown\undefined + \def\@ocg@makeknown#1#2#3{}\fi +\fi + +\if@fancytooltips@fg\else +\RequirePackage{eso-pic} \def\frametip{% \expandafter\ifx \csname TooltipPage\thepage\endcsname\relax \else @@ -188,6 +235,43 @@ if (this.getField("animtiph") == null) \hbox{\raise \dp0 \box0} \fi}% \AddToShipoutPicture{\hbox to 0 pt{\frametip\hss}} +\fi + +\def\fancytooltips@save@position{\pdfsavepos% + \write\@auxout{\string\global\string \fancy@layerVshift \the\pdflastypos sp\string\relax}% + \write\@auxout{\string\global\string \fancy@layerHshift \the\pdflastxpos sp\string\relax}% +} + +\def\fancy@beginshipout@hook{} +\AtBeginShipout{% +\TooltipPageopencloseJS +\setbox\AtBeginShipoutBox=\hbox{% + \hbox to 0 pt{\TooltipHidden}\global\def\TooltipHidden{}% + \fancy@beginshipout@hook\if@fancytooltips@fixcolor\hbox to 0 pt{\resizebox{1pt}{!}{\TooltipExtratext}\hss}\fi + \hbox{\box\AtBeginShipoutBox}% + \ifTooltip@usepdftex + \fancytooltips@save@position + \if@fancytooltips@blur + \expandafter\ifx \csname TooltipPage\thepage\endcsname\relax \else + \lower\fancy@layerVshift\hbox to 0 pt{\kern-\fancy@layerHshift\relax + \begin{ocg}{fancyOCG\thepage}{fancyOCG\thepage}{0}% + \expandafter\transparent\expandafter{\fancytooltips@transparency}% + \color{black}% + \vbox to 0 pt{\vss\hbox{\vrule width \paperwidth height \paperheight}}% + \end{ocg}\hss}% + \fi + \fi + \if@fancytooltips@fg + \expandafter\ifx \csname TooltipPage\thepage\endcsname\relax + \else + \lower\fancy@layerVshift\vbox to 0 pt{\vss\hbox to 0 pt{\kern-\fancy@layerHshift\relax\hbox{\frametip@}\hss}}% + \fi + \lower\fancy@layerVshift\vbox to 0 pt{\vss\hbox to 0 pt{\kern-\fancy@layerHshift\relax\hbox to 0 pt{\the\pos@fancy@toks\hss}}}% + \fi + \fi + }% +}% + \definecolor{tooltipcolor}{rgb}{0,0,1} \newcount\tooltip@count @@ -212,37 +296,75 @@ if (this.getField("animtiph") == null) \newcommand{\tooltip@Star}[2]{{\color{tooltipcolor}#1}% {\let\SaveTooltipExtratext\TooltipExtratext \let\TooltipExtratext\relax - \hbox to 0 pt{\tooltip@NoStar{\strut\SaveTooltipExtratext}{#2}\hss}}} + \hbox to 0 pt{\tooltip@NoStar{\SaveTooltipExtratext + \vrule height 10pt depth 0 pt width 0 pt}{#2}\hss}}} \newcommand{\tooltip@NoStar}[2]{% \global\advance\tooltip@count by 1% \edef\act{\write\@auxout{\noexpand\string\noexpand\TooltipPage{\the\tooltip@count}{\the\tooltip@pagetoks}}}\act - \edef\tooltippage{\csname Tooltipcount2page\the\tooltip@count \endcsname}% + \expandafter\ifx\csname Tooltipcount2page\the\tooltip@count \endcsname\relax + \global\edef\tooltippage{} + \else + \global\edef\tooltippage{\csname Tooltipcount2page\the\tooltip@count \endcsname}% + \fi \checkTipNumber{#2}\edef\TipNumber{\FindTipNumber{#2}}% - \def\tempfancytooltips{}% - \ifmovetips\edef\tempfancytooltips{nastav(\TipNumber,\tooltippage);}\fi \leavevmode - \setbox0=\hbox{{\color{tooltipcolor}{#1}}}\hbox to 0 pt{\copy0\smash{\TooltipExtratext}\hss}% - \fancy@a=\ht0 - \advance\fancy@a by \dp 0 - \fancy@b=0.5\fancy@a - \advance\fancy@b by -\dp0 - \advance\fancy@b by -2bp - \lower-\fancy@b\vtop{\hbox{% - \pushButton[\BC{}\BG{}\S{}\AA{\AAMouseExit{\fancy@JS{CloseTooltips();}}% - \ifmouseover - \AAMouseEnter{\fancy@JS{this.getField("ikona."+(\tooltippage)).hidden=false; + \setbox0=\hbox{{\color{tooltipcolor}{#1}}}\copy0\fancy@a=\dp0\advance\fancy@a by \ht0\relax\hbox to 0 pt{\smash{\TooltipExtratext}\hss}\fancy@pushButton{\TipNumber}{\tooltippage}{TooltipField}{\wd0}{\fancy@a}{\dp0}} + +\def\fancy@tooltip@options#1#2{\BC{}\BG{} + \S{}\AA{\AAMouseExit{\fancy@JS{CloseTooltips();}}% + \if@fancytooltips@mouseover + \AAMouseEnter{\fancy@JS{this.getField("ikona."+(#2)).hidden=false; try {app.clearInterval(animace);}catch (e) {} - \tempfancytooltips - zobraz(\TipNumber,\tooltippage); + \if@fancytooltips@movetips nastav(#1,#2);\fi + \if@fancytooltips@blur + try{ + for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + { + if(fancytooltipsOCGs[i].name == "fancyOCG"+(#2)) + fancytooltipsOCGs[i].state = true; + else + fancytooltipsOCGs[i].state = false; + }} catch (e) {}; + \fi + zobraz(#1,#2); }} \fi} - \A{\fancy@JS{this.getField("ikona."+(\tooltippage)).hidden=false; + \A{\fancy@JS{this.getField("ikona."+(#2)).hidden=false; try {app.clearInterval(animace);}catch (e) {} - \tempfancytooltips - zobraz(\TipNumber,\tooltippage); - }}] - {TooltipField}{\wd0}{\fancy@a}}}} + \if@fancytooltips@movetips nastav(#1,#2);\fi + \if@fancytooltips@blur + try { + for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + { + if(fancytooltipsOCGs[i].name == "fancyOCG"+(#2)) + fancytooltipsOCGs[i].state = true; + else + fancytooltipsOCGs[i].state = false; + }} catch (e) {}; + \fi + zobraz(#1,#2); + }}} + +\newtoks\@fxtoks\@fxtoks={\the\pdflastxpos} +\newtoks\@fytoks\@fytoks={\the\pdflastypos} + +\def\fancy@pushButton#1#2#3#4#5#6{% + \lower #6\hbox to 0 pt{\hss\expandafter\pushButton\expandafter[\fancy@tooltip@options{#1}{#2}]{#3}{#4}{#5}}} +\def\fancy@@pushButton#1#2#3#4#5#6#7#8{} + +\ifTooltip@usepdftex +\if@fancytooltips@fg +\def\fancy@pushButton#1#2#3#4#5#6{\pdfsavepos% + \edef\act{\write\@auxout{\string\fancy@@pushButton{#1}{#2}{#3}{\the#4}{\the#5}{\the\@fxtoks}{\the\@fytoks}{\the#6}}}\act% +} +\def\fancy@@pushButton#1#2#3#4#5#6#7#8{% + \expandafter\global\expandafter\pos@fancy@toks\expandafter{\the\pos@fancy@toks\fancy@onlypage{#2}{\vbox to 0 pt{\vss\hbox to 0 pt{\kern #6 sp\hbox to 0 pt{\hss\expandafter\pushButton\expandafter[\fancy@tooltip@options{#1}{#2}]{#3}{#4}{#5}}\hss}\kern #7sp\kern-#8}}}} +\fi +\fi + +\def\fancy@onlypage#1#2{\def\ft@a{#1}\edef\ft@b{\thepage}% +\ifx\ft@a\ft@b#2\fi} \def\delayinterval{200} @@ -254,86 +376,172 @@ if (this.getField("animtiph") == null) \newcommand{\tooltipanim@Star}[3]{{\color{tooltipcolor}#1}% {\let\SaveTooltipExtratext\TooltipExtratext \let\TooltipExtratext\relax - \hbox to 0 pt{\tooltipanim@NoStar{\strut\SaveTooltipExtratext}{#2}{#3}\hss}}} + \hbox to 0 pt{\tooltipanim@NoStar{\SaveTooltipExtratext + \vrule height 10pt depth 0 pt width 0 pt}{#2}{#3}\hss}}} \newcommand{\tooltipanim@NoStar}[3]{% \global\advance\tooltip@count by 1% \edef\act{\write\@auxout{\noexpand\string\noexpand\TooltipPage{\the\tooltip@count}{\the\tooltip@pagetoks}}}\act - \edef\tooltippage{\csname Tooltipcount2page\the\tooltip@count \endcsname}% + \expandafter\ifx\csname Tooltipcount2page\the\tooltip@count \endcsname\relax + \global\edef\tooltippage{} + \else + \global\edef\tooltippage{\csname Tooltipcount2page\the\tooltip@count \endcsname}% + \fi \checkTipNumber{#2}\edef\TipNumberA{\FindTipNumber{#2}}% \checkTipNumber{#3}\edef\TipNumberB{\FindTipNumber{#3}}% \leavevmode - \setbox0=\hbox{{\color{tooltipcolor}{#1}}}\hbox to 0 pt{\copy0\smash{\TooltipExtratext}\hss}% - \def\tempfancytooltips{}% - \ifmovetips\edef\tempfancytooltips{nastav(\TipNumberA,\tooltippage);}\fi - \fancy@a=\ht0 - \advance\fancy@a by \dp 0 - \fancy@b=0.5\fancy@a - \advance\fancy@b by -\dp0 - \advance\fancy@b by -2bp - \lower-\fancy@b\vtop{\hbox{% - \pushButton[\BC{}\BG{}\S{}\AA{\AAMouseExit{\fancy@JS{CloseTooltips();}} - \ifmouseover + \setbox0=\hbox{{\color{tooltipcolor}{#1}}}\copy0\fancy@a=\dp0\advance\fancy@a by \ht0\relax\hbox to 0 pt{\smash{\TooltipExtratext}\hss}\fancy@anim@pushButton{\TipNumberA}{\tooltippage}{TooltipField}{\wd0}{\fancy@a}{\dp0}{\TipNumberB}} + +\def\fancy@tooltipanim@options#1#2#3{ +\BC{}\BG{}\S{}\AA{\AAMouseExit{\fancy@JS{CloseTooltips();}} + \if@fancytooltips@mouseover \AAMouseEnter{\fancy@JS{ try {app.clearInterval(animace);}catch (e) {} - var cislo=\TipNumberA; - \tempfancytooltips + var cislo=#1; + \if@fancytooltips@movetips nastav(#1,#2);\fi + \if@fancytooltips@blur + try{ + for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + { + if(fancytooltipsOCGs[i].name == "fancyOCG"+(#2)) + fancytooltipsOCGs[i].state = true; + else + fancytooltipsOCGs[i].state = false; + }} catch (e) {}; + \fi function animuj() { var DirtyBeforeTooltipanim=this.dirty; - if (cislo<\TipNumberB) cislo=cislo+1; - this.getField('ikona.'+(\tooltippage)).buttonSetIcon(this.getField("animtiph."+cislo).buttonGetIcon()); + if (cislo<#3) cislo=cislo+1; + this.getField('ikona.'+(#2)).buttonSetIcon(this.getField("animtiph."+cislo).buttonGetIcon()); this.dirty=DirtyBeforeTooltipanim; }; - this.getField('ikona.'+(\tooltippage)).buttonSetIcon(this.getField("animtiph."+\TipNumberA).buttonGetIcon()); - this.getField("ikona."+(\tooltippage)).hidden=false; + this.getField('ikona.'+(#2)).buttonSetIcon(this.getField("animtiph."+#1).buttonGetIcon()); + this.getField("ikona."+(#2)).hidden=false; animace=app.setInterval('animuj();', \delayinterval); }} \fi} \A{\fancy@JS{ try {app.clearInterval(animace);}catch (e) {} - var cislo=\TipNumberA; - \tempfancytooltips + var cislo=#1; + \if@fancytooltips@movetips nastav(#1,#2);\fi + \if@fancytooltips@blur + try{ + for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + { + if(fancytooltipsOCGs[i].name == "fancyOCG"+(#3)) + fancytooltipsOCGs[i].state = true; + else + fancytooltipsOCGs[i].state = false; + }} catch (e) {}; + \fi function animuj() { var DirtyBeforeTooltipanim=this.dirty; - if (cislo<\TipNumberB) cislo=cislo+1; - this.getField('ikona.'+(\tooltippage)).buttonSetIcon(this.getField("animtiph."+cislo).buttonGetIcon()); + if (cislo<#3) cislo=cislo+1; + this.getField('ikona.'+(#2)).buttonSetIcon(this.getField("animtiph."+cislo).buttonGetIcon()); this.dirty=DirtyBeforeTooltipanim; }; - this.getField('ikona.'+(\tooltippage)).buttonSetIcon(this.getField("animtiph."+\TipNumberA).buttonGetIcon()); - this.getField("ikona."+(\tooltippage)).hidden=false; + this.getField('ikona.'+(#2)).buttonSetIcon(this.getField("animtiph."+#1).buttonGetIcon()); + this.getField("ikona."+(#2)).hidden=false; animace=app.setInterval('animuj();', \delayinterval); }} - ]{TooltipField}{\wd0}{\fancy@a}}}} +} + +\def\fancy@anim@pushButton#1#2#3#4#5#6#7{% + \lower #6 \hbox to 0 pt{\hss\expandafter\pushButton\expandafter[\fancy@tooltipanim@options{#1}{#2}{#7}]{#3}{#4}{#5}}} +\def\fancy@@anim@pushButton#1#2#3#4#5#6#7#8#9{} + \ifTooltip@usepdftex -\def\TooltipPageopencloseJS{ \global\pdfpageattr{% - /AA << /O << /S /JavaScript /JS ( - var DirtyBeforeCloseTooltip=this.dirty; CloseTooltips(); this.dirty=DirtyBeforeCloseTooltip;) >> >>}% +\if@fancytooltips@fg +\def\fancy@anim@pushButton#1#2#3#4#5#6#7{\pdfsavepos% + \edef\act{\write\@auxout{\string\fancy@@anim@pushButton{#1}{#2}{#3}{\the#4}{\the#5}{\the\@fxtoks}{\the\@fytoks}{\the#6}{#7}}}\act% +} +\def\fancy@@anim@pushButton#1#2#3#4#5#6#7#8#9{% + \expandafter\global\expandafter\pos@fancy@toks\expandafter{\the\pos@fancy@toks\fancy@onlypage{#2}{\vbox to 0 pt{\vss\hbox to 0 pt{\kern #6 sp\hbox to 0 pt{\hss\expandafter\pushButton\expandafter[\fancy@tooltipanim@options{#1}{#2}{#9}]{#3}{#4}{#5}}\hss}\kern #7sp\kern-#8}}}} +\fi +\fi + +\edef\fancytooltips@pdfpageattrJS{% + var DirtyBeforeCloseTooltip=this.dirty; + \if@fancytooltips@blur + try{ + var temp = fancytooltipsOCGs.length; + for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + { + fancytooltipsOCGs[i].state = false; + } + } + catch (e){} + \fi + CloseTooltips(); + this.dirty=DirtyBeforeCloseTooltip; +} +\ifTooltip@usepdftex +\edef\fancy@temp{/AA << /O << /S /JavaScript /JS ( + \fancytooltips@pdfpageattrJS) >> >>} +\expandafter\def\expandafter\TooltipPageopencloseJS\expandafter{ +\expandafter\global\expandafter\pdfpageattr\expandafter{\fancy@temp}% } \pdfximage{\TooltipFilename.pdf}% \edef\TooltipPages{\the\pdflastximagepages}% \else -\def\TooltipPageopencloseJS{ -\literalps@out{% - [ {ThisPage} << /AA << +\edef\fancy@temp{ [ {ThisPage} << /AA << /O << /S /JavaScript /JS (var DirtyBeforeCloseTooltip=this.dirty; CloseTooltips(); this.dirty=DirtyBeforeCloseTooltip;) >> - >> >> /PUT pdfmark}} -\OpenAction{/S /JavaScript /JS (var DirtyBeforeCloseTooltip=this.dirty; CloseTooltips(); this.dirty=DirtyBeforeCloseTooltip;)} + >> >> /PUT pdfmark} +\expandafter\def\expandafter\TooltipPageopencloseJS\expandafter{ +\expandafter\literalps@out\expandafter{\fancy@temp}} +\edef\fancy@@temp{/S /JavaScript /JS ( \fancytooltips@pdfpageattrJS)} +\expandafter\OpenAction\expandafter{\fancy@@temp} \fi%\ifTooltip@usepdftex -\EveryShipout{\TooltipPageopencloseJS}% \ifTooltip@usepdftex +\def\fancytempA{} +\ifx\FancytooltipsAfterClose\undefined\else\edef\fancytempA{\FancytooltipsAfterClose}\fi +\def\fancytempAA{} +\ifx\FancytooltipsAfterShow\undefined\else\edef\fancytempAA{\FancytooltipsAfterShow}\fi + +\if@fancytooltips@blur +\def\fancytempAAA{ + var inifancytooltipsOCGs = this.getOCGs(); + var fancytooltipsOCGs = []; + for(var i=0; inifancytooltipsOCGs && i<inifancytooltipsOCGs.length;i++) + { + if(inifancytooltipsOCGs[i].name.substr(0,5) == "fancy") + { + fancytooltipsOCGs.push(inifancytooltipsOCGs[i]); + inifancytooltipsOCGs[i].state=false; + } + } + inifancytooltipsOCGs[0].state=true; + inifancytooltipsOCGs[0].state=false; +} +\else +\def\fancytempAAA{} +\fi + +\if@fancytooltips@blur +\def\fancytempB{ + try {for(var i=0; fancytooltipsOCGs && i<fancytooltipsOCGs.length;i++) + {fancytooltipsOCGs[i].state = false;} } catch (e) {}} +\else +\def\fancytempB{} +\fi + \begin{insDLJS}[fancyTooltipsLoaded]{Tooltipsdljs}{DLJS for Tooltips} \fancytooltipsdebugmsg var animace; var fancyTooltipsLoaded = true; + \fancytempAAA + function CloseTooltips() { try {this.getField("ikona").hidden=true;}catch (e) {} try {app.clearInterval(animace);}catch (e) {} + \fancytempB + \fancytempA } function nastav(cislo,strana) @@ -361,6 +569,7 @@ if (this.getField("animtiph") == null) var g=this.getField("animtiph."+cislo); f.hidden=false; f.buttonSetIcon(g.buttonGetIcon()); + \fancytempAA } this.dirty=false; @@ -457,7 +666,6 @@ if (this.getField("animtiph") == null) \egroup \advance\count@\@ne}% } -\AddToShipoutPicture*{\hbox to 0 pt{\TooltipHidden}} \else \let\TooltipHidden\relax \fi @@ -473,7 +681,7 @@ if (this.getField("animtiph") == null) #1\else\csname FancyToolTip@#1\endcsname\fi} \def\checkTipNumber#1{\expandafter\ifx - \csname FancyToolTip@#1\endcsname\relax \PackageWarning{fancytooltips}{No + \csname FancyToolTip@#1\endcsname\relax \PackageInfo{fancytooltips}{No framenumber is assigned to keyword #1. I assume that #1 is the number of the frame.}% \fi} diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 9235bb92c50..11d04620b84 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -1548,6 +1548,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex"; 'ecclesiastic' => 'latex', # requires interaction 'etextools' => 'etex -translate-file=empty.tcx', # no 8-bit 'extpfeil' => 'latex -translate-file=empty.tcx', # no 8-bit + 'fancytooltips' => 'latex', # requires interaction 'fancyvrb' => 'latex -translate-file=empty.tcx', # no 8-bit 'geometry' => 'tex', 'german' => 'tex', |