From c799b30e42ed0048aa42ae21fe014735d94f13af Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Fri, 2 Jul 2021 06:06:16 +0900
Subject: aeb_pro update

---
 texmf-dist/source/latex/aeb-pro/aeb_pro.dtx | 94 ++++++++++++++++++++++++-----
 1 file changed, 79 insertions(+), 15 deletions(-)

(limited to 'texmf-dist/source/latex/aeb-pro/aeb_pro.dtx')

diff --git a/texmf-dist/source/latex/aeb-pro/aeb_pro.dtx b/texmf-dist/source/latex/aeb-pro/aeb_pro.dtx
index 0b5e3d76..4ff2c7a1 100644
--- a/texmf-dist/source/latex/aeb-pro/aeb_pro.dtx
+++ b/texmf-dist/source/latex/aeb-pro/aeb_pro.dtx
@@ -14,7 +14,7 @@
 %</copyright>
 %<package>\NeedsTeXFormat{LaTeX2e}[1997/12/01]
 %<package>\ProvidesPackage{aeb_pro}
-%<package> [2021/04/27 v2.11 aeb_pro: A support package (dps)]
+%<package> [2021/06/20 v2.14 aeb_pro: A support package (dps)]
 %<*driver>
 \documentclass{ltxdoc}
 \usepackage[colorlinks,hyperindex=false]{hyperref}
@@ -43,7 +43,8 @@
      \PackageInfo{aeb_pro}{aebdocfmt.def cannot be found}}
 \begin{document}
   \GetFileInfo{aeb_pro.sty}
-  \title{\pkg{aeb\_pro}\\as suggested by J\"{u}rgen Gilg}
+  \title{The \pkg{aeb\_pro} package\\[3pt] \normalsize
+    as suggested by J\"{u}rgen Gilg}
   \author{D. P. Story\\
     Email: \texttt{dpstory@acrotex.net}}
   \date{processed \today}
@@ -76,12 +77,14 @@
 \RequirePackage{xkeyval}
 \DeclareOptionX*{\PassOptionsToPackage{\CurrentOption}{aeb_pro}}
 \ProcessOptionsX\relax
-\RequirePackage{aeb_pro}
+%\RequirePackage{aeb_pro}
 %    \end{macrocode}
 %    \begin{macrocode}
 %</altpkgname>
 %<*package>
 %    \end{macrocode}
+% \changes{v2.12}{2021/06/08}{Updated \string\texttt{aeb\_pro.js} to Version 1.6, this
+%    version includes aebLaunchURL}
 % \changes{v2.11}{2021/04/27}{Added \string\texttt{aebCertifyInvisibleSign} to
 %   \string\texttt{aeb\_pro.js} (Version 1.5)}
 % \changes{v2.9.7}{2021/02/04}{Updated documentation to reflect new Acrobat security restriction,
@@ -108,7 +111,12 @@
 %
 %    We declare some options for this package.
 %\changes{v2.2}{2016/07/26}{Removed the generation of \string\texttt{fsprodef.js} from the INS file.}
+%\changes{v2.13}{2021/06/11}{Cannot have docassembly package loaded}
 %    \begin{macrocode}
+\@ifpackageloaded{docassembly}{%
+  \PackageError{aeb_pro}{The docassembly package is loaded.\MessageBreak
+    Functionality of this package is included in aeb\_pro.\MessageBreak
+    Please remove the docassembly package and recompile}{}}{}
 \RequirePackage{ifpdf}[2006/02/20]
 \RequirePackage{ifxetex}[2006/08/21]
 \RequirePackage{xkeyval}
@@ -130,6 +138,7 @@
 %    \IndexOpt{hyperref}^^A
 %    \IndexOpt{graphicxsp}^^A
 %    \IndexOpt{rmannot}^^A
+%    \IndexOpt{aeb\_mlink}^^A
 % \vskip-\baselineskip\noindent AeB control central
 % is simply a set of options for including the
 % other members of the AeB family.  This assures that the package are
@@ -142,6 +151,7 @@
 %   \usepackage[web={designi,forpaper,req=2016/11/03}]{aeb_pro}
 %\end{verbatim}
 %    The version takes a key of \texttt{req}, as shown above.
+%    \changes{v2.12}{2021/06/08}{Include \string\pkg{aeb\_mlnk} in AeB Central}
 %    \changes{v0.8f}{2008/06/15}{Added \textsf{graphicxsp} to the list of support packages}
 %    \changes{v2.7}{2016/12/10}{Incorporate the version argument into package specification}
 %    \par\medskip\noindent
@@ -163,7 +173,7 @@
 %    \texttt{eq2db}, \texttt{aebxmp}, \texttt{hyperref}, \texttt{graphicxsp}, and \texttt{rmannot}.
 %    \begin{macrocode}
 \@tfor\aeb@pcks:={web}{exerquiz}{dljslib}%
-{eforms}{insdljs}{eq2db}{aebxmp}{hyperref}{graphicxsp}{rmannot}\do
+{eforms}{insdljs}{eq2db}{aebxmp}{hyperref}{graphicxsp}{rmannot}{aeb_mlink}\do
 {%
     \ap@csarg\let{aeb@\aeb@pcks @req}\@empty
     \ap@csarg\let{aeb@\aeb@pcks @opts}\relax
@@ -247,7 +257,6 @@
     {\PackageInfo{aeb_pro}{Inputting code for the pro option}}%
     {\PackageInfo{aeb_pro}{Cannot find aebpro.def.
         Reinstall or refresh your file name database, as needed.}}}
-%\AtEndOfPackage{\aeb@InputAeBPro}
 %    \end{macrocode}
 %
 % \subsection{\texttt{uselayers} option}
@@ -596,8 +605,34 @@
     {\edef\temp@exp{\ifpdfmarkup\noexpand\ap@RP{rmannot}\else
         \noexpand\aebp@PkgWarningii{rmannot}\fi}\temp@exp}
 }
+\@ifpackageloaded{aeb_mlink}{\aebp@PkgWarningi{aeb_mlink}}
+{%
+    \@ifundefined{aeb@aeb_mlink@opts}{}
+    {\edef\temp@exp{\ifpdfmarkup\noexpand\ap@RP{aeb_mlink}\else
+        \noexpand\aebp@PkgWarningii{aeb_mlink}\fi}\temp@exp}
+}
 \let\execjs\aebp@YES
 %    \end{macrocode}
+%    (2021/06/20)
+%    Move the JavaScript file \texttt{aeb\_pro.js} to the \pkg{acrotex-js} package, dated
+%    2021/06/19 or later.
+%\changes{v2.14}{2021/06/20}{Require \string\pkg{acrotex-js} dated 2021/06/19 or later}
+%    \begin{macrocode}
+\IfFileExists{acrotex-js.sty}{\let\reqpkg\relax}
+%    \end{macrocode}
+%    If the style file \texttt{acrotex-js.sty} is detected, we assume the document
+%    author has correctly installed \texttt{aeb\_pro.js}, if not, we require
+%    this package, which may be automatically installed on some {\TeX} systems.
+%    \begin{macrocode}
+  {\PackageWarningNoLine{aeb_pro}{%
+      The acrotex-js package is required.\MessageBreak
+      Before continuing, install this package,\MessageBreak
+      read the documentation, and place\MessageBreak
+      aeb_pro.js in the expected folder
+    }\def\reqpkg{\usepackage{acrotex-js}[2021/06/19]}
+  }
+\reqpkg
+%    \end{macrocode}
 %\changes{v2.9.4}{2018/12/02}{Require aeb-comment (version 3.2 of comment)}
 %    \begin{macrocode}
 \RequirePackage{aeb-comment}
@@ -3366,17 +3401,17 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}%
 %    \end{macrocode}
 %
 % \section{Document Assembly Methods}
-%    Special commands and environment to take advantage of \app{Acrobat}'s extensive
+%    Special ``helper'' commands and one environment are defined to take advantage of \app{Acrobat}'s extensive
 %    library of security restricted methods. It is assumed the document author has properly
 %    installed \texttt{aeb\_pro.js}.
 %
-% \subsection{The \texttt{docassembly} Environment}
+% \subsection{The \texttt{docassembly} environment}
 %
 %    \begin{environment}{docassembly}
 % This is a wrapper environment for the \texttt{execJS} environment of the
 % \textsf{insDLJS} Package. Place JavaScript lines in this environment and
-% the script will execute one time after the file has been distilled and opened
-% in Acrobat Pro for the fist time.
+% the script will execute one time after the PDF has been created and opened
+% in \app{Acrobat Pro} for the first time.
 %    \begin{macrocode}
 \newenvironment{docassembly}{%
 \execJS{docassembly}
@@ -3423,7 +3458,7 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}%
 %    \end{macrocode}
 %    \end{macro}
 %    The above defines a new command given by \texttt{\#1}. The command has one argument which is all content
-%    up to the terminating mark \cs{sp@mrk}. The trick to removing \cs{thisDocObject} and replacing it with
+%    up to the terminating mark \cs{ap@mrk}. The trick to removing \cs{thisDocObject} and replacing it with
 %    \texttt{\#2}, in the above definition, we insert `\texttt{(\#2}' followed by \cs{ap@gobtocomma}, which absorbs
 %    \cs{thisDocObject,} (absorbs everything through the first comma), followed by all content (\texttt{\#\#1}); the second \cs{@gobble} absorbs the left
 %    parenthesis that opens the argument.
@@ -3464,6 +3499,26 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}%
 %    parenthesis. This approach allows more flexibility in the definition, there can be spaces following the
 %    command name |\docSaveAs ({path: _path})|, for example.
 %    \end{macro}
+%    \begin{macro}{\retnAbsPathAs}\hskip-\marginparsep\texttt{(\ameta{js-var})}
+%    Several methods require an absolute path to the current folder. The code is,
+%\changes{v2.13}{2021/06/11}{Added \string\cs{retnAbsPathAs}}
+%\begin{verbatim}
+%var _path=this.path;
+%var pos=_path.lastIndexOf("/");
+%_path=_path.substring(0,pos);
+%\end{verbatim}
+%We simplify this code for the document author in the form of the
+%command \cs{rtnAbsPathAs(\ameta{js-var})}, where \ameta{js-var} is a JavaScript
+%variable that will hold the absolute path to the current folder; eg, |\rtnAbsPathAs(_path);|
+%expands to the above code.
+%    \begin{macrocode}
+\def\retnAbsPathAs(#1){%
+  var #1=this.path;^^J%
+  var pos=#1.lastIndexOf("/");^^J%
+  #1=#1.substring(0,pos)}
+%    \end{macrocode}
+%Notice the argument \ameta{js-var} is delimited by \emph{parentheses}, not braces.
+%    \end{macro}
 %    \begin{macrocode}
 % End aebpro and createicon segments
 %</aebpro|createicon>
@@ -3475,6 +3530,12 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}%
 \DeclareJSHelper{\addWatermarkFromFile}{aebAddWatermarkFromFile}
 %    \end{macrocode}
 %    \end{macro}
+%    \begin{macro}{\addWatermarkFromText}
+% This is the method \texttt{Doc.addWatermarkFromText}.
+%    \begin{macrocode}
+\DeclareJSHelper{\addWatermarkFromText}{aebAddWatermarkFromText}
+%    \end{macrocode}
+%    \end{macro}
 %    \begin{macrocode}
 % End aebpro segment
 %</aebpro>
@@ -3533,10 +3594,13 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}%
 \DeclareJSHelper{\createTemplate}{aebCreateTemplate}
 %    \end{macrocode}
 %    \end{macro}
-%    \begin{macro}{\importDataObject}
-% This is the method \texttt{Doc.importDataObject}.
+%    \begin{macro}{\importDataObject} This is the method
+%    \texttt{Doc.importDataObject}. \cs{attachFile} is a
+%    more intuitive name for the operation performed.
+%   \DescribeMacro\attachFile
 %    \begin{macrocode}
 \DeclareJSHelper{\importDataObject}{aebImportDataObject}
+\DeclareJSHelper{\attachFile}{aebImportDataObject}
 %    \end{macrocode}
 %    \end{macro}
 %    \begin{macro}{\executeSave}
@@ -3562,12 +3626,12 @@ nLaunch: \ahref@launch@type})}}]{\ahypercolor{#3}}%
 %    \begin{macro}{\sigInfo}
 %    \begin{macro}{\signatureSign}
 %    \begin{macro}{\signatureSetSeedValue}
-% The \cs{signInfo} command is used for entering signing formation into what will
+% The \cs{sigInfo} command is used for entering signing formation into what will
 % become an object. \cs{signatureSign} takes no arguments, but uses the info
-% entered by \cs{signInfo}. An example is
+% entered by \cs{sigInfo}. An example is
 %\begin{verbatim}
 %\begin{docassembly}
-%\signInfo{
+%\sigInfo{
 %    cSigFieldName: "sigOfDPS", ohandler: security.PPKLiteHandler,
 %    cert: "D_P_Story.pfx", password: "dps017",
 %    oInfo: { location: "Niceville, FL",
-- 
cgit v1.2.3

