summaryrefslogtreecommitdiff
path: root/texmf-dist/source/latex/digicap-pro
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2018-06-11 12:42:37 +0900
committerNorbert Preining <norbert@preining.info>2018-06-11 12:42:37 +0900
commit7773e55cad46b0305e833329e97c73e80f318805 (patch)
tree21ab1828303e5c0cd84720c9840be82cbd6083a4 /texmf-dist/source/latex/digicap-pro
parent119c41f672f44e3acc86d1518ed0a3d8e0149d77 (diff)
add digicap-pro
Diffstat (limited to 'texmf-dist/source/latex/digicap-pro')
-rw-r--r--texmf-dist/source/latex/digicap-pro/digicap-pro.dtx783
-rw-r--r--texmf-dist/source/latex/digicap-pro/digicap-pro.ins60
-rw-r--r--texmf-dist/source/latex/digicap-pro/doc/digicap_man.tex685
3 files changed, 1528 insertions, 0 deletions
diff --git a/texmf-dist/source/latex/digicap-pro/digicap-pro.dtx b/texmf-dist/source/latex/digicap-pro/digicap-pro.dtx
new file mode 100644
index 00000000..00e23502
--- /dev/null
+++ b/texmf-dist/source/latex/digicap-pro/digicap-pro.dtx
@@ -0,0 +1,783 @@
+% \iffalse
+%<*copyright>
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% digicap-pro package, %%
+%% Copyright (C) 2008--2018 %%
+%% dpstory@acrotex.net %%
+%% %%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1.2 of the %%
+%% License, or (at your option) any later version. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%</copyright>
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{digicap-pro}
+%<package> [2018/05/13 v1.3 Transparent Captions with Photos (dps)]
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[colorlinks,hyperindex=false]{hyperref}
+\pdfstringdefDisableCommands{\let\\\textbackslash}%
+\def\CMD#1{\textbackslash{#1}}\def\EXCL{!}
+\let\opt\texttt \let\app\textsf \let\pkg\textsf \let\env\texttt
+\OnlyDescription % comment out for implementation details
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\bgroup\ttfamily
+\gdef\brpr#1{\char123\relax#1\char125\relax}\egroup
+\let\darg\brpr
+\let\env\texttt
+\let\opt\texttt
+\def\visispace{\symbol{32}}
+\def\ameta#1{\ensuremath{\langle\textit{\texttt{#1}}\rangle}}
+\def\meta#1{\textsl{\texttt{#1}}}
+\def\SUB#1{\ensuremath{{}_{\mbox{\scriptsize\ttfamily#1}}}}
+\InputIfFileExists{aebdocfmt.def}{\PackageInfo{digicap-pro}{Inputting aebdocfmt.def}}
+ {\def\IndexOpt{\DescribeMacro}\def\IndexKey{\DescribeMacro}\let\setupFullwidth\relax
+ \PackageInfo{digicap-pro}{aebdocfmt.def cannot be found}}
+\begin{document}
+ \GetFileInfo{digicap-pro.sty}
+ \title{The \texorpdfstring{\protect\pkg{digicap-pro}}{digicap-pro} Package}
+ \author{D. P. Story\\
+ Email: \texttt{dpstory@acrotex.net}}
+ \date{processed \today}
+ \maketitle
+ \tableofcontents
+ \DocInput{digicap-pro.dtx}
+\IfFileExists{\jobname.ind}{\newpage\setupFullwidth\par\PrintIndex}{\paragraph*{Index} The index goes here.
+ Execute\\[3pt]\null\qquad
+ \texttt{makeindex -s gind.ist -o digicap-pro.ind digicap-pro.idx}\\[3pt]
+ on the command line and recompile \texttt{digicap-pro.dtx}.}
+\IfFileExists{\jobname.gls}{\PrintChanges}{\paragraph*{Change History} The list of changes goes here.
+ Execute\\[3pt]\null\qquad
+ \texttt{makeindex -s gglo.ist -o digicap-pro.gls digicap-pro.glo}\\[3pt]
+ on the command line and recompile \texttt{digicap-pro.dtx}.}
+\end{document}
+%</driver>
+% \fi
+% \MakeShortVerb{|}
+% \InputIfFileExists{aebdonotindex.def}{\PackageInfo{digicap-pro}{Inputting aebdonotindex.def}}
+% {\PackageInfo{digicap-pro}{cannot find aebdonotindex.def}}
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+% \section{Introduction}
+% This is a package that can create fancy, transparent captions to photos,\footnote
+% {Transparent here means having an opacity between 0 and 1.} or any graphics file.
+% The captions can be set to be continually visible, or only visible on roll-over. Captions can be
+% placed horizontally and vertically with optional arguments. A visible, possibly transparent, border
+% can be placed around the caption as well.
+%
+% \section{Package Options}
+%
+% The \IndexOpt{display1}\opt{display1} option is used to create a photo album, a single PDF that
+% contains many photos with captions which are accessible by clicking thumbnails.
+% \begin{macrocode}
+\DeclareOption{display1}{\AtEndOfPackage{\dc@input@displayi}}
+\def\dc@input@displayi{\InputIfFileExists{digi-p1.def}{}{}}
+\ProcessOptions
+% \end{macrocode}
+% \section{Code}
+%
+% Let's get this show on the road!
+%
+% \subsection{Required Packages}
+% The package builds on packages developed as part of \textsf{AeB} or \textsf{AeB~Pro}:
+%\begin{itemize}
+% \item\textsf{aeb\_pro}: supplies support for layers and JavaScript management of layers
+% \item\textsf{graphicxbox}: places a graphic as the background of a box
+% \item\textsf{opacity-pro}: creates the transparency effects
+% \item\textsf{eforms}: use to create Acrobat form buttons with a roll-over action to make
+% roll-over captions visible or hidden.
+%\end{itemize}
+%The graphicx package is also used to import digital photos, or other graphics.
+% \begin{macrocode}
+\RequirePackage{eforms}
+\RequirePackage{graphicx}
+\RequirePackage{graphicxbox}
+\RequirePackage{opacity-pro}
+% \end{macrocode}
+%
+% \subsection{\texorpdfstring{\protect\cs{opcolorbox}}{\CMD{opcolorbox}}}
+%
+% The following are the definitions of the key-value pairs used by \cs{opcolorbox}. A brief
+% description of their purpose appears in the section devoted to \cs{opcolorbox}.
+%
+% \begin{macrocode}
+\def\dc@nocolor{nocolor}
+\define@key{opcolorbox}{borderwidth}[2pt]{\def\opcb@borderwidth{#1}}
+\define@key{opcolorbox}{fboxsep}[6pt]{\def\opcb@fboxsep{#1}}
+\define@key{opcolorbox}{width}[\linewidth]{\def\opcb@width{#1}}
+\define@key{opcolorbox}{bordercolor}[black]{\def\opcb@bordercolor{#1}}
+\define@key{opcolorbox}{bgcolor}[white]{\def\opcb@bgcolor{#1}}
+\define@key{opcolorbox}{borderop}[.5]{\def\opcb@borderop{#1}}
+\define@key{opcolorbox}{bordertextop}[1]{\def\opcb@bordertextop{#1}}
+\define@key{opcolorbox}{bgop}[.5]{\def\opcb@bgop{#1}}
+\define@key{opcolorbox}{textop}[1]{\def\opcb@textop{#1}}
+\define@key{opcolorbox}{borderblend}[Normal]{%
+ \def\opcb@borderblendmode{#1}}
+\define@key{opcolorbox}{bgblend}[Normal]{\def\opcb@bgblendmode{#1}}
+\setkeys{opcolorbox}{borderwidth,fboxsep,width,bordercolor,bgcolor,%
+ bordertextop,borderop,bgop,textop,borderblend,bgblend}
+% \end{macrocode}
+% \begin{macro}{\opcolorbox}
+%
+% A general purpose color box that creates two color boxes, a larger one with a
+% smaller one centered vertically and horizontally inside the larger one. Transparent
+% options allow separate control over the opacity settings of the larger and smaller
+% rectangle as well as the text that is written within the smaller rectangle.
+%
+%\paragraph*{Optional key-values for the first parameter}
+%\begin{description}
+% \item[\texttt{borderwidth}:] The border width. The default is \texttt{2pt}
+% \item[\texttt{fboxsep}:] The space between the border and the text, the default is \texttt{6pt}
+% \item[\texttt{width:}] The width of \cs{parbox}, the default is \cs{linewidth}
+% \item[\texttt{bordercolor}:] A named color of border, the default is \texttt{black}. A special value
+% of \texttt{nocolor} is recognized, in that case, no color is applied.
+% \item[\texttt{bgcolor:}] A named color of background, the default is \texttt{white}. A special value
+% of \texttt{nocolor} is recognized, in that case, no color is applied.
+% \item[\texttt{borderop:}] A number type, the opacity for border $0 \le \mbox{number} \le 1$, the default is~$.5$
+% \item[\texttt{bgop:}] A number type, the opacity for background $0 \le \mbox{number} \le 1$, the default is~$.5$
+% \item[\texttt{textop:}] A number type, the opacity for text $0 \le \mbox{number} \le 1$, the default is~$1$
+% \item[\texttt{borderblend:}] The blend mode for the border, the default is \texttt{Normal}
+% \item[\texttt{bgblend:}] The blend mode for the background, the default is \texttt{Normal}
+%\end{description}
+%
+%\paragraph*{Second parameter, required.} The text that goes within the box.
+%
+% \begin{macrocode}
+\def\dc@mark{[\space}%]
+\newcommand{\opcolorbox}[2][]{\begingroup
+ \edef\dc@tmp@exp{\noexpand\setkeys{opcolorbox}{#1}}\dc@tmp@exp
+ \ifx\opcb@bgcolor\dc@nocolor\let\opcb@set@bgcolor\mbox
+ \else\def\opcb@set@bgcolor{\colorbox{\opcb@bgcolor}}\fi
+ \ifx\opcb@bordercolor\dc@nocolor\let\opcb@set@bordercolor\mbox
+ \else\def\opcb@set@bordercolor{\colorbox{\opcb@bordercolor}}\fi
+ \setlength{\fboxsep}{\opcb@borderwidth}\setlength{\fboxrule}{0pt}%
+ \begin{settransparency}[\opcb@borderblendmode]{\opcb@bordertextop}%
+ {\opcb@borderop}%
+ \opcb@set@bordercolor{\parbox[c]{\opcb@width}{%
+ \setlength{\fboxsep}{\opcb@fboxsep}\setlength{\fboxrule}{0pt}%
+ \begin{settransparency}[\opcb@bgblendmode]{\opcb@textop}%
+ {\opcb@bgop}%
+ \opcb@set@bgcolor{\parbox[c]{\linewidth-2\fboxsep}{%
+% \end{macrocode}
+% for dvips, CA is not recognized since dvips does not stroke backgrounds,
+% so we insert another layer of transparency, with ca=CA=\cs{opcb@textop}
+% \begin{macrocode}
+ \begin{settransparency}{\opcb@textop}{\opcb@textop}%
+ #2%
+ \end{settransparency}%
+ }}%
+ \end{settransparency}}}%
+ \end{settransparency}%
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{\texorpdfstring{\protect\cs{digiCap} and \protect\cs{digiCap*}}
+% {\CMD{digiCap} and \CMD{digiCap*}}}
+%
+% The \cs{digiCap} command is defined in this section; there is an \texttt*
+% option that changes the caption into a rollover. Before we get started, we define
+% several commands that support some of the options for this command.
+%
+% The \cs{dc@vCaptionPlacement} command accomplishes two things: It records the document author's choice
+% for vertical placement of the caption (saving it in \cs{aeb@captionPlacement}),
+% and calculates the amount of vertical displacement needed to overlay
+% the rollover form field correctly over the picture. Possible values for \texttt{\#1}
+% and \texttt{b}, \texttt{c}, and \texttt{t}. The default is \texttt{b}.
+% This command is called when the author sets \texttt{vcaption},
+% a key belonging to the \texttt{dc@commands} family. Defined below.
+% \begin{macrocode}
+\def\dc@vCaptionPlacement#1{\def\dc@captionPlacement{#1}%
+ \def\dc@@captionPlacement{0pt}%
+ \if\dc@captionPlacement c%
+ \def\dc@@captionPlacement{-\dc@graphicHalfHeight+3pt}\else
+ \if\dc@captionPlacement t%
+ \def\dc@@captionPlacement{-\dc@graphicHeight}%
+ \else
+ \def\dc@captionPlacement{b}%
+ \def\dc@@captionPlacement{0pt}%
+ \fi\fi
+}
+\dc@vCaptionPlacement{b}
+% \end{macrocode}
+% We set the horizontal placement of the caption, possible values are \texttt{l}, \texttt{c}, and \texttt{r}.
+% The default is \texttt{c}. This command is called when the author sets \texttt{hcaption},
+% a key belonging to the \texttt{dc@commands} family. Defined below.
+% \begin{macrocode}
+\def\dc@hCaptionPlacement#1{\def\dc@argi{#1}%
+ \if\dc@argi l\def\dc@Hplacement{\relax}\else
+ \if\dc@argi c\def\dc@Hplacement{\hfil}\else
+ \if\dc@argi r\def\dc@Hplacement{\hfill}\else
+ \def\dc@Hplacement{\relax}\fi\fi\fi
+}
+\dc@hCaptionPlacement{c}
+% \end{macrocode}
+% \begin{macrocode}
+\def\dc@calc@adj@width#1{{%
+ \edef\dc@tmp@exp{\noexpand\setkeys{opcolorbox}{#1}}\dc@tmp@exp
+ \setlength{\linewidth}{\dc@graphicWidth-2\fboxsep}%
+ \setlength{\dimen@}{\opcb@width}%
+ \setlength{\dimen@ii}{\opcb@borderwidth}%
+ \setlength{\dimen@}{\dimen@-2\dimen@ii}%
+ \xdef\dc@adj@width{\the\dimen@}%
+}}
+% \end{macrocode}
+% This is the command that inserts the caption
+%\begin{verbatim}
+% #1=path to graphic
+% #2=box content (#3-#5 are included in the box content)
+% #3=KVPairs of \opcolorbox
+% #4=content of \opcolorbox
+% #5=either empty or \eBld, if layers used
+%\end{verbatim}
+% \begin{macrocode}
+\long\def\dc@insert@graphicx@opcolor@boxes#1#2#3#4#5{%
+ \graphicxbox{#1}{#2\parbox[\dc@captionPlacement]%
+ [\dc@graphicHeight-2\fboxsep]{\dc@graphicWidth-2\fboxsep}%
+ {\vskip0pt\dc@Hplacement\opcolorbox[#3,width=\dc@adj@width]%
+ {#4}\par\kern0pt}#5}%
+}
+% \end{macrocode}
+% \begin{macro}{\graphicHeight}
+% \begin{macro}{\graphicWidth}
+% These two commands may be used within the \texttt{<caption>} argument
+% of the command \cs{digiCap}. \cs{graphicHeight} is used
+% to set the height of a \texttt{minipage} of \cs{parbox} for a vertically oriented caption.
+% An example appears in the demo file.
+% \begin{macrocode}
+\def\graphicHeight{\dc@graphicHeight-2\fboxsep-%
+ \dc@outerboxsep-\dc@outerboxsep-\opcb@borderwidth-\opcb@borderwidth}
+\def\graphicWidth{\dc@graphicWidth-2\fboxsep-%
+ \dc@outerboxsep-\dc@outerboxsep-\opcb@borderwidth-\opcb@borderwidth}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\digiCap}
+% A command that places a picture as background of a box, and places a, possibly, transparent
+% caption, optionally, with a border. The syntax is\dots
+%\begin{verbatim}
+% \digiCap[<dc@commands_kvps>]
+% {<file>}[<opcolorbox_fam_kvps>]{<caption>}
+%\end{verbatim}
+% or
+%\begin{verbatim}
+% \digiCap*[<dc@commands_kvps>]
+% {<file>}[<opcolorbox_fam_kvps>]{<caption>}
+%\end{verbatim}
+% If the optional \texttt{*} appears, then \cs{dc@digiCapRollover} is called, otherwise,
+% \cs{dc@digiCap}.
+%
+% The \texttt{dc@commands} \texttt{xkeyval} family is defined below.
+%\paragraph*{Optional key-values for the first parameter.} This set of parameters
+% control the placement of the caption on top of the background picture. There is
+% also a parameter to set the \cs{includegraphics} options, and the underlying
+% form field name, in the case of a rollover.
+%\begin{description}
+%\item[\texttt{outerboxsep}:] The space the surrounds the boundary of the caption, the default is \texttt{3pt}
+%\item[\texttt{vcaption}:] The vertical placement of the caption on the background graphic, possible
+% values are \texttt{b}, \texttt{c}, and \texttt{t}. The default is \texttt{b}.
+%\item[\texttt{hcaption}:] The horizontal placement of the caption on the background graphic, possible
+% values are \texttt{l}, \texttt{c}, and \texttt{r}. The default is \texttt{c}.
+%\item[\texttt{inclgraphicx}:] The value of this key is a list of key-value pairs that are passed on to the
+% underlying \cs{includegraphics} command.
+%\item[\texttt{rollovername}:] The basename of the push button form field that is used for a rollover effect.
+% This command is used only with \cs{digiCap*}, ignored otherwise. For the \cs{digiCap*}
+% command, this key is optional, if not present, this package supplies a name.
+%\end{description}
+%\paragraph*{Second parameter, required.} The second parameter \texttt{<file>} is the path to the graphic to be
+% use as a background to this box.
+%\paragraph*{Optional key-values for the third parameter.} The options for the underlying \cs{opcolorbox}. See above
+% for a listing and description.
+%%\paragraph*{Fourth parameter, required.} The content of the caption.
+% \begin{macrocode}
+\define@key{dc@commands}{outerboxsep}[3pt]{\def\dc@outerboxsep{#1}}
+\define@key{dc@commands}{vcaption}[b]{\dc@vCaptionPlacement{#1}}
+\define@key{dc@commands}{hcaption}[c]{\dc@hCaptionPlacement{#1}}
+\define@key{dc@commands}{inclgraphicx}[]{%
+ \def\dc@inclgraphicx{#1\dc@incgfx@addkeys}}
+\let\dc@incgfx@addkeys\@empty
+\define@key{dc@commands}{rollovername}[]{{%
+ \gdef\dc@rollovername{#1}%
+ \ifx\dc@rollovername\@empty
+ {\count0=\dc@rollover@cnt\advance\count0by1\relax
+ \xdef\dc@rollover@cnt{\the\count0}%
+ \xdef\dc@rollovername{Cnt\dc@rollover@cnt}}%
+ \fi
+}}
+\let\dc@rollovername\@empty
+\def\dc@rollover@cnt{0}%
+\setkeys{dc@commands}{outerboxsep,vcaption,hcaption,inclgraphicx}
+% \end{macrocode}
+% \begin{macrocode}
+\newcommand{\digiCap}{\@ifstar{\dc@digiCapRollover}
+ {\dc@digiCap}}
+% \end{macrocode}
+% \paragraph*{\cs{dc@digiCap}} This creates a digital photo with caption, no rollover.
+% \begin{macrocode}
+\newcommand{\dc@digiCap}[2][]{\begingroup
+ \edef\dc@tmp@exp{\noexpand\setkeys{dc@commands}{#1}}\dc@tmp@exp
+ \def\dc@filename{#2}\setlength{\fboxsep}{\dc@outerboxsep}%
+ \dc@@digiCap
+}
+\newcommand{\dc@@digiCap}[2][]{%
+ \edef\dc@tmp@exp{\noexpand\setkeys{Gin}{\dc@inclgraphicx}}%
+ \dc@tmp@exp\edef\dc@tmp@exp{\setbox0=
+ \hbox{\noexpand\includegraphics[draft,\dc@inclgraphicx]%
+ {\dc@filename}}}\dc@tmp@exp\dimen@=\dp0 \advance\dimen@\ht0
+ \edef\dc@graphicHeight{\the\dimen@}%
+ \edef\dc@graphicWidth{\the\wd0}%
+ \dc@calc@adj@width{#1}\parbox{\dc@graphicWidth}{%
+ \dc@insert@graphicx@opcolor@boxes{\dc@filename}{}{#1}{#2}{}}%
+\endgroup}
+% \end{macrocode}
+% \end{macro}
+% \paragraph*{\cs{dc@digiCap*}} Same as \cs{dc@digiCap}, but the caption is placed in a layer and a rollover
+% effect is use to make the caption appear. The syntax is\dots
+% \begin{macrocode}
+\newcommand{\dc@digiCapRollover}[2][]{\begingroup
+ \edef\dc@tmp@exp{\noexpand\setkeys{dc@commands}{#1}}%
+ \dc@tmp@exp\def\dc@filename{#2}%
+ \setlength{\fboxsep}{\dc@outerboxsep}%
+ \ifx\dc@rollovername\@empty\setkeys{dc@commands}{rollovername}\fi
+ \dc@@digiCapRollover
+}
+\newcommand{\dc@@digiCapRollover}[2][]{%
+ \edef\dc@tmp@exp{\noexpand\setkeys{Gin}{\dc@inclgraphicx}}%
+ \dc@tmp@exp\edef\dc@tmp@exp{\setbox0=\hbox{%
+ \noexpand\includegraphics[draft,\dc@inclgraphicx]%
+ {\dc@filename}}}\dc@tmp@exp\dimen@=\dp0\advance\dimen@\ht0
+ \edef\dc@graphicHeight{\the\dimen@}\dimen@=.5\dimen@
+ \edef\dc@graphicHalfHeight{\the\dimen@}%
+ \edef\dc@graphicWidth{\the\wd0}%
+ \dc@calc@adj@width{#1}\parbox{\dc@graphicWidth}{%
+ \raisebox{\dc@@captionPlacement}[0pt][0pt]{\rlap
+ {\pushButton[\presets{\digiCapsPresets{\dc@rollovername}}%
+ \presets{\hiddenPresets}]{dcRollover.\dc@rollovername}%
+ {\dc@graphicWidth}{\dc@graphicHeight}}}%
+ \dc@insert@graphicx@opcolor@boxes{\dc@filename}%
+ {\xBld{\dc@rollovername}}{#1}{#2}{\eBld}%
+ }\global\let\dc@rollovername\@empty%
+\endgroup}
+% \end{macrocode}
+% This is a listing of options to be used by the push button that
+% supplies the rollover effect.
+% \begin{macrocode}
+\def\digiCapsPresets#1{\W0\BG{}\BC{}\H{N}\autoCenter{n}% rollover mod
+ \AA{\AAMouseEnter{\JS{toggleSetThisLayer("#1",true);}}%
+ \AAMouseExit{\JS{toggleSetThisLayer("#1",false);}}}}
+\def\hiddenPresets{}
+% \end{macrocode}
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+% \begin{macrocode}
+%<*digidisplay1>
+% \end{macrocode}
+%
+% \subsection{A Layout for Digital Display (Photo album)}
+%
+% This segment of code provides for a layout to display digital images. Thumbnails of the
+% images are lined up in rows or columns. When the user rolls over a thumb, a large version
+% of that photo appears in the display area. The photos can optionally contain a short caption,
+% and a longer caption. This latter caption appears on a transparent background on top of the photo
+% (|\digiCap| is used here).
+%
+% \subsubsection{Embedding Images/Creating Thumb Appearances}
+%
+% Embed each image using |\embedEPS|, then create other images of that digital
+% in normal, rollover and down appearances. These are used
+% for the form field thumbnails.
+%
+% \begin{macro}{\PicsThisDoc}
+% This command is executed in the preamble of the document. The one argument is a
+% comma delimited list of four parameters:
+%\begin{verbatim}
+% \PicsThisDoc
+% {%
+% {<embed_name>}{<graphic_path>}{<short_caption>}{<long_caption>},
+% {<embed_name>}{<graphic_path>}{<short_caption>}{<long_caption>},
+% ...
+% {<embed_name>}{<graphic_path>}{<short_caption>}{<long_caption>}
+% }
+%\end{verbatim}
+% We pass each set of four arguments on to \cs{dc@setPicsAndCaptions} for processing.
+% \begin{macrocode}
+\newcommand{\PicsThisDoc}[1]{%
+ \@for\@args:=#1\do{\expandafter\dc@setPicsAndCaptions\@args}%
+}
+% \end{macrocode}
+% \end{macro}
+% This command takes the four arguments passed to it from \cs{PicsThisDoc}, and passes the
+% required args to the commands \cs{dc@embedEPSCreateAppearances} and to \cs{dc@defTheseCaptions}.
+% \begin{macrocode}
+\def\dc@setPicsAndCaptions#1#2#3#4{%
+ \dc@embedEPSCreateAppearances{#1}{#2}%
+ \dc@defTheseCaptions{#1}{#3}{#4}%
+}
+% \end{macrocode}
+% This command embeds the graphic file \texttt{\#2}, names that file as \texttt{\#1}. The name
+% \texttt{\#1} is later used to show the figure. The \textsf{grahicxsp} package is used here.
+% This command also builds images used in the appearance states of the thumbnail images. The
+% appearance states can be redefined, as desired.
+% \begin{macro}{\setThumbAppearances}
+% Set the appearances of the thumbnail images. There are three appearances: normal, rollover and
+% push. The settings for these parameters are use in the command \cs{dc@embedEPSCreateAppearances}.
+%
+% There is one optional argument, the value of this optional argument is the name of one of the
+% photos; in this case, the second argument is used only for that picture. This way, you can
+% change the appearance of the thumbs. Normally, they would all look the same.
+% \begin{macrocode}
+\newcommand{\setThumbAppearances}[2][]{%
+ \def\dc@argi{#1}\ifx\dc@argi\@empty\def\dc@thumbApprs{#2}%
+ \setkeys{dc@ro@appr}{#2}\else
+ \expandafter\def\csname dc@thumbApprs@#1\endcsname{#2}\fi
+}
+\define@key{dc@ro@appr}{normalop}[.5]{\def\dc@ro@appr@normalopacity{#1}}
+\define@key{dc@ro@appr}{rolloverop}[1]%
+ {\def\dc@ro@appr@rolloveropacity{#1}}
+\define@key{dc@ro@appr}{downop}[.3]%
+ {\def\dc@ro@appr@downopacity{#1}}
+\define@key{dc@ro@appr}{boundarywidth}[30]%
+ {\def\dc@ro@appr@boundarywidth{#1}}
+\define@key{dc@ro@appr}{rgbcolor}[]{%
+ \def\dc@ro@appr@rgbcolor{#1}\ifx\dc@ro@appr@rgbcolor\@empty
+ \else
+ \expandafter\ef@isitnamed\dc@ro@appr@rgbcolor\ef@nil
+ \ifx\ef@latex@color\ef@y\expandafter
+ \HyColor@XZeroOneThreeFour
+ \expandafter{\dc@ro@appr@rgbcolor}{\dc@ro@appr@rgbcolor}{}{}%
+ \edef\dc@ro@appr@rgbcolor{\dc@ro@appr@rgbcolor}\fi
+\fi}
+\let\dc@ro@appr@rgbcolor\@empty
+% {\def\dc@ro@appr@rgbcolor{#1}}
+\define@key{dc@ro@appr}{cmykcolor}[0 0 1 0]{%
+ \def\dc@ro@appr@cmykcolor{#1}\ifx\dc@ro@appr@cmykcolor\@empty
+ \else
+ \expandafter\ef@isitnamed\dc@ro@appr@cmykcolor\ef@nil
+ \ifx\ef@latex@color\ef@y\expandafter
+ \HyColor@XZeroOneThreeFour
+ \expandafter{\dc@ro@appr@cmykcolor}{\dc@ro@appr@cmykcolor}{}{}%
+ \edef\dc@ro@appr@cmykcolor{\dc@ro@appr@cmykcolor}\fi
+\fi}
+\def\dc@ro@appr@cmykcolor{0 0 1 0}
+% {\def\dc@ro@appr@cmykcolor{#1}}
+% \end{macrocode}
+% Set the default values for these key-value pairs.
+% \begin{macrocode}
+\setThumbAppearances{normalop,rolloverop,downop,boundarywidth,%
+ rgbcolor,cmykcolor}
+% \end{macrocode}
+% \end{macro}
+% This command embeds the graphic file \texttt{\#2}, names that file as \texttt{\#1}. The name
+% \texttt{\#1} is later used to show the figure. The \textsf{grahicxsp} package is used here.
+% This command also builds images used in the appearance states of the thumbnail images. The
+% appearance states can be redefined, as desired.
+% \begin{macrocode}
+\def\dc@embedEPSCreateAppearances#1#2{%
+ \embedEPS[transparencyGroup]{#1}{#2}%
+ \@ifundefined{dc@thumbApprs@#1}{\edef\dc@tmp@exp%
+ {\noexpand\setkeys{dc@ro@appr}{\dc@thumbApprs}}}%
+ {\edef\dc@tmp@exp{\noexpand\setkeys{dc@ro@appr}%
+ {\csname dc@thumbApprs@#1\endcsname}}}\dc@tmp@exp
+ \begin{createImage}{\bboxOf{#1}}{n#1}
+ gsave
+ \dc@mark/ca \dc@ro@appr@normalopacity
+ /SetTransparency pdfmark
+ \urxOf{#1} .1 mul \uryOf{#1} .1 mul moveto
+ currentpoint translate
+ .8 .8 scale
+ \dc@mark{#1} /SP pdfmark
+ grestore
+ \end{createImage}
+ \begin{createImage}{\bboxOf{#1}}{r#1}
+ \dc@mark/ca \dc@ro@appr@rolloveropacity
+ /CA \dc@ro@appr@rolloveropacity
+ /SetTransparency pdfmark
+ \dc@mark{#1} /SP pdfmark
+ \dc@ro@appr@boundarywidth\space setlinewidth
+ \ifx\dc@ro@appr@rgbcolor\@empty
+ \dc@ro@appr@cmykcolor\space setcmykcolor\else
+ \dc@ro@appr@rgbcolor\space setrgbcolor\fi\space
+ currentlinewidth 2 div dup
+ \urxOf{#1} currentlinewidth sub \uryOf{#1} currentlinewidth sub
+ rectstroke
+ \end{createImage}
+ \begin{createImage}{\bboxOf{#1}}{d#1}
+ \dc@mark/ca \dc@ro@appr@downopacity
+ /CA \dc@ro@appr@downopacity/SetTransparency pdfmark
+ \dc@mark{#1} /SP pdfmark
+ \dc@ro@appr@boundarywidth\space setlinewidth
+ \ifx\dc@ro@appr@rgbcolor\@empty
+ \dc@ro@appr@cmykcolor\space setcmykcolor\else
+ \dc@ro@appr@rgbcolor\space setrgbcolor\fi\space
+ currentlinewidth 2 div dup
+ \urxOf{#1} currentlinewidth sub \uryOf{#1} currentlinewidth sub
+ rectstroke
+ \end{createImage}
+}
+% \end{macrocode}
+% This command takes that short and long captions and saves them in a text macro
+% under the name \texttt{\#1Caption} and \texttt{\#1Text}, where \texttt{\#1} is
+% the graphic name.
+% \begin{macrocode}
+\def\dc@defTheseCaptions#1#2#3{%
+ \expandafter\gdef\csname #1Caption\endcsname{#2}%
+ \expandafter\gdef\csname #1Text\endcsname{#3}%
+}
+% \end{macrocode}
+%
+% \subsubsection{Placing the elements on the page}
+%
+% This section of the code is devoted to defining the commands to insert the
+% various elements on the page: the photos, the captions, and the thumbs.
+% \begin{macro}{\presentationOrder}
+% A command to create a text macro. The argument is a comma delimited list
+% of photo names.
+% \begin{macrocode}
+\newcommand{\presentationOrder}[1]{\def\dc@presentationOrder{#1}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dcFirstOpt}
+% \begin{macro}{\dcSecondOpt}
+% These two commands are used to pass optional arguments to \cs{digiCap}.
+% \cs{}
+% with various required arguments). These controls for the appearance, transparancy, and positioning of the long caption box.
+% These \cs{dcFirstOpt} and \cs{dcSecondOpt} are passed as the first optional parameter and third
+% parameters of the \cs{digiCap} command.
+% \begin{macrocode}
+\newcommand{\dcFirstOpt}[2][]{%
+ \def\dc@argi{#1}\ifx\dc@argi\@empty\def\dc@icontrol{#2}\else
+ \expandafter\def\csname dc@icontrol@#1\endcsname{#2}\fi}
+\newcommand{\dcSecondOpt}[2][]{%
+ \def\dc@argi{#1}\ifx\dc@argi\@empty\def\dc@iicontrol{#2}\else
+ \expandafter\def\csname dc@iicontrol@#1\endcsname{#2}\fi}
+% \end{macrocode}
+% The following are the default settings for these controls. The values for the
+% macros \cs{digiDSWidth} and \cs{digiDSHeight} are defined in \cs{digiDisplaySpace}.
+% \begin{macrocode}
+\dcFirstOpt{vcaption=b,hcaption=c,outerboxsep=0pt}
+\dcSecondOpt{borderwidth=0bp,fboxsep=10bp,bordercolor=nocolor,bgop=.7}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\useRollovers}
+% \begin{macro}{\noRollovers}
+% Execute these commands to create rollovers for the long captions. The default
+% is to use no rollovers.
+% \begin{macrocode}
+\def\useRollovers{\def\dc@use@Rollover{*}%
+ \def\hiddenPresets{\F{\FHidden}}}
+\def\noRollovers{\let\dc@use@Rollover\@empty
+ \def\hiddenPresets{}}
+\let\dc@use@Rollover\@empty
+% \end{macrocode}
+% Don't ask what this is.
+% \begin{macrocode}
+\def\dc@fudge{\llap{.\hskip20in}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\longCapFmt}
+% Use this command to apply a global format to the long captions. For example,
+% |\longCapFmt{\bfseries\scriptsize}|. The default setting does nothing.
+% \begin{macrocode}
+\newcommand{\longCapFmt}[1]{%
+ \def\dc@longCapFmt{#1}}
+\longCapFmt{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\dc@showPic}
+% This is the command that places the large digital image in the display area.
+% \begin{macrocode}
+\def\dc@showPic#1{\leavevmode\xBld{#1}\dc@fudge
+ \vbox to0pt{\vss\hbox to0pt{\hss
+% \end{macrocode}
+% The \texttt{inclgraphicx} of the \texttt{dc@commands} family has a secret
+% macro named \cs{gc@incgfx@addkeys} inserted in its definition. By default, \cs{gc@incgfx@addkeys}
+% is \cs{let} equal to \cs{@empty}. We change that definition
+% here to include the \texttt{name} of the graphic, so the document author does not have
+% to bother. We also scale the picture to fit in the display space.
+% \begin{macrocode}
+ \def\dc@incgfx@addkeys{width=\digiDSWidth,%
+ height=\digiDSHeight,keepaspectratio,name=#1}%
+% \end{macrocode}
+% If there is a custom control for this image, we swap off the default one
+% with the custom one.
+% \begin{macrocode}
+ \@ifundefined{dc@icontrol@#1}{}{\expandafter\let\expandafter
+ \dc@icontrol\expandafter=\csname dc@icontrol@#1\endcsname}%
+% \end{macrocode}
+% If there is a custom control for this image for the second optional argument, we swap off the default one
+% with the custom one.
+% \begin{macrocode}
+ \@ifundefined{dc@iicontrol@#1}{}{\expandafter\let\expandafter
+ \dc@iicontrol\expandafter=\csname dc@iicontrol@#1\endcsname}{}%
+% \end{macrocode}
+% Finally, we are ready to execute the appropriate graphic caption command, with or without rollover.
+% \begin{macrocode}
+ \expandafter\digiCap\dc@use@Rollover%
+% \end{macrocode}
+% After determining which control for the first optional argument
+% we insert |rollovername=ro#1| to give the rollover a pre-determined
+% name that we know and can use to give the rollover effect for the
+% long caption, if requested. The rollover key is ignored, if
+% \cs{digiCap*} is not used.
+% \begin{macrocode}
+ [\dc@icontrol,rollovername=ro#1]{\null}[\dc@iicontrol]%
+ {\dc@longCapFmt\csname#1Text\endcsname}%
+\hss}\vss}\eBld}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\digiDisplaySpace}
+% A simple command to define a space to place the digital images into. The images
+% are centered both horizontally and vertically in the display space.
+% The first parameter is the height of the digital display, the second is the width.
+% These dimensions are recorded in the macros \cs{digiDSHeight} and \cs{digiDSWidth}
+% This command can be redefined, but the developer needs to define these two macros.
+% \begin{macrocode}
+\newcommand{\digiDisplaySpace}[2]{%
+ \def\digiDSHeight{#1}\def\digiDSWidth{#2}%
+ \parbox[c][#1]{#2}{\centering\insertPhotos}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\insertPhotos}
+% This is a user-interface to inserting the photos into the display area.
+% Used by \cs{digiDisplaySpace}.
+% \begin{macrocode}
+\newcommand{\insertPhotos}{\edef\dc@tmp@exp{\noexpand\@for
+ \noexpand\@args:=\dc@presentationOrder}\dc@tmp@exp\do{%
+ \edef\dc@tmp@exp{\noexpand\dc@showPic{\@args}}\dc@tmp@exp}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\shortCapFmt}
+% User-interface to formatting the short captions.
+% \begin{macrocode}
+\newcommand{\shortCapFmt}[1]{%
+ \def\dc@showCaption##1##2{\makebox[0pt][c]{\xBld{##1}#1##2\eBld}}}
+% \end{macrocode}
+% The default caption formatting is given below.
+% \begin{macrocode}
+\shortCapFmt{\sffamily\bfseries\color{blue}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\insertCaptions}
+% The main command for inserting captions, these can be placed above or below the display area.
+% \begin{macrocode}
+\newcommand{\insertCaptions}{\dc@fudge\edef\dc@tmp@exp{\noexpand\@for
+ \noexpand\@args:=\dc@presentationOrder}\dc@tmp@exp\do{%
+ \edef\dc@tmp@exp{\noexpand\dc@showCaption{\@args}%
+ {\noexpand\csname\@args Caption\noexpand\endcsname}}%
+ \dc@tmp@exp}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\insertThumbs}
+% \begin{macro}{\setWidthOfThumbs}
+% \begin{macro}{\addvspacetorows}
+% The command to insert the thumbs in a tabular environment. The
+% first argument is the number of rows, and second argument is the
+% number of columns.
+% \begin{macrocode}
+\newcommand{\setWidthOfThumbs}[1]{{%
+ \setlength{\dimen0}{#1}%
+ \xdef\dc@thumbwidth{\the\dimen0}%
+}}
+\setWidthOfThumbs{0pt}
+\newcommand{\addvspacetorows}[1]{\def\dc@addvspacetorows{#1}}
+\addvspacetorows{1ex}%
+\def\eq@tabSep{&}
+\def\insertThumbs#1#2{\begingroup
+ \count0=0\relax\count2=0\relax
+ \def\dc@maxRows{#1}\def\dc@maxCols{#2}%
+ \setlength{\dimen0}{\dc@thumbwidth}\ifdim\dimen0=0pt
+ \setWidthOfThumbs{\linewidth/(\dc@maxCols)-\tabcolsep*2}\fi
+ \edef\dc@thisArg{\dc@presentationOrder,}%
+ \def\dc@insThumb@cr{\\[\dc@addvspacetorows]}%
+ \kern0pt\begin{tabular}{*{#2}{m{\dc@thumbwidth}}}%
+ \@whilenum\count0<#1\do{%
+ \@whilenum\count2<#2\do{%
+ \ifx\dc@thisArg\@empty
+ \global\let\dc@insThumb@cr\relax
+ \global\count0=\dc@maxRows
+ \global\count2=\dc@maxCols\else
+ \expandafter\dc@getNextArg\dc@thisArg\@nil
+ \global\advance\count2by1\relax
+ \ifx\dc@testArg\@empty
+ \else\ifnum\count2=\dc@maxCols
+ \else\eq@tabSep\fi\fi\fi
+ }\dc@insThumb@cr
+ \global\count2=0\relax\global\advance\count0by1\relax
+ }%
+\end{tabular}%
+\endgroup}
+\def\dc@getNextArg#1,#2\@nil{\dc@digi@thumbs{#1}\gdef\dc@thisArg{#2}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \subsubsection{Form fields and JavaScript}
+%
+% We define a push button with a normal, rollover and push appearance. The JavaScript actions
+% makes the picture in the display space visible, and making the previous picture hidden.
+%
+% The command, \cs{dc@digi@thumbs}, creates a push button with normal, down and rollover appearances.
+% The JavaScript actions is to show execute the function \texttt{showThisPicture()},
+% which is defined as document JavaScript, below. The function manages the hiding and
+% showing of layers, and if the \cs{useRollovers} is in effect, manages the rollover field
+% created by \cs{digiCap*} command.
+% \begin{macrocode}
+\def\normalAppr#1{n#1}
+\def\downAppr#1{d#1}
+\def\rolloverAppr#1{r#1}
+\def\dc@digi@thumbs#1{\hfil%
+{\dimen0=\widthOf{#1}bp\relax\dimen2=\heightOf{#1}bp\relax
+ \ifdim\dimen0<\dimen2\relax
+ \edef\dc@argi{\string!}\edef\dc@argii{\dc@thumbwidth}\else
+ \edef\dc@argi{\dc@thumbwidth}\edef\dc@argii{\string!}\fi
+ \xdef\dc@tmp@exp{\noexpand\resizebox{\dc@argi}{\dc@argii}}%
+}\dc@tmp@exp{\pushButton[%
+ \autoCenter{n}\BC{}\BG{}\S{S}\W0
+ \A{\JS{%
+ showThisPicture("#1");\r
+ lastPicture="#1";\r
+ this.dirty=false;
+ }}\I{\normalAppr{#1}}\RI{\downAppr{#1}}\IX{\rolloverAppr{#1}}
+ \TP{1}\FB{true}]{pb#1}{\widthOf{#1}bp}{\heightOf{#1}bp}}}
+% \end{macrocode}
+% The JavaScript function manages the hiding and showing of layers,
+% and if the \cs{useRollovers} is in effect, manages the rollover
+% field. The argument \texttt{name} is the name of the graph to be
+% shown. The name one to be hidden is saved as the value of
+% \texttt{lastPicture}.
+% \begin{macrocode}
+\begin{insDLJS}[showThisPicture]{digidjs1}{Show This Picture}
+var lastPicture="";
+function showThisPicture(name) {
+ if (lastPicture != "") {
+ var f = this.getField("dcRollover.ro"+lastPicture);
+ if ( f != null ) f.display=display.hidden;
+ toggleSetThisLayer(lastPicture,false);
+ }
+ var f = this.getField("dcRollover.ro"+name);
+ if ( f != null ) f.display=display.visible;
+ toggleSetThisLayer(name);
+}
+try { app.runtimeHighlight=false; app.focusRect=false; } catch(e) {};
+\end{insDLJS}
+%</digidisplay1>
+% \end{macrocode}
+% \Finale
+\endinput
+% \begin{macrocode}
+%<*package>
+%</package>
+% \end{macrocode}
diff --git a/texmf-dist/source/latex/digicap-pro/digicap-pro.ins b/texmf-dist/source/latex/digicap-pro/digicap-pro.ins
new file mode 100644
index 00000000..1dad9de9
--- /dev/null
+++ b/texmf-dist/source/latex/digicap-pro/digicap-pro.ins
@@ -0,0 +1,60 @@
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright 1999-2008 D. P. Story
+%%
+%% This file is part of the `AcroTeX eDucation Bundle'.
+%% -------------------------------------------
+%%
+%% It may be distributed under the conditions of the LaTeX Project Public
+%% License, either version 1.2 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.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\filedate{2008/04/16}
+\def\batchfile{digicap-pro.ins}
+%
+\input docstrip
+\ifx\generate\undefined
+ \Msg{**********************************************}
+ \Msg{*}
+ \Msg{* This installation requires docstrip}
+ \Msg{* version 2.4 or later.}
+ \Msg{*}
+ \Msg{* An older version of docstrip has been input}
+ \Msg{*}
+ \Msg{**********************************************}
+ \errhelp{Move or rename old docstrip.tex and get a newer one.}
+ \errmessage{Old docstrip in input path}
+ \batchmode
+ \csname @@end\endcsname\end
+\fi
+
+\keepsilent
+\askforoverwritefalse
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\preamble
+\endpreamble
+\generate
+{%
+ \file{digicap-pro.sty}{\from{digicap-pro.dtx}{copyright,package}}
+ \file{digi-p1.def}{\from{digicap-pro.dtx}{copyright,digidisplay1}}
+}
+
+\Msg{***************************************************************}
+\Msg{*}
+\Msg{* \space To finish the installation you have to copy the files }
+\Msg{*}
+\Msg{* \space *.sty, *.cfg and *.def into a directory searched by TeX}
+\Msg{*}
+\Msg{***************************************************************}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\endinput
diff --git a/texmf-dist/source/latex/digicap-pro/doc/digicap_man.tex b/texmf-dist/source/latex/digicap-pro/doc/digicap_man.tex
new file mode 100644
index 00000000..66abf27d
--- /dev/null
+++ b/texmf-dist/source/latex/digicap-pro/doc/digicap_man.tex
@@ -0,0 +1,685 @@
+\documentclass{article}
+\usepackage[fleqn]{amsmath}
+\usepackage[%
+ web={centertitlepage,usetemplates,designv,
+ forcolorpaper,tight*,latextoc,extended},
+ eforms,uselayers,graphicxsp={showembeds},aebxmp
+]{aeb_pro}
+\usepackage{digicap-pro}
+
+\usepackage{array}
+%\usepackage[usecmtt]{myriadpro}
+
+\usepackage[altbullet]{lucidbry}
+
+%\usepackage{makeidx}
+%\makeindex
+
+\previewOn
+
+\usepackage{acroman}
+
+\usepackage[active]{srcltx}
+
+\def\expath{../examples}
+
+
+\urlstyle{rm}
+
+\embedEPS{clifflee}{\expath/digis/IiFUCdIQ}%
+
+\DeclareDocInfo
+{
+ university={\AcroTeX.Net},
+ title={ \texorpdfstring{DigiCap Pro\\[1em]}
+ {DigiCap Pro: }Captioning Digital Images},
+ author={D. P. Story},
+ email={dpstory@acrotex.net},
+ subject={Documentation for AeB Pro from AcroTeX},
+ talksite={\url{www.acrotex.net}},
+ version={1.0},
+ keywords={AeB, Adobe Acrobat, JavaScript},
+ copyrightStatus=True,
+ copyrightNotice={Copyright (C) \the\year, D. P. Story},
+ copyrightInfoURL={http://www.acrotex.net}
+}
+
+\def\dps{$\hbox{$\mathfrak D$\kern-.3em\hbox{$\mathfrak P$}%
+ \kern-.6em \hbox{$\mathcal S$}}$}
+
+\universityLayout{fontsize=Large}
+\titleLayout{fontsize=LARGE}
+\authorLayout{fontsize=Large}
+\tocLayout{fontsize=Large,color=aeb}
+\sectionLayout{indent=-62.5pt,fontsize=large,color=aeb}
+\subsectionLayout{indent=-31.25pt,color=aeb}
+\subsubsectionLayout{indent=0pt,color=aeb}
+\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}}
+
+%\pagestyle{empty}
+%\parindent0pt\parskip\medskipamount
+
+\advance\marginparwidth10pt
+
+
+\chngDocObjectTo{\newDO}{doc}
+\begin{docassembly}
+var titleOfManual="The DigiCap Pro Manual";
+var manualfilename="Manual_BG_Print_digicap.pdf";
+var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown
+var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate;
+var doc;
+var buildIt=false;
+if ( buildIt ) {
+ console.println("Creating new " + manualfilename + " file.");
+ doc = \appopenDoc({cPath: _pathToBlank, bHidden: true});
+ var _path=this.path;
+ var pos=_path.lastIndexOf("/");
+ _path=_path.substring(0,pos)+"/"+manualfilename;
+ \docSaveAs\newDO ({ cPath: _path });
+ doc.closeDoc();
+ doc = \appopenDoc({cPath: manualfilename, oDoc:this, bHidden: true});
+ f=doc.getField("ManualTitle");
+ f.value=titleOfManual;
+ doc.flattenPages();
+ \docSaveAs\newDO({ cPath: manualfilename });
+ doc.closeDoc();
+} else {
+ console.println("Using the current "+manualfilename+" file.");
+}
+var _path=this.path;
+var pos=_path.lastIndexOf("/");
+_path=_path.substring(0,pos)+"/"+manualfilename;
+\addWatermarkFromFile({
+ bOnTop:false,
+ bOnPrint:false,
+ cDIPath:_path
+});
+\executeSave();
+\end{docassembly}
+
+\begin{document}
+
+\maketitle
+
+\selectColors{linkColor=black}
+\tableofcontents
+\selectColors{linkColor=webgreen}
+
+\section{Introduction}
+
+The \textsf{digicap-pro} package came about several years ago (2008);
+at that time, I was impressed by the tv guide layout of photos with
+captions. The captions were laid on top of the photos using a
+transparent box. I also saw this type of photo-caption layout on
+\url{www.mlb.com}. This photo-caption layout inspired to reproduce
+for {\LaTeX}/PDF.
+
+This package provides commands for simply displaying the digital photo
+with caption; the caption can be displayed as a rollover, that is, the caption
+is not visible until the user rolls over the photo using a mouse.
+
+Another component of the package is the display of collections of photos and captions.
+The \url{www.mlb.com} has (or had) thumbnails of the photos, by clicking the thumb, the
+photo with caption would appear. Nowadays, this is done through the magic of Adobe Flash,
+which gives clever transitions of the thumbs and photos. This package does not do Adobe Flash, but
+perhaps a future edition of this package will incorporate Flash/Flex using my \texttt{rmannot} package.
+
+\section{Requirements}
+
+This package belongs to the high-class family of \textsf{\textcolor{blue}{AeB~Pro}}, hence,
+the major requirement of this package is that the PDF be created using \textbf{Acrobat Distiller},
+see Section~\ref*{ss:PDFCreator} for details.
+
+\subsection{{\LaTeX} Package Requirements}
+
+ The package builds on packages developed as part of \textsf{AeB} or \textsf{AeB~Pro}:
+\begin{itemize}
+ \item\textsf{aeb\_pro}: supplies support for layers and JavaScript management of layers
+ \item\textsf{graphicxbox}: places a graphic as the background of a box
+ \item\textsf{opacity-pro}: creates the transparency effects
+ \item\textsf{eforms}: use to create Acrobat form buttons with a roll-over action to make
+ roll-over captions visible or hidden.
+ \item \textsf{grahicxsp}: used with the commands input with the \texttt{design1} option.
+ See the section entitled \Nameref{s:photoalbum}.
+\end{itemize}
+The \textsf{graphicx} package is also used to import digital photos, or other graphics.
+
+
+\reversemarginpar
+
+\subsection{PDF Creator Requirements}\label{ss:PDFCreator}
+
+The big restriction on this package is the requirement to use\marginpar{\raggedleft\app{dvips}\\\app{dvipsone}}
+\textbf{Acrobat Distiller} (version 5.0, or version 6.0 for transparency).
+The package was developed using Acrobat Distiller 8.1. The package supports the
+creation of Postscript using \textsf{dvips} and \textsf{dvipsone}. These ``drivers''
+are defined through the required package \textsf{aeb\_pro}.
+
+\subsection{Transparency Requirements}
+
+To get the transparency effect, \textbf{Acrobat Distiller} version 6.0 or
+later is required. The default setting of the distiller does not
+support the \textbf{SetTransparency} pdfmark; it is necessary to
+edit the \texttt{.joboptions} file.
+
+The procedure for editing \texttt{.joboptions} to support transparency is as follows:
+\begin{enumerate}
+ \item Start \textbf{Acrobat Distiller}
+ \item From the Default Settings list, select the setting you want to edit,
+ usually, this will be the \texttt{Standard} job options.
+ \item Select \texttt{Settings} \texttt{>} \texttt{Edit Adobe PDF Settings} \texttt{(Ctrl+E)} from the
+ distiller menu.
+ \item Click the \texttt{SaveAs} button at the bottom of the \texttt{Adobe PDF Settings}
+ dialog box. Save your .jobsettings file under a new name,
+ say \texttt{Standard\_transparency} and make a note of where
+ the distiller saves this file.
+ \item With your favorite text editor, navigate to the folder where you saved your new
+ \texttt{.job\-options} file, and open it in your editor.
+ \item Look for the line that says
+ \texttt{/AllowTransparency false}, and change this to read \texttt{/AllowTransparency true}.
+ Save the changes and close the file.
+ \item Use this \texttt{.joboptions} file, \texttt{Standard\_transparency} for example,
+ whenever you distill with transparency pdfmarks. If your {\LaTeX} file uses transparency,
+ and you are using a \texttt{.joboptions} file with \texttt{/AllowTransparency false}, distillation
+ will fail and the distiller log should say
+\begin{Verbatim}[fontsize=\small]
+%%[Error: The Postscript contains Transparency pdfmark, job aborted.]%%
+%%[ /AllowTransparency is false in job option settings.]%%
+%%[ Error: undefined; OffendingCommand: pdfmark;
+ ErrorInfo: Transparency Group ]%%
+\end{Verbatim}
+This suggests that you should use your \texttt{.joboptions} file that supports transparency!
+
+\newtopic \textbf{Note:} The required package \pkg{opacity-pro} comes with an
+\app{Acrobat Distiller} job options file named
+\texttt{Standard\_transparency.joboptions}. Instead of following the above
+instructions you can simply drop this file in a place where Distiller
+expects to find \texttt{.joboptions} files.\footnote{Go to \texttt{Settings
+> Edit Adobe PDF Settings ...} in the Distiller application window, then
+click the \texttt{SaveAs} button. A \textbf{Save Adobe PDF Settings As}
+dialog box opens, and you can then see where Distiller likes to save its
+\texttt{.joboptions} file. Copy the provided \texttt{.joboptions} to the
+folder and restart Distiller, the \texttt{Standard\_transparency} should
+now be visible in the drop down \textsf{Default Settings} list.}
+
+\end{enumerate}
+
+\section{Options of this Package}
+
+Currently, there is only one option for this package, it is
+\texttt{display1}.\marginpar{\raggedleft\opt{display1}} As noted in the
+introduction, this package provides basic commands for showing digital
+pictures with captions, and for displaying collections of photos using
+thumbnail activation. When \opt{display1} is specified, additional code input
+to support photo displays; refer to Section~\ref{s:photoalbum} for details of
+using \opt{display1} to create a photo album. Future versions of this package
+may have additional display formats, perhaps provided by enthusiastic users.
+
+
+\section{The DigiCap Pro Commands}
+
+In this section we present the new commands defined in the \pkg{digicap-pro} package, and as a bonus,
+we also present, Section~\ref{s:photoalbum}, a series of commands to create a photo presentation.
+
+\subsection{Digital Photos with Captions}\label{ss:digiCap}
+
+For the mere captioning of a photo, there is one major command for this
+package, all other commands (presented in Section~\ref{s:photoalbum}) are built around this one:
+\bVerb\takeMeasure{\string\digiCap*[\ameta{pos-kvs}]\darg{\ameta{path}}[\ameta{design-kvs}]\darg{\ameta{caption}}}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\digiCap*[!ameta(pos-kvs)]{!ameta(path)}[!ameta(design-kvs)]{!ameta(caption)}
+\end{dCmd*}
+\eVerb
+\textbf{The star-option.} If \texttt{*} is present, the caption becomes a rollover caption.
+\paragraph*{Optional key-values for the first parameter (\ameta{pos-kvs}).} This set of parameters
+ control the placement of the caption on top of the background picture. There is
+ also a parameter to set the options for the \cs{includegraphics} command, and one to set
+the form field name, in the case of a rollover.
+\begin{description}
+\item[\texttt{outerboxsep}:] The space the surrounds the boundary of the caption, the default is \texttt{3pt}
+\item[\texttt{vcaption}:] The vertical placement of the caption on the background graphic, possible
+ values are \texttt{b}, \texttt{c}, and \texttt{t}. The default is \texttt{b}.
+\item[\texttt{hcaption}:] The horizontal placement of the caption on the background graphic, possible
+ values are \texttt{l}, \texttt{c}, and \texttt{r}. The default is \texttt{c}.
+\item[\texttt{inclgraphicx}:] The value of this key is a list of key-value pairs that are passed on to the
+ underlying \cs{includegraphics} command.
+\item[\texttt{rollovername}:] The basename of the push button form field that is used for a rollover effect.
+ This command is used only with \cs{digiCap*}, ignored otherwise. For the \cs{digiCap*}
+ command, this key is optional, if not present, this package supplies a name.
+\end{description}
+
+\paragraph*{Second parameter, required (\ameta{path}).} The second parameter is
+ the path to the digital photo (or graphic) to be used as a background to
+ this box.
+
+\paragraph*{Optional key-values for the third parameter (\ameta{design-kvs}).} These are additional options for the design
+of the box that contains the caption.
+\begin{description}
+ \item[\texttt{borderwidth}:] The border width. The default is \texttt{2pt}
+ \item[\texttt{fboxsep}:] The space between the border and the text, the default is \texttt{6pt}
+ \item[\texttt{width:}] The width of \cs{parbox}, the default is \cs{linewidth}
+ \item[\texttt{bordercolor}:] A named color of border, the default is \texttt{black}. A special value
+ of \texttt{nocolor} is recognized, in that case, no color is applied.
+ \item[\texttt{bgcolor:}] A named color of background, the default is \texttt{white}. A special value
+ of \texttt{nocolor} is recognized, in that case, no color is applied.
+ \item[\texttt{borderop:}] A number type, the opacity for border $0 \le \mbox{number} \le 1$, the default is~$.5$
+ \item[\texttt{bgop:}] A number type, the opacity for background $0 \le \mbox{number} \le 1$, the default is~$.5$
+ \item[\texttt{textop:}] A number type, the opacity for text $0 \le \mbox{number} \le 1$, the default is~$1$
+ \item[\texttt{borderblend:}] The blend mode for the border, the default is \texttt{Normal}
+ \item[\texttt{bgblend:}] The blend mode for the background, the default is \texttt{Normal}
+\end{description}
+
+\paragraph*{Fourth parameter, required.} The text of the caption.
+
+\exSrc{digicap-tst}The following is a sample of examples, see the demo file
+\texttt{digicap-tst.tex} for extensive examples of \cs{digiCap} with its options.
+\begin{center}
+\digiCap[inclgraphicx={name=clifflee,width=.75\linewidth},vcaption=b,
+ hcaption=c,outerboxsep=0pt]{\expath/digis/IiFUCdIQ}[borderwidth=0bp,
+ fboxsep=10bp,bordercolor=nocolor,bgop=.7]{\parskip6pt\bfseries
+ \makebox[\linewidth]{\textcolor{red}{Lee ices A's win
+ streak with an eight-inning gem}}\\\relax\footnotesize
+ Lee ices A's win streak with an eight-inning gem Cliff Lee retired
+ 14 straight in a 7-1 Indians win over the A's on Sunday. Grady
+ Sizemore had three RBIs as Cleveland halted its three-game skid.}\\[1ex]
+%
+\digiCap*[inclgraphicx={name=clifflee,width=.75\linewidth},vcaption=c,hcaption=l,outerboxsep=0pt]
+ {\expath/digis/IiFUCdIQ}[borderwidth=4bp,fboxsep=10bp,
+ bordercolor=blue,bgop=.7]{\parskip6pt\bfseries
+ \makebox[\linewidth]{\textcolor{webblue}{Lee ices A's win
+ streak with an eight-inning gem}}\\\relax\footnotesize
+ Lee ices A's win streak with an eight-inning gem Cliff Lee retired
+ 14 straight in a 7-1 Indians win over the A's on Sunday. Grady
+ Sizemore had three RBIs as Cleveland halted its three-game skid.}%
+\end{center}
+The topmost photo has a static caption at the bottom of the photo, the photo below it has a rollover
+caption, the caption box has been designed with a border. The verbatim listing of these two images
+are
+
+\begin{Verbatim}[xleftmargin=\parindent,numbers=left,fontsize=\footnotesize]
+\digiCap[inclgraphicx={width=.75\linewidth},
+ vcaption=b,hcaption=c,outerboxsep=0pt]
+ {\expath/digis/IiFUCdIQ}[borderwidth=0bp,fboxsep=10bp,bordercolor=nocolor,
+ bgop=.7]{\parskip6pt\bfseries
+ \makebox[\linewidth]{\textcolor{red}{Lee ices A's win
+ streak with an eight-inning gem}}\\\relax\footnotesize
+ Lee ices A's ... as Cleveland halted its three-game skid.}
+\end{Verbatim}
+In line~(1), the \texttt{inclgraphicx} key sets the width of the graphic at
+\verb!.75\linewidth!. The first optional option continues on line~(2), we set
+\texttt{vcaption} and \texttt{hcaption} to the defaults (hence need not have
+appeared). The second required parameter is in line~(3). The third (optional)
+parameter also begins in line~(3) and continues onto line~(4): among the
+options is setting the \texttt{bordercolor} to \texttt{nocolor} and the
+\texttt{bgop} (background opacity) to .7. The fourth required parameter is
+begins in line~(4) and goes through line~(7). A title line is put in red, and
+the caption text set in a smaller size font.
+
+The second photo has code,
+
+\begin{Verbatim}[xleftmargin=\parindent,numbers=left,fontsize=\footnotesize]
+\digiCap*[inclgraphicx={width=.75\linewidth},vcaption=c,hcaption=l,
+ outerboxsep=0pt]{\expath/digis/IiFUCdIQ}[borderwidth=4bp,fboxsep=10bp,
+ bordercolor=blue,bgop=.7]{\parskip6pt\bfseries
+ \makebox[\linewidth]{\textcolor{webblue}{Lee ices A's win
+ streak with an eight-inning gem}}\\\relax\footnotesize
+ Lee ices A's ... Cleveland halted its three-game skid.}
+\end{Verbatim}
+We use \cs{digiCap*}, the \texttt* signals that this digital photo should have a
+rollover caption. We set \texttt{vcaption} to \texttt{c}, which centers the caption
+vertically. In the third (optional) parameter, we set the \texttt{borderwidth} to 4bp,
+\texttt{fboxsep} to 10bp, \texttt{bordercolor} to blue and \texttt{bgop} to .7.
+
+Again, many examples appear in \texttt{digicap-tst.tex}.
+
+
+\subsubsection{Using \textsf{graphicxsp} Package}
+
+For normal uses, \cs{digiCap} is used to display several
+\emph{different} photos, photos are not repeatedly used. Each time a
+photo is displayed, it is imported into the document using the
+command \cs{includegrpahics}, if you show the same photo five times,
+the same graphic file is imported five times. This most certainly
+increases the file size.
+
+If the \textsf{graphicxsp} package is also used (required for the
+commands of the next section), photos can be embedded in the
+document and used multiple times without significantly increasing
+the size of the file size. The \textsf{digicap-pro} package allows
+for the use of the \textsf{graphicxsp} package, naturally.
+
+\def\nameKey{\textcolor{red}{name=clifflee}}
+
+The two instances of the Cliff Lee photo seen earlier is an example.
+In the verbatim code, I deleted one key-value pair. The true verbatim code is
+\begin{Verbatim}[xleftmargin=\parindent,numbers=left,fontsize=\footnotesize,commandchars=\|\<\>]
+\digiCap[inclgraphicx={|nameKey,width=.75\linewidth},vcaption=b,
+ hcaption=c,outerboxsep=0pt]{\expath/digis/IiFUCdIQ}[borderwidth=0bp,
+ fboxsep=10bp,bordercolor=nocolor,bgop=.7]{\parskip6pt\bfseries
+ \makebox[\linewidth]{\textcolor{red}{Lee ices A's win
+ streak with an eight-inning gem}}\\\relax\footnotesize
+ Lee ices A's win ... as Cleveland halted its three-game skid.}\\[1ex]
+\end{Verbatim}
+The new key-value pair is shown in red in line~(1). Within the \texttt{inclgraphicx} key we specify
+the symbolic name for the graphic, \texttt{name=clifflee}. In the preamble of this document,
+the follow code appears: \verb!\embedEPS{clifflee}{\expath/digis/IiFUCdIQ}! (the \cs{expath} expands
+to the path to the folder containing the \texttt{digis} folder).
+
+\exSrc{digicap-embed}The file \texttt{digicap-embed.tex} contains an example of this embedding.
+
+\subsection{Displaying Collections of Digital Photos}\label{s:photoalbum}
+
+Now, if you want to display a number of photos, you can either place one or two per page,
+or you can present all photos on the same page, the latter is the approach we take here.
+
+\paragraph*{Creating a photo album.} For each photo\marginpar{\small\raggedleft\opt{display1} option}, we create a smaller version (thumbnail) and set it as a
+button appearance. When you rollover the button, the larger version of the
+photo makes its appearance in the photo viewing area. The code for setting up
+the thumbnail layout is contained in additional code that is input with the
+\opt{design1} option.
+
+\paragraph*{Demo files for photo album.} There are three demo files for this
+section contained in the \texttt{photoalbum} folder:
+\begin{itemize}
+\item[]\exSrc[../photoalbum/digis/]{eastern_trip_por}\texttt{eastern\_trip\_por.tex}
+\item[]\exSrc[../photoalbum/digis/]{eastern_trip_ls}\texttt{eastern\_trip\_ls.tex}
+\item[]\exSrc[../photoalbum/digis/]{eastern_trip_ls_2pg}\texttt{eastern\_trip\_ls\_2pg.tex}
+\end{itemize}
+These three present the same collection of photos
+with different layouts for the thumbnails.
+
+\subsubsection{The Main Controls}\label{photoAlbum}
+
+We describe the commands in the order in which they appear in the
+document.
+
+\paragraph*{Declaring the picture collection}\leavevmode
+\bVerb\def\1{n}\takeMeasure{\quad\darg{\ameta{name\SUB1}}\darg{\ameta{path\SUB1}}\darg{\ameta{title\SUB1}}\darg{\ameta{caption\SUB1}},}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\PicsThisDoc
+{%
+!quad{!ameta(name!SUB1)}{!ameta(path!SUB1)}{!ameta(title!SUB1)}{!ameta(caption!SUB1)},
+!quad{!ameta(name!SUB2)}{!ameta(path!SUB2)}{!ameta(title!SUB2)}{!ameta(caption!SUB2)},
+!quad...
+!quad{!ameta(name!SUB!1)}{!ameta(path!SUB!1)}{!ameta(title!SUB!1)}{!ameta(caption!SUB!1)}
+}
+\end{dCmd*}
+\eVerb
+In the preamble of the document, the \cs{PicsThisDoc} commands declares
+the pictures to be displayed in this document. The arguments for this command
+are a comma-delimited list, each item in the list consists of four parameters, as described
+below:
+\begin{itemize}
+ \item \ameta{name}: a symbolic name that references this picture
+ \item \ameta{path}: the path to the photo (or any graphic), in the EPS format
+ \item \ameta{title}: a title for this photo
+ \item \ameta{caption}: a caption, or description, of this photo
+
+ \item[] Within the \ameta{caption}, the commands
+ \cs{graphicHeight}\marginpar{\small\raggedleft
+ \cs{graphicHeight}\\\cs{graphicWidth}} and \cs{graphicWidth} are
+ defined. Their values are the height and the width of the (scaled)
+ photo. An example of usage for \cs{graphicHeight} can be found in the
+ demo file \texttt{digicap-tst.tex}.
+\end{itemize}
+
+\paragraph*{Setting the presentation order.} The order the pictures are presented is set by the following command, also
+placed in the body of the document before the insertion of the pictures.
+\bVerb\def\1{n}\takeMeasure{\string\presentationOrder\darg{\ameta{name\SUB1},\ameta{name\SUB2},...,\ameta{name\SUB\1}}}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\presentationOrder{!ameta(name!SUB1),!ameta(name!SUB2),...,!ameta(name!SUB!1)}
+\end{dCmd*}
+\eVerb The names are defined by the \cs{PicsThisDoc} command.
+
+\paragraph*{Setting the display dimensions.} The photos are placed in a \cs{parbox}
+with height of \ameta{height} and width of \ameta{width}.
+\bVerb\def\1{n}\takeMeasure{\string\digiDisplaySpace\darg{\ameta{height}}\darg{\ameta{width}}}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\digiDisplaySpace{!ameta(height)}{!ameta(width)}
+\end{dCmd*}
+\eVerb Reads the information defined by \cs{presentationOrder} and inserts
+the photos at the current location in a \cs{parbox}
+
+\paragraph*{Insert the captions}\leavevmode
+\bVerb\def\1{n}\takeMeasure{\string\insertCaptions}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\insertCaptions
+\end{dCmd*}
+\eVerb Places the caption of the current photo at the current location.
+
+\paragraph*{Insert the thumbnails}\leavevmode
+\bVerb\takeMeasure{\string\insertThumbs\darg{\ameta{rows}}\darg{\ameta{columns}}}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\insertThumbs{!ameta(rows)}{!ameta(columns)}
+\end{dCmd*}
+\eVerb
+Lays out a \env{tabular} environment with \ameta{rows} and
+\ameta{columns}; within this \env{tabular} environment, the thumbnails are
+inserted.
+
+\paragraph*{Placement of the photo album elements.}
+The several commands \cs{digiDisplaySpace}, \cs{insertCaptions}, and
+\cs{insertCaptions} are placed on a page after the command \cs{presentationOrder},
+and can be arranged anyway desired; the three demo files give examples of
+different arrangements.
+
+\subsubsection{Additional Controls}
+
+The \cs{digiDisplaySpace} command ultimately uses \cs{digiCap} to display the
+photos, but \cs{digiCap} has two optional arguments, labeled \ameta{pos-kvs>}
+and \ameta{design-kvs>} in the description of \cs{digiCap},
+page~\pageref*{ss:digiCap}, that cannot be accessed. The \textsf{digicap-pro}
+package provides a way of setting these options for all photos, and for a
+particular photo.
+\bVerb\takeMeasure{\string\dcSecondOpt[\ameta{name}]\darg{\ameta{design-kvs}}}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\dcFirstOpt[!ameta(name)]{!ameta(pos-kvs)}
+\dcSecondOpt[!ameta(name)]{!ameta(design-kvs)}
+\end{dCmd*}
+\endgroup
+\CmdDescription \cs{dcFirstOpt} inserts its key-value pairs into the first optional argument
+of \cs{digiCap}, the one labeled \ameta{pos-kvs}. See
+\hyperref[ss:digiCap]{Section~\ref*{ss:digiCap}}, page~\pageref*{ss:digiCap}, for a list of these
+options. When the key-values are passed without a first argument, the key-values are applied to
+all photos; when the optional argument is specified (\ameta{name} is a symbolic name of one of
+the photos in the collection defined by \cs{PicsThisDoc}), the key-value pairs are applied only
+to that photo. For example,
+\begin{Verbatim}[xleftmargin=\parindent]
+\dcFirstOpt{vcaption=b,hcaption=c,outerboxsep=0pt}
+\dcFirstOpt[p1]{vcaption=t,hcaption=c,outerboxsep=0pt}
+\end{Verbatim}
+The first line sets the global options for all the photos (this is actually the package
+default, and need not be specified here), the second line is the specification for
+the photo labeled \texttt{p1}. To repeat, the default definition for \cs{dcFirstOpt}
+is
+\bVerb\takeMeasure{\string\dcFirstOpt\darg{vcaption=b,hcaption=c,outerboxsep=0pt}}%
+\begin{dCmd}[commandchars=!()]{\bxSize}
+\dcFirstOpt{vcaption=b,hcaption=c,outerboxsep=0pt}
+\end{dCmd}
+\eVerb Similar comments are made for \cs{dcSecondOpt} that sets the second
+optional argument of \cs{digiCap} (which is actually the third parameter of
+that command), see, again, \hyperref[ss:digiCap]{Section~\ref*{ss:digiCap}},
+page~\pageref*{ss:digiCap}, for a listing in the paragraph titled
+\textbf{Optional key-values for the third parameter}. The default setting for
+\cs{dcSecondOpt} is
+\bVerb\takeMeasure{\string\dcSecondOpt\{borderwidth=0bp,fboxsep=10bp,}%
+\begin{dCmd}[commandchars=!()]{\bxSize}
+\dcSecondOpt{borderwidth=0bp,fboxsep=10bp,
+ bordercolor=nocolor,bgop=.7}
+\end{dCmd}
+\eVerb
+The default behavior is that the caption appears with the photo. The \cs{digiCap}
+command does have an option for making the caption itself into a rollover; when the user
+rolls over the photo, the caption appears. To activate this feature of \cs{digiCap}
+use the command \cs{useRollovers} before the \cs{presentationOrder}.
+
+\bVerb\takeMeasure{\string\useRollovers\quad\string\noRollovers}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\useRollovers!quad\noRollovers
+\end{dCmd*}
+\eVerb
+You can turn off the roll over feature with \cs{noRollovers}. It is
+possible to have some of the photos displayed on one page, and the
+others on another page. The rollovers can be activated for one set
+of pictures, and deactivated for the other. (For photo displays over
+two pages, see the demo file \texttt{eastern\_trip\_ls\_2pg.tex}.
+
+
+\paragraph*{Formatting the Long Captions.} The long caption is the text that accompanies the
+photo, and is overlaid on top of the photo using a ``see through'' box.
+\cs{longCapFmt} is used for globally formatting the caption. This formatting
+can changed locally from within the fourth parameter---the \ameta{caption}
+parameter---, see the syntax for \cs{PicsThisDoc}, at the beginning of this
+section on \hyperref[photoAlbum]{page~\pageref*{photoAlbum}}. The default
+long caption formatting is \verb!\longCapFmt{}!, but a declaration of
+\verb!\longCapFmt{\bfseries}! puts all the captions in bold.
+\bVerb\takeMeasure{\string\longCapFmt\darg{\ameta{format-declns}}}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\longCapFmt{!ameta(format-declns)}
+\end{dCmd*}
+\endgroup
+\paragraph*{Formatting the Short Captions.} The short captions,
+perhaps a better term might have been the title of the photo, are
+defined as the third parameter, the \ameta{title} parameter, (in
+the set of four) of \cs{PicsThisDoc}. Use \cs{shortCapFmt} to apply
+format declarations:
+\bVerb\takeMeasure{\string\shortCapFmt\darg{\ameta{format-declns}}}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\shortCapFmt{!ameta(format-declns)}
+\end{dCmd*}
+\eVerb The default definition for \cs{shortCapFmt} is
+\begin{dCmd}{.67\linewidth}
+\shortCapFmt{\sffamily\bfseries\color{blue}}
+\end{dCmd}
+
+\paragraph*{Setting Appearance and Width of the Thumbs.} The thumbnails are
+automatically generated by \cs{insertThumbs}, but \cs{insertThumbs} does not
+contain any controls over the appearance or width of the buttons created.
+For this reason, \cs{setThumbAppearances} and \cs{setWidthOfThumbs}
+are provided.
+
+\bVerb\takeMeasure{\string\setThumbAppearances[\ameta{name}]\darg{\ameta{ro-kvs}}}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\setThumbAppearances[!ameta(name)]{!ameta(ro-kvs)}
+\end{dCmd*}
+\eVerb When the optional parameter \ameta{name} is not present, the
+\ameta{ro-kvs} are taken as global key-value pairs, applied to all the
+thumbs. When \ameta{name} is passed, the key-value pairs are applied only to
+the thumb associated with \ameta{name}. The key-value pairs themselves allow
+the document author to set the rollover attributes of the thumb, and to set
+the boundary color and width.
+\begin{itemize}
+\item\texttt{normalop}: The opacity of the normal appearance of the thumb, the default
+is~.5.
+\item\texttt{rolloverop}: The opacity of the rollover appearance of the thumb, the default
+is~1.
+\item\texttt{downop}: The opacity of the down appearance of the thumb, the default
+is~.3.
+\item\texttt{boundarywidth}: The boundary width of the unscaled digital photo. The
+default is 30 (points).
+\item\texttt{rgbcolor}: The RGB color of the boundary, a space delimited
+ list of three numbers between 0 and 1. If the \pkg{xcolor}
+ package\marginpar{\small\raggedleft\pkg{xcolor} and named colors} is used,
+ than you can use a named color for the value; for example,
+ \texttt{rgbcolor=red}. There is no default, since, the default color is
+ in CMYK color space.
+\item\texttt{cmykcolor}: The CMYK color of the boundary, a space delimited list of four numbers
+between 0 and 1. If the \pkg{xcolor}
+ package\marginpar{\small\raggedleft\pkg{xcolor} and named colors} is used,
+ than you can use a named color for the value; for example,
+ \texttt{cmykcolor=magenta}.
+The default is \texttt{0 0 1 0} (yellow).
+\end{itemize}
+The following code,
+\bVerb\takeMeasure{\string\setThumbAppearances[p1]\darg{rgbcolor=1 0 0}}%
+\begin{dCmd}[commandchars=!()]{\bxSize}
+\setThumbAppearances[p1]{rgbcolor=1 0 0}!quad%!normalfont( or possibly !texttt(rgbcolor=red))
+\end{dCmd}
+\eVerb
+sets the border color to red of the thumbnail associated with the name \texttt{p1};
+the other default values are still in effect.
+
+The width of the thumbnails are calculated automatically, based on the number
+of columns and the linewidth of the tabular environment the thumbs are being
+laid out in. The \texttt{digicap-pro} package sets the width of the thumbs using
+\cs{setWidthOfThumbs}. The default setting is \verb!\setWidthOfThumbs{0pt}!.
+If the width is set to 0pt (the default), the width of the thumbs are
+set dynamically using the formulas:
+\begin{Verbatim}[xleftmargin=\parindent]
+\setWidthOfThumbs{\linewidth/(\dc@maxCols)-\tabcolsep*2}
+\end{Verbatim}
+Here, \cs{dc@maxCols} is the number of columns declared in the second
+parameter of \cs{insert\-Thumbs}. The \textsf{calc} package is used in this
+calculation. If the document author sets \cs{setWidthOfThumbs} to a length
+other than \texttt{0pt}, this declared length is used as the width of the
+thumbs.
+
+The width between rows of the tabular layout can be adjusted using
+command \cs{addvspacetorows}.
+\bVerb\takeMeasure{\string\addvspacetorows\darg{\ameta{length}}}%
+\def\1{\rlap{\hskip\bxSize\enspace{\normalfont{(\texttt{1ex})}}}}
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+!1\addvspacetorows{!ameta(length)}
+\end{dCmd*}
+\eVerb
+The default of \ameta{length} is given in parentheses above.
+
+\subsection{The \texorpdfstring{\protect\cs{opcolorbox}}{\CMD{opcolorbox}} Command}
+
+The \cs{opcolorbox} commands creates two color boxes, a larger one with a smaller one
+centered vertically and horizontally inside the larger one.
+Transparent options allow separate control over the opacity settings
+of the larger and smaller rectangle as well as the text that is
+written within the smaller rectangle.
+
+The purpose of this \cs{opcolorbox} is to contain the caption of the
+digital photo, and is laid on top of the photo. The key-value pairs passed through the
+third (optional) parameter of \cs{digiCap}, are, in turn, passed on to \cs{opcolorbox}
+to create the underlying color box for the caption.
+
+\bVerb\takeMeasure{\string\opcolorbox[\ameta{kvs}]\darg{\ameta{text}}}%
+\begin{dCmd*}[commandchars=!()]{\bxSize}
+\opcolorbox[!ameta(kvs)]{!ameta(text)}
+\end{dCmd*}
+\eVerb
+The optional parameter consists of key-value pairs, the same ones as for the second
+option parameter of \cs{digiCap}, see page~\pageref{ss:digiCap}. We reproduce these
+key-values here for your convenience:
+
+\paragraph*{Optional key-values for the first parameter}
+\begin{description}
+ \item[\texttt{borderwidth}:] The border width. The default is \texttt{2pt}
+ \item[\texttt{fboxsep}:] The space between the border and the text, the default is \texttt{6pt}
+ \item[\texttt{width:}] The width of \cs{parbox}, the default is \cs{linewidth}
+ \item[\texttt{bordercolor}:] A named color of border, the default is \texttt{black}. A special value
+ of \texttt{nocolor} is recognized, in that case, no color is applied.
+ \item[\texttt{bgcolor:}] A named color of background, the default is \texttt{white}. A special value
+ of \texttt{nocolor} is recognized, in that case, no color is applied.
+ \item[\texttt{borderop:}] A number type, the opacity for border $0 \le \mbox{number} \le 1$, the default is~$.5$
+ \item[\texttt{bgop:}] A number type, the opacity for background $0 \le \mbox{number} \le 1$, the default is~$.5$
+ \item[\texttt{textop:}] A number type, the opacity for text $0 \le \mbox{number} \le 1$, the default is~$1$
+ \item[\texttt{borderblend:}] The blend mode for the border, the default is \texttt{Normal}
+ \item[\texttt{bgblend:}] The blend mode for the background, the default is \texttt{Normal}
+\end{description}
+The second parameter \ameta{text} is the text that is to appear within the
+box.\medskip
+
+A document author does not normally have a need to use \cs{opcolorbox}, the
+demo file \texttt{eastern\_trip\_ls\_2pg.tex} demonstrates one possible use
+of this box.
+
+%\paragraph*{Limitations of \app{dvips}.} It appears that the \textbf{CA} entry
+%is not obeyed when the PDF is distilled from a PS file created by \app{dvips}
+%(Refer to the documentation for the \pkg{opacity-pro} package for a
+%discussion of these entries). Therefore, only the \textbf{ca} entry is
+%obeyed.\footnote{The key that directly sets the \textbf{ca} entry is
+%\texttt{textop}; however, the \pkg{digicap-pro} does the following: }
+%The setting of \ameta{ca} should be small enough to get
+%discernable transparency, but not so much that the text is difficult to read.
+%Recommendation: set \ameta{ca} to .7 or there abouts.
+
+\newtopic\noindent
+That's all for now, I simply must get back to my retirement. \dps
+
+\end{document}