summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/dvdcoll/pdfnotiz.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/dvdcoll/pdfnotiz.sty')
-rw-r--r--macros/latex/contrib/dvdcoll/pdfnotiz.sty433
1 files changed, 433 insertions, 0 deletions
diff --git a/macros/latex/contrib/dvdcoll/pdfnotiz.sty b/macros/latex/contrib/dvdcoll/pdfnotiz.sty
new file mode 100644
index 0000000000..7ba10bbae4
--- /dev/null
+++ b/macros/latex/contrib/dvdcoll/pdfnotiz.sty
@@ -0,0 +1,433 @@
+%%
+%% Copyright (C) 2006-2008 by:
+%% Josef Kleber
+%% <josef.kleber@gmx.net>
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.3 of this license
+%% or (at your option) any later version. The latest version of this
+%% license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of LaTeX version
+%% 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "author-maintained".
+%%
+%% This Current Maintainer of this work is Josef Kleber.
+%%
+%% This work consists of all files listed in manifest.txt.
+%%
+%% This style is largely based on Scott Pakin's cooltooltips.sty with minor
+%% adjustmjents for the needs of dvdcoll.cls plus some new commands
+%%
+\NeedsTeXFormat{LaTeX2e}[2001/06/01]%
+\ProvidesPackage{pdfnotiz}[2008/04/21 v1.2a PDF tooltips - Josef Kleber (C) 2007-2008]%
+\RequirePackage{ifpdf}%
+\RequirePackage{marginnote}%
+\newcommand*{\ctip@form@fields}{}%
+\ifpdf%
+ \AtEndDocument{%
+ \immediate\pdfobj {%
+ <<%
+ /Fields [\ctip@form@fields]%
+ /NeedAppearances true%
+ >>%
+ }%
+ \pdfcatalog {%
+ /AcroForm \the\pdflastobj\space 0 R%
+ }%
+ }%
+\fi%
+\ifpdf%
+ \setbox\@tempboxa=\hbox{}%
+ \immediate\pdfxform\@tempboxa%
+ \edef\ctip@empty@icon{\the\pdflastxform}%
+\fi%
+\newcommand*{\ctip@tip@number}{0}%
+\newcommand*{\ctip@make@Text}[3][0 1 0]{%
+ \pdfannot width 0pt height 0pt depth 0pt {%
+ /Subtype /Text%
+ /C [#1]%
+ /Subj (#2)%
+ /Contents (#3)%
+ /NM (ctip Text \ctip@tip@number)%
+ /AP <<%
+ /N \ctip@empty@icon\space 0 R%
+ /D \ctip@empty@icon\space 0 R%
+ /R \ctip@empty@icon\space 0 R%
+ >>%
+ /Open false%
+ }%
+}%
+\newcommand*{\ctip@current@page}{1}%
+\newcommand*{\ctip@last@invis}{0}%
+\let\ctip@label=\label%
+\newcommand*{\ctip@update@pagenum}{%
+ \ctip@label{ctip:tip:\ctip@tip@number}%
+ \expandafter\let\expandafter\ctip@refname%
+ \csname r@ctip:tip:\ctip@tip@number\endcsname%
+ \@ifundefined{ctip@refname}{%
+ \xdef\ctip@current@page{\thepage}%
+ }{%
+ \def\ctip@secondofN##1##2##3!{%
+ \xdef\ctip@current@page{##2}%
+ }%
+ \expandafter\ctip@secondofN\ctip@refname!%
+ }%
+}%
+\newcommand*{\ctip@make@invisible@Widget}{%
+ \pdfannot width 0pt height 0pt depth 0pt {%
+ /Subtype /Widget%
+ /FT /Btn%
+ /T (ctip invisible Widget \ctip@current@page)%
+ /DA (/Helv 10 Tf 0 0 0 rg)%
+ /Ff 65536%
+ /F 2%
+ /AA <<%
+ /Fo <<%
+ /Type /Action%
+ /S /JavaScript%
+ /JS (event.target.display = display.hidden)%
+ >>%
+ >>%
+ }%
+}%
+\newsavebox{\ctip@content@box}%
+
+\newcommand*{\ctip@unfocus@js}{%
+ var ctipField =%
+ this.getField("ctip invisible Widget \ctip@current@page");%
+ ctipField.display = display.visible;%
+ ctipField.setFocus();%
+}
+\newcommand*{\ctip@enter@js}{%
+ if (!global.ctip_disable_popups) {%
+ var ctipText =%
+ this.getAnnot(this.pageNum, "ctip Text \ctip@tip@number");%
+ ctipText.popupOpen = true;%
+ \ctip@unfocus@js%
+ }%
+}%
+\newcommand*{\ctip@exit@js}{%
+ if (!global.ctip_disable_popups) {%
+ var ctipText =%
+ this.getAnnot(this.pageNum, "ctip Text \ctip@tip@number");%
+ ctipText.popupOpen = false;%
+ \ctip@unfocus@js%
+ }%
+}%
+\newcommand*{\ctip@make@Widget}[3][0 1 0]{%
+ \setlength{\@tempdima}{\wd\ctip@content@box}%
+ \addtolength{\@tempdima}{\fboxsep}%
+ \setlength{\@tempdimb}{\ht\ctip@content@box}%
+ \addtolength{\@tempdimb}{0.5\fboxsep}%
+ \setlength{\@tempdimc}{\dp\ctip@content@box}%
+ \addtolength{\@tempdimc}{0.5\fboxsep}%
+ \hspace*{-0.5\fboxsep}%
+ \immediate%
+ \pdfobj {%
+ <<%
+ /Type /Action%
+ /S /JavaScript%
+%insert for click opening%
+ /JS (\ctip@enter@js)%
+%deleted link ability%
+% /S /URI%
+% /URI (#2)%
+ >>%
+ }%
+ \edef\ctip@action@object{\the\pdflastobj\space 0 R}%
+ \makebox[0pt][l]{%
+ \advance\fboxrule by 0.9999pt%
+ \pdfannot width \@tempdima%
+ height \@tempdimb%
+ depth \@tempdimc {%
+ /Subtype /Link%
+ /A \ctip@action@object%
+ /Border [0 0 \strip@pt\fboxrule]%
+ /C [#1]%
+ }%
+ }%
+ \pdfannot width \@tempdima%
+ height \@tempdimb%
+ depth \@tempdimc {%
+ /Subtype /Widget%
+ /FT /Btn%
+ /T (ctip Field \ctip@tip@number)%
+ /TU (#3)%
+ /DA (/Helv 10 Tf 0 0 0 rg)%
+ /Ff 65536%
+ /BS <<%
+ /Type /Border%
+ /W \strip@pt\fboxrule%
+ >>%
+ /MK <<%
+ /BC [#1]%
+ /TP 1%
+ >>%
+ /AA <<%
+%deleting moseover effects
+% /E <<
+% /Type /Action
+% /S /JavaScript
+% /JS (\ctip@enter@js)
+% >>
+% /X <<
+% /Type /Action
+% /S /JavaScript
+% /JS (\ctip@exit@js)
+% >>
+ /U <<%
+ /Type /Action%
+ /S /JavaScript%
+ /JS (\ctip@unfocus@js)%
+ /Next \ctip@action@object%
+ >>%
+ >>%
+ }%
+ \xdef\ctip@form@fields{\ctip@form@fields\space\the\pdflastannot\space 0 R}%
+}%
+\DeclareRobustCommand{\cooltooltip}[1][0 1 0]{%
+ \def\ctip@popup@color{#1}%
+ \ctip@cooltooltip@i%
+}%
+\newcommand*{\ctip@cooltooltip@i}[6][\ctip@popup@color]{%
+ \savebox{\ctip@content@box}{#6}%
+ \@tempcnta=\ctip@tip@number%
+ \advance\@tempcnta by 1%
+ \xdef\ctip@tip@number{\the\@tempcnta}%
+ \ctip@update@pagenum%
+ \@tempcnta=\ctip@last@invis%
+ \@tempcntb=\ctip@current@page%
+ \ifnum\@tempcnta<\@tempcntb%
+ \ctip@make@invisible@Widget%
+ \xdef\c@ctip@last@invis{\ctip@current@page}%
+ \fi%
+ \makebox[0pt][l]{%
+ \ctip@make@Widget[#1]{#4}{#5}%
+ \makebox[\paperwidth][r]{%
+ \ctip@make@Text[\ctip@popup@color]{#2}{#3}%
+ }%
+ }%
+ \usebox{\ctip@content@box}%
+}%
+\DeclareRobustCommand{\cooltooltiptoggle}[1]{%
+ \savebox{\ctip@content@box}{#1}%
+ \makebox[0pt][l]{%
+ \pdfannot width \wd\ctip@content@box%
+ height \ht\ctip@content@box%
+ depth \dp\ctip@content@box {%
+ /Subtype /Link%
+ /Border [0 0 0]%
+ /A <<%
+ /Type /Action%
+ /S /JavaScript%
+ /JS (%
+ global.ctip_disable_popups = !global.ctip_disable_popups;%
+ var ctipField;%
+ var i;%
+ for (i=1; (ctipField=this.getField("ctip Field " + i)); i++)%
+ ctipField.display =%
+ global.ctip_disable_popups ? display.hidden : display.visible;%
+ )%
+ >>%
+ }%
+ }%
+ \usebox{\ctip@content@box}%
+}%
+\RequirePackage{ifpdf}%
+\ifpdf%
+\else%
+ \PackageWarning{pdfnotiz}{%
+ Not running pdfLaTeX in PDF mode; disabling pdf annotations%
+ }%
+ \renewcommand*{\ctip@cooltooltip@i}[6][]{\mbox{#6}}%
+\fi%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%simplfied run time optimized version of hyperrref's \pdfstringdef for long texts
+\def\pn@pdf@string@def#1#2{%
+ \begingroup
+ \escapechar`\\%
+ \edef\0{\string\0}%
+ \edef\1{\string\1}%
+ \edef\2{\string\2}%
+ \edef\3{\string\3}%
+ \ifHy@unicode
+ \edef\8{\string\8}%
+ \edef\9{\string\9}%
+ \fontencoding{PU}%
+ \HyPsd@UTFviii
+ \else
+ \fontencoding{PD1}%
+ \fi
+ \enc@update
+ \@inmathwarn\pdfstringdef
+ \let\@inmathwarn\HyPsd@inmathwarn
+ \let\add@accent\HyPsd@add@accent
+ \let\{\textbraceleft
+ \let\}\textbraceright
+ \let\\\textbackslash
+ \let\#\textnumbersign
+ \let\$\textdollar
+ \let\%\textpercent
+ \let\&\textampersand
+ \let\_\textunderscore
+ \let\P\textparagraph
+ \let\ldots\textellipsis
+ \let\dots\textellipsis
+ \def\\{\pdfstringdefWarn\\}%
+ \def\newline{\pdfstringdefWarn\newline}%
+ \def\TeX{TeX}%
+ \def\LaTeX{La\TeX}%
+ \def\LaTeXe{\LaTeX2e}%
+ \def\eTeX{e-\TeX}%
+ \def\MF{Metafont}%
+ \def\MP{Metapost}%
+ \let\emph\@firstofone
+ \let\textbf\@firstofone
+ \let\textit\@firstofone
+ \let\textmd\@firstofone
+ \let\textnormal\@firstofone
+ \let\textrm\@firstofone
+ \let\textsc\@firstofone
+ \let\textsf\@firstofone
+ \let\textsl\@firstofone
+ \let\texttt\@firstofone
+ \let\textup\@firstofone
+ \let\ttfamily\@empty
+ \let\sffamily\@empty
+ \let\itshape\@empty
+ \let\upshape\@empty
+ \let\bfseries\@empty
+ \let\rm\@empty
+ \let\Huge\@empty
+ \let\LARGE\@empty
+ \let\Large\@empty
+ \let\footnotesize\@empty
+ \let\huge\@empty
+ \let\large\@empty
+ \let\normalsize\@empty
+ \let\scriptsize\@empty
+ \let\small\@empty
+ \let\tiny\@empty
+ \def\textcolor##1##{\@secondoftwo}%
+ \let\textlatin\@firstofone
+ \@ifundefined{language@group}{}{%
+ \csname HyPsd@babel@\language@group\endcsname
+ }%
+ \let\@safe@activestrue\relax
+ \let\@safe@activesfalse\relax
+ \let\cyr\relax
+ \let\es@roman\@Roman
+ \let\glqq\textglqq
+ \let\grqq\textgrqq
+ \let\glq\textglq
+ \let\grq\textgrq
+ \let\flqq\textflqq
+ \let\frqq\textfrqq
+ \let\flq\textflq
+ \let\frq\textfrq
+ \let\if@mid@expandable\@firstoftwo
+ \HyPsd@AMSclassfix
+ \let\hspace\HyPsd@hspace
+ \let\label\@gobble
+ \let\index\@gobble
+ \let\glossary\@gobble
+ \let\href\@secondoftwo
+ \let\ref\HyPsd@ref
+ \let\pageref\HyPsd@pageref
+ \let\autoref\HyPsd@autoref
+ \let\leavevmode\@empty
+ \let\mbox\@empty
+ \def\halign{\pdfstringdefWarn\halign\@gobble}%
+ \ifHy@CJKbookmarks
+ \HyPsd@CJKhook
+ \fi
+ \Hy@pdfstringtrue
+ \pdfstringdefPreHook
+ \HyPsd@LetUnexpandableSpace\space
+ \HyPsd@LetUnexpandableSpace\ %
+ \HyPsd@LetUnexpandableSpace~%
+ \HyPsd@LetUnexpandableSpace\nobreakspace
+ \@ifundefined{@xspace}{%
+ \let\xspace\HyPsd@ITALCORR
+ }{%
+ \let\xspace\HyPsd@XSPACE
+ }%
+ \let\/\HyPsd@ITALCORR
+ \let\bgroup\/%
+ \let\egroup\/%
+ \let\discretionary\@gobbletwo
+ \let\@ifnextchar\HyPsd@ifnextchar
+ \let\@ifnextchar\HyPsd@new@ifnextchar
+ \let\@protected@testopt\HyPsd@protected@testopt
+ \begingroup
+ \let\GenericError\@gobblefour
+ \let\GenericWarning\@gobbletwo
+ \let\GenericInfo\@gobbletwo
+ \ifx\nofrenchguillemets\@undefined
+ \else
+ \nofrenchguillemets
+ \fi
+ \let\Hy@temp\xdef
+ \let\def\HyPsd@DefCommand
+ \let\gdef\HyPsd@DefCommand
+ \let\edef\HyPsd@DefCommand
+ \let\xdef\HyPsd@DefCommand
+ \let\futurelet\HyPsd@LetCommand
+ \let\let\HyPsd@LetCommand
+ \Hy@temp#1{#2}%
+ \endgroup
+ \ifx#1\@empty
+ \else
+ \xdef#1{#1\@empty}%
+ \fi
+ \ifHy@unicode
+ \HyPsd@ConvertToUnicode#1%
+ \fi
+ \pdfstringdefPostHook#1%
+ \endgroup
+}%
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\def\pn@pdf@boxcolor{0 0 1}%
+\def\pn@pdf@linkcolor{0 0 1}%
+\gdef\pn@pdf@desc{}%
+%
+\newcommand{\pdfnote}[1]%
+{%
+ \cooltooltip[\pn@pdf@boxcolor][\pn@pdf@linkcolor]{\dc@pdf@subject}{\pn@pdf@desc}{}{}{#1}%
+ \gdef\pn@pdf@desc{}%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+\def\pn@pdfmarginnote@color{0 0 1}%
+\def\pn@pdfmarginnote@subject{Info}%
+\def\pn@pdfmarginnote@type{Help}%
+%
+\newcommand{\pdfmarginnote}[2][\pn@pdfmarginnote@type]{%
+\def\pn@notiz{}%
+\pdfstringdef\pn@notiz{#2}%
+\marginnote{%
+ \pdfannot width 0pt height \baselineskip depth 0pt%
+ {%
+ /Subtype /Text%
+ /C [\pn@pdfmarginnote@color]%
+ /Subj (\pn@pdfmarginnote@subject)%
+ /Name (#1)%
+ /TU ( )%
+ /Contents (\pn@notiz)%
+ /Open false%
+ }%
+ }%
+}%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\endinput% \ No newline at end of file