summaryrefslogtreecommitdiff
path: root/texmf-dist/doc
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/doc')
-rw-r--r--texmf-dist/doc/latex/acrotex/README.md36
-rw-r--r--texmf-dist/doc/latex/acrotex/acrobat-in-workflow.pdfbin0 -> 369266 bytes
-rw-r--r--texmf-dist/doc/latex/acrotex/acrobat-in-workflow.tex232
-rw-r--r--texmf-dist/doc/latex/acrotex/aeb_man.pdfbin1499729 -> 2117711 bytes
-rw-r--r--texmf-dist/doc/latex/acrotex/aeb_man.tex135
-rw-r--r--texmf-dist/doc/latex/acrotex/eformman.pdfbin987217 -> 984871 bytes
-rw-r--r--texmf-dist/doc/latex/acrotex/eformman.tex47
-rw-r--r--texmf-dist/doc/latex/acrotex/examples/jquiztst.pdfbin126558 -> 245005 bytes
-rw-r--r--texmf-dist/doc/latex/acrotex/examples/jquiztst.tex2
-rw-r--r--texmf-dist/doc/latex/acrotex/examples/jtxttst.pdfbin320860 -> 319897 bytes
-rw-r--r--texmf-dist/doc/latex/acrotex/examples/test_install.pdfbin21312 -> 53316 bytes
-rw-r--r--texmf-dist/doc/latex/acrotex/examples/test_install.tex13
-rw-r--r--texmf-dist/doc/latex/acrotex/examples/webeqtst.pdfbin494990 -> 485009 bytes
-rw-r--r--texmf-dist/doc/latex/acrotex/examples/webeqtst.tex7
-rw-r--r--texmf-dist/doc/latex/acrotex/install_jsfiles.pdfbin237391 -> 236764 bytes
-rw-r--r--texmf-dist/doc/latex/acrotex/install_jsfiles.tex312
16 files changed, 686 insertions, 98 deletions
diff --git a/texmf-dist/doc/latex/acrotex/README.md b/texmf-dist/doc/latex/acrotex/README.md
index 98c419c8..b4795599 100644
--- a/texmf-dist/doc/latex/acrotex/README.md
+++ b/texmf-dist/doc/latex/acrotex/README.md
@@ -1,23 +1,33 @@
-The AcroTeX eDucation Bundle
+The AcroTeX eDucation Bundle (AeB)
Author: D. P. Story
-Dated: 2021-01-20
+Dated: 2021-02-17
AeB contains the following:
-1) Web Package: Extensive support for page design.
+1) web Package: Extensive support for page design.
-2) Exerquiz Package: Support for creating online interactive exercises and
+2) exerquiz Package: Support for creating online interactive exercises and
quizzes.
3) eforms Package: Extensive support for Acrobat forms and links
4) dljslib package: A package of JavaScript functions that extends the
- capability of exerquiz.
+ capability of exerquiz.
5) taborder package: Supports the create of a tab order for form fields.
-6) Documentation for AeB (AcroTeX eDucatation Bundle) and eForms
- (including insdljs and dljslib).
+6) Documentation for AeB (AcroTeX eDucatation Bundle) and eforms
+ (including insdljs and dljslib).
+
+What's New (2021-02-17) exerquiz: Added an optional fourth argument to the JavaScript
+ function DisplayQuizResults(), this is in support of the eq-pin2corr
+ package.
+
+What's New (2021-02-07) Minor change in the defineJS environment that is
+ critical to a fix in the page events environments of aeb_pro.
+
+What's New (2021-02-04) Updated documentation to reflect security changes
+ in Acrobat, authored acrobat-in-workflow.pdf to distribute with the AeB.
What's New (2021-01-20) Defined two commands \doNotRandomizeChoices
and \allowRandomizedChoices; these turn off and turn on the randomization
@@ -89,15 +99,9 @@ What's New (2017-08-08) Support for multi-letter variables, alternate appearance
and interval repetition. The demo file for these features is
http://www.acrotex.net/blog/?p=1330
-I maintain a web site featuring TeX/LaTeX/PDF stuff called
-AcroTeX (www.math.uakron.edu/~dpstory/acrotex.html). There you
-will find the home web page of the AcroTeX eDucation Bundle.
-(www.math.uakron.edu/~dpstory/webeq.html).
-
Examples for AeB have been moved to
http://www.math.uakron.edu/~dpstory/webeq_ex.html, another copy
-of the examples are at
-http://www.acrotex.net/blog/?cat=89
+of the examples are at http://www.acrotex.net/blog/?cat=89
Additional examples are posted on the AcroTeX Blog page
http://www.acrotex.net/blog/
@@ -106,5 +110,5 @@ Now, I simply must get back to my retirement.
D. P. Story
www.acrotex.net
-dpstory@uakron.edu
-dpstory@acrotex.net
+dpstory at uakron dot edu
+dpstory at acrotex dot net
diff --git a/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.pdf b/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.pdf
new file mode 100644
index 00000000..1afda080
--- /dev/null
+++ b/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.tex b/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.tex
new file mode 100644
index 00000000..bd12bdd6
--- /dev/null
+++ b/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.tex
@@ -0,0 +1,232 @@
+\RequirePackage[!use=preview,!use=efpmca,!use=usebw,!use=finalbuild]{spdef}
+\documentclass{article}
+\usepackage[fleqn]{amsmath}
+\usepackage[web,useacrobat]{aeb_pro}
+\usepackage{eforms}
+\usepackage{graphicx}
+\usepackage{fancyvrb}
+
+\ifpdf\else
+\def\x{%
+ \usepackage[altbullet]{lucidbry}
+ \usepackage[active]{srcltx}
+}\expandafter\x
+\fi
+
+\usepackage{pifont}
+
+%\usepackage{fancyvrb}
+
+\reversemarginpar
+
+\let\uif\textsf
+\let\env\texttt
+\def\cs#1{\texttt{\eqbs#1}}
+\let\tops\texorpdfstring
+
+\makeatletter
+\renewcommand{\paragraph}
+ {\@startsection{paragraph}{4}{0pt}{6pt}{-3pt}
+ {\normalfont\normalsize\bfseries}}
+\renewcommand{\subparagraph}
+ {\@startsection{subparagraph}{5}{\parindent}{6pt}{-3pt}%
+ {\normalfont\normalsize\bfseries}}
+\def\parboxValign{t}
+\newcommand{\FmtMP}[2][0pt]{\mbox{}\marginpar{%
+ \raisebox{.5\baselineskip+#1}{%
+ \expandafter\parbox\expandafter[\parboxValign]%
+ {\marginparwidth}{\aebbkFmtMp#2}}}}
+\def\aebbkFmtMp{\kern0pt\itshape\small
+ \ifusebw\color{gray}\else\color{blue}\fi
+ \raggedleft\hspace{0pt}}
+\newcommand{\BlogArticle}{%
+ \makebox[0pt][l]{\hspace{-1pt}\color{blue}\Pisymbol{webd}{254}%
+ }\raisebox{.5pt}{\ifusebw\color{black}\else
+ \color{red}\fi\ding{045}}}
+\def\dps{$\mbox{$\mathfrak D$\kern-.3em\mbox{$\mathfrak P$}%
+ \kern-.6em \hbox{$\mathcal S$}}$}
+
+\makeatother
+
+\setlength{\mathindent}{\the\parindent}
+
+\def\AEBP{\app{AeB Pro}}
+\def\AEB{\app{AeB}}
+\let\app\textsf
+\let\pkg\textsf
+\def\amtIndent{\parindent}
+\def\meta#1{$\langle\textit{\texttt{#1}}\rangle$}
+\def\SC#1{{\small#1}}
+\def\PDF{\SC{PDF}}
+\let\opt\texttt
+
+%\reversemarginpar
+\def\jsSupInstr{\tops{{\AEB} and {\AEBP}\\[1ex]}{AeB and AeB Pro: }Including
+ \tops{\app}{}{Acrobat} in the \tops{\LaTeX}{LaTeX} workflow}
+\title{\jsSupInstr}
+\author{D. P. Story}
+\version{1.0}
+
+\chngDocObjectTo{\newDO}{doc}
+\begin{docassembly}
+var titleOfManual="Acrobat workflow";
+var manualfilename="Manual_BG_Print_acrobat.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
+
+\section{Introduction}
+
+\app{Adobe Acrobat} (\app{AA}) is a desktop application that has many
+powerful features beyond the functionality of a PDF viewer. In this article
+the focus is a {\LaTeX} workflow that includes \app{AA} in its workflow.
+
+{\AEB} and {\AEBP}, as well as other packages written under the {\AEB}
+banner, use FDF files in various situations (as described in
+Section~4).\footnote{An FDF file is a file type that was created by
+\app{Adobe}. The \app{Acrobat} and \app{Adobe Reader} applications can use
+FDF files in various ways.} These packages use \app{Acrobat} to import the
+FDF files to perform designated JavaScript actions as required by the package
+or document author. The importing of FDF files is only needed during the PDF
+creation stage of document development; once the PDF file is created, the
+document can be viewed by \app{Adobe Reader} or any other PDF viewer.
+
+For FDF files to be imported, the \app{Acrobat} application may need to be
+configured.
+
+\section{Configuration of \tops{\app}{}{Acrobat}}\label{s:config}
+
+The current version of \app{AA} is \app{Adobe Acrobat DC}. In this and
+previous versions of \app{AA} no special configuration is needed; however if
+you purchased \app{AA} after December 2020, or you updated your \app{AA}
+after December 2020, you need to make one change in the \uif{Preferences}.
+
+\begin{figure}[htb]\fboxsep0pt\relax\centering
+ \fbox{\includegraphics[width=.5\linewidth]{figures/SecurityPrefs}}
+ \caption{\tops{\protect\uif}{}{Security (Enhanced) Preferences}}\label{fig:SP}
+\end{figure}
+
+Start \app{Acrobat} and open the menu \uif{Edit \ifpdf\texttt{>} \else> \fi
+Preferences} (\uif{Ctrl+K}). In the \uif{Preferences} dialog box, select
+\uif{Security (Enhanced)} category from the left panel; the top most line of
+the right panel is a checkbox labeled \uif{Enable Protected Mode at startup}.
+\emph{Clear this checkbox.}{\def\parboxValign{c}\FmtMP{\app{Acrobat DC}
+users, action required!}}\footnote{When the box is checked, importing FDF
+files, as described in the next two sections, is \emph{prohibited}. We want
+FDF files imported, so we clear the checkbox.} Refer to
+\hyperref[fig:SP]{Figure~\ref*{fig:SP}} for a visual. If this checkbox is not
+present in your \app{Acrobat}, there is nothing to do until this checkbox
+appears in a future updated version of your \uif{AA} application.
+
+\section{When FDF files are imported}
+
+It is important to be aware of when and how FDF files are imported, and to
+understand the actions required of the document author in response to this
+``import FDF event.''
+
+For a document that uses FDF files to perform tasks, the files are imported
+\emph{after} PDF creation when the newly created PDF document is \emph{first
+opened} in \app{Acrobat}, and \emph{before the PDF file is moved to another
+location and before any auxiliary files (the FDF files) are deleted}. Once
+the FDF files are imported, it is important \emph{to save}\FmtMP{Save the
+PDF} the PDF file, this incorporates the results of the actions taken by the
+imported FDF files into the document, actions, such as the embedding of
+document JavaScript.
+
+Another important point to realize is that the use of FDF files is not
+restricted to the
+\app{dvips\ifpdf\texttt{->}\,\else->\,\fi\app{Distiller}\,\ifpdf\texttt{->}\,\ignorespaces
+\else->\,\fi\app{Acrobat}} method of creating a PDF; indeed, any PDF creator
+used by the {\LaTeX} community may be used, for example,
+\app{pdftex\ifpdf\texttt{->}\allowbreak\,\else->\,\fi\app{Acrobat}}. The
+only prerequisite is to use {\LaTeX} markup that initiates the ``import FDF
+event.'' This markup is available through packages that support it; this
+includes, but not restricted to, {\AEB} and {\AEBP}.
+
+\section{Applications of FDF files to a \tops{\LaTeX}{LaTeX} workflow}
+
+With regard to producing a PDF file through a {\LaTeX} workflow, there are
+two important applications to importing FDF files: importing document
+JavaScript and post-PDF creation actions. These two applications to FDF files
+are covered in the next two subsections.
+
+\subsection{Document JavaScript}
+
+In this case, FDF files are required only for the \app{dvips\,\ignorespaces
+\ifpdf\texttt{->}\,\else->\,\fi\app{Distiller}\,\ifpdf\texttt{->}\,\else->\,\ignorespaces
+\fi\app{Acrobat}} workflow; the other PDF creators (\app{pdflatex},
+\app{lualatex}, and \app{xelatex}) have primitives that facilitate the
+creation of document JavaScript without FDF files or \app{Acrobat}.
+
+For the \pkg{exerquiz} package, part of the {Acro\!\TeX} eDucation Bundle
+(\AEB), creation of Document JavaScript is automatic and invisible for all
+PDF creators; it is only in the
+\texttt{tex\,->\,dvi\,->\,\app{dvips}\,->\,\ignorespaces
+\app{Distiller}\,->\,\app{Acrobat}} workflow that FDF files are used.
+
+Document JavaScript, by the way, is code that is embedded in the PDF and is
+available to be called throughout the document. Usually, Document JavaScript
+is general code that is repeatedly used.
+
+
+\subsection{Post PDF Creation actions}
+
+The {\AEBP} Bundle has many ``post PDF creation'' actions, such as auto
+saving the document, importing sounds, attaching documents, inserting pages,
+extracting pages, and many more. With proper {\LaTeX} markup, when the
+document is compiled, FDF files are written to the hard drive, when the
+document is then first opened in \app{Acrobat}, the FDF files are imported
+and the actions are executed. Again, for the FDF files to be imported, they
+must not have already been deleted, and \app{Acrobat} must be correctly
+configured (\hyperref[s:config]{Section~\ref*{s:config}}). One very simple
+example, is automatic saving of the document when \app{Acrobat} is first
+opened. For example, an \pkg{aeb\_pro} document has a \env{docassembly}
+environment that is placed in the preamble. Within this environment, place
+any post PDF creation JavaScript actions:
+\begin{Verbatim}[xleftmargin=\parindent]
+\begin{docassembly}
+console.show();
+console.println("Saving document");
+\executeSave();
+\end{docassembly}
+\end{Verbatim}
+The \verb~\executeSave~ command is defined by \pkg{aeb\_pro} and its action
+is to save the document. It is the \env{docassembly} environment that writes
+the FDF file that contains its contents. \app{Acrobat} inputs this command on
+opening and the PDF is saved.\footnote{\cs{executeSave} must be the last post PDF
+creation action; otherwise, as later actions may not be executed.}
+
+
+\end{document}
diff --git a/texmf-dist/doc/latex/acrotex/aeb_man.pdf b/texmf-dist/doc/latex/acrotex/aeb_man.pdf
index c62c427b..e1dd5c07 100644
--- a/texmf-dist/doc/latex/acrotex/aeb_man.pdf
+++ b/texmf-dist/doc/latex/acrotex/aeb_man.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/acrotex/aeb_man.tex b/texmf-dist/doc/latex/acrotex/aeb_man.tex
index cf08a132..802c92c6 100644
--- a/texmf-dist/doc/latex/acrotex/aeb_man.tex
+++ b/texmf-dist/doc/latex/acrotex/aeb_man.tex
@@ -21,6 +21,7 @@
\DeclareInitView{layoutmag={navitab:UseOutlines}}
\xbmksetup{colors={int=red},styles={intbf}}
+\reversemarginpar
\newbox\aebbox
\usepackage{acroman}
@@ -29,6 +30,7 @@
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
+\let\tops\texorpdfstring
\let\uif\textsf
\def\AcroBlog{{Acro\!\TeX} Blog}
@@ -70,7 +72,7 @@
\LTpre=0pt %\medskipamount
\LTpost=-2\medskipamount
%\LTpost=0pt %\medskipamount
-\setlength{\mathindent}{20pt}
+\setlength{\mathindent}{\the\parindent}
\def\AEBBook{\textsl{{Acro\!\TeX} eDucation System Tools: {\LaTeX} for interactive PDF documents}}
@@ -175,7 +177,6 @@
\def\nhurl#1{\bNH\url{#1}\eNH}
\def\grayV#1{\textcolor{gray}{#1}}
\def\darg#1{\{#1\}}
-\def\parboxValign{t}
\renewcommand*{\backrefalt}[4]{%
\ifcase #1\or
See page~#2.\else See pages~#2.\fi
@@ -183,6 +184,7 @@
\newenvironment{aebQuote}
{\list{}{\leftmargin\amtIndent}%
\item\relax}{\endlist}
+\def\parboxValign{t}
\newcommand{\FmtMP}[2][0pt]{\mbox{}\marginpar{%
\raisebox{.5\baselineskip+#1}{%
\expandafter\parbox\expandafter[\parboxValign]%
@@ -233,10 +235,10 @@
\university{{\AcroT} Software Development Team}
\email{dpstory@acrotex.net}
\versionLabel{Dated:}
-\version{2021/01/20}
+\version{2021/02/17}
\copyrightyears{1999-\the\year}
\nocopyright
-\prepared{2021/01/20}
+\prepared{2021/02/17}
\revisionLabel{Distribution Dated:}
\copyrightStatus{True}
@@ -547,64 +549,57 @@ are the installation files for the individual packages,
\end{questions}
-
-\subsection{Installing \texttt{aeb.js}}
-
-
-The JavaScript file \texttt{aeb.js} is only needed if you use \textbf{Acrobat
-Pro 8.1} or later and \textbf{Adobe Distiller} as the PDF creator. Increased
-security in that version has made it necessary to install a folder JavaScript
-file. The JavaScript within \texttt{aeb.js} raises the ``trust'' of certain
-JavaScript methods used to import document JavaScript into the document just
-after the distillation process and the newly created PDF is opened in
-\textbf{Acrobat} for the first time. The installation of this file is not
-needed if you use \textsf{pdftex}, or \textsf{dvipdfm} (or any of their
-variations), or use a version of \textbf{Acrobat} prior to 8.1.
+\subsection{Concerning the use of \tops{\app}{}{Acrobat}}\label{ss:DistAcro}
+
+Some \hypertarget{DistAcroWF}{document} authors use the workflow
+\begin{equation}\text{\ttfamily
+tex\,->\,dvi\,->\,\app{dvips}\,->\,ps\,->\,\ameta{\upshape\app{Distiller}\string|\app{ps2pdf}}\,->\allowbreak
+\,\app{PDF viewer}}\label{eq:AcrobatWF}
+\end{equation}
+to create a PDF document. If the document contains quizzes created by the
+\pkg{exerquiz} package (see \Nameref{s:exerquiz}), \uif{Document JavaScripts}
+are required; as a result, at the end of the above workflow, the \app{PDF
+viewer} \emph{is required to be} \app{Acrobat}\FmtMP{\app{Acrobat}
+required}.\footnote{Other PDF creation workflows do not require \app{Acrobat}
+to embed \uif{Document JavaScripts}} The role of \app{Acrobat} is to embed
+the \uif{Document JavaScripts} in the document. The next two subsections
+discuss the use of \app{Acrobat}, first to install the folder JavaScript file
+\texttt{aeb.js}, and second to configure \app{Acrobat}, if needed.
+
+\subsubsection{Installing \texttt{aeb.js}}
+
+The JavaScript file \texttt{aeb.js} is only needed if you use the workflow of
+\hyperref[eq:AcrobatWF]{display~\begin{NoHyper}\eqref{eq:AcrobatWF}\end{NoHyper}}
+and \uif{Document JavaScripts} are needed to be embedded.
+
+Increased security for the \app{Acrobat} application makes it necessary to
+install a folder JavaScript file. The JavaScript within \texttt{aeb.js}
+raises the ``trust'' of certain JavaScript methods used to import
+\uif{document JavaScript} into the document just after the PDF creation and
+the newly created PDF is opened in \app{Acrobat} for the first time. The
+installation of this file is not needed if you use \app{pdftex},
+\app{lualatex}, or \app{xelatex} (or any of its variants), or if you use
+a version of \app{Acrobat} prior to version 8.1.
The instructions for installing \texttt{aeb.js} are in the
\texttt{\href{install_jsfiles.pdf}{install\_jsfiles.pdf}}, which resides in
-the \texttt{doc} folder of the \texttt{acrotex} installation. If you use
-\textbf{Distiller} as your PDF creator, please refer to that document.
+the \texttt{doc} folder of the \texttt{acrotex} installation. if you use the workflow of
+\hyperref[eq:AcrobatWF]{display~\begin{NoHyper}\eqref{eq:AcrobatWF}\end{NoHyper}}, please refer to that document.
-After you've installed the JavaScript files, as directed by the
+After you've installed the JavaScript file, as directed by the
\texttt{\href{install_jsfiles.pdf}{install\_jsfiles.pdf}}, validate the
installation of the JavaScript files by navigating to the \texttt{examples}
subfolder and opening the file \texttt{test\_install.pdf} in \app{Acrobat};
follow the directions contained on that one page document.
+\subsubsection{Configuring \tops{\app}{}{Acrobat}}
-\begin{comment}
-\paragraph*{Acrobat Pro~8.1 or later.}
-Start \textbf{Acrobat Pro~8.1}\footnote{The file will cause no harm if you
-install it in an earlier version of Acrobat, as early as version 7.} or
-later, and open the console window \textsf{Advanced \texttt> JavaScript
-\texttt> Debugger} (\texttt{Ctrl+J} for Windows or \texttt{Cmd+J} for Mac
-OS). Copy and paste the following code into the window.
-\begin{Verbatim}[xleftmargin=\amtIndent]
-app.getPath("user","javascript");
-\end{Verbatim}
-Now, with the mouse cursor on the line containing this script, press
-the \texttt{Ctrl+Enter} key. This will execute this JavaScript. This
-JavaScript method returns the path to where \texttt{aeb.js} should
-be placed. For example, on my system, the return string is
-\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
-/C/Documents and Settings/story/
- Application Data/Adobe/Acrobat/8.0/JavaScripts
-\end{Verbatim}
-Follow the path to this folder. If the \texttt{JavaScripts} folder
-does not exist, create it. Finally, copy \texttt{aeb.js}
-into this folder. The file is read each time Acrobat starts.
+If you have \app{Acrobat DC} that was purchased or updated after December 2020,
+\app{Acrobat} needs to be configured for the workflow
+\hyperref[eq:AcrobatWF]{display~\begin{NoHyper}\eqref{eq:AcrobatWF}\end{NoHyper}}
+to function correctly. For detailed discussion, refer to the document
+\texttt{\href{acrobat-in-workflow.pdf}{acrobat-in-workflow.pdf}}.
-\paragraph*{Acrobat Pro 10.1.1 for Windows only.} For this version of \textbf{Acrobat},
-things have tightened up even more. The user JavaScripts folder has moved to
-\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small]
-%AppData%\Adobe\Acrobat\Privileged\10.0\JavaScripts
-\end{Verbatim}
-\exAeBBlogArticle{p=737}where \verb!%AppData%! is an environment variable defined by Acrobat. For details
-of how to install the folder JavaScripts in the new location, see my blog
-article \mlhref{http://www.acrotex.net/blog/?p=737}{Acrobat Security Changes in 10.1.1 and
-Acro\!\TeX}.
-\end{comment}
\subsection{Language Localizations}
@@ -789,6 +784,26 @@ document. At this point you can move your \textsf{PDF} to another
folder, or to the web. The document does not need the
\texttt{.fdf} files any more.
+\redpoint \textcolor{red}{Important:} If you use \app{Acrobat
+DC}\FmtMP{\app{Acrobat DC}} in your PDF creation workflow and have updated
+the application after December 2020, the {\AEB} workflow is broken. To
+restore the workflow, it is necessary \emph{to clear the checkbox} labeled
+\uif{Enable Protected Mode at startup}\FmtMP{Protected Mode}, this checkbox
+is found under the menu \uif{Edit > Preferences}
+(\uif{Ctrl+K}).\footnote{When the box is checked, importing FDF files, as
+described above, is prohibited. We want FDF files imported, so we clear the
+checkbox.} In the \uif{Preferences} dialog box, select the \uif{Security
+(Enhanced)} category from the left panel; the targeted checkbox is at the top
+line on the right panel. Refer to \hyperref[fig:SP]{Figure~\ref*{fig:SP}} for
+a visual.
+
+
+\begin{figure}[htb]\fboxsep0pt\relax\centering
+ \fbox{\includegraphics[width=.5\linewidth]{figures/SecurityPrefs}}
+ \caption{\tops{\protect\uif}{}{Security (Enhanced) Preferences}}\label{fig:SP}
+\end{figure}
+
+
\begin{comment}
\redpoint \textbf{For Distiller~4.0--4.05 Users.} Versions prior
to~5.0 of the Acrobat product cannot import document level
@@ -834,7 +849,7 @@ You can edit \textsf{eq\_dljs.pdf} and make whatever changes you
please to the script, in terms of changing color.
\end{comment}
-There are several ways the Distiller workflow can be accomplished:
+%There are several ways the Distiller workflow can be accomplished:
%\begin{itemize}
% \item \textbf{Through the {\LaTeX} Editor.} Some editors, WinEdt, in particular, have toolbars that can distill
% a PostScript file. (The default is to use Ghostscript, you'll have to change to Distiller.) From WinEdt, you
@@ -858,12 +873,13 @@ There are several ways the Distiller workflow can be accomplished:
% 5. Open the .pdf file.
%
% This will allow readers the opportunity to see what will happen if they fail to save the file before moving it
-to another location, like the web.
+%to another location, like the web.
%
%
% \end{enumerate}
%\end{itemize}
+
\newtopic For distiller users, the
\href{http://www.math.uakron.edu/~dpstory/aeb_pro.html}{\AEB\ Pro package}
has many exciting features, functionality requires the document author use
@@ -3688,7 +3704,7 @@ dot (.) at the end of the section number. To revert to this behavior, use the
\par\vskip6pt\vskip0pt plus .25\vsize\penalty-1000 \vskip0pt plus-.25\vsize}
%\addtocontents{toc}{\par\protect\vspace{\bigskipamount}\kern0pt\vspace{-\medskipamount}}
-\part{The Exerquiz Package}\label{s:exerquiz}
+\part{The Exerquiz Package}\chgCurrLblName{The Exerquiz Package}\label{s:exerquiz}
%The \textsf{exerquiz} package contains a series of macros for
%creating on-line exercises, short quizzes (with or without
@@ -3751,12 +3767,13 @@ discussed in this section.
\section{\protect\textsf{Exerquiz} and Acrobat JavaScript}
-\textsf{Exerquiz} now uses the \textsf{insdljs} Package to insert
-Document level Java\-Scripts into the \textsf{PDF} file. The quizzes
-created using the \texttt{shortquiz} or \texttt{quiz} environment are
-graded, marked and scored using these inserted JavaScript functions.
+\pkg{Exerquiz} now uses the \pkg{insdljs} package to insert \uif{Document
+level Java\-Scripts} into the {PDF} file. (Review
+\hyperref[ss:DistAcro]{Section~\ref*{ss:DistAcro}} on page~\pageref*{ss:DistAcro}, as needed.) The quizzes
+created using the \texttt{shortquiz} or \texttt{quiz} environment are graded,
+marked and scored using these inserted JavaScript functions.
-Because the package \textsf{insdljs} is already loaded, it is easy
+Because the package pkg{insdljs} is already loaded, it is easy
for the document author to develop JavaScripts that can be called
from the standard \textsf{Exerquiz} commands. The ability to write
JavaScript, therefore, right in the \LaTeX{} document gives a
diff --git a/texmf-dist/doc/latex/acrotex/eformman.pdf b/texmf-dist/doc/latex/acrotex/eformman.pdf
index 03a576d4..32644286 100644
--- a/texmf-dist/doc/latex/acrotex/eformman.pdf
+++ b/texmf-dist/doc/latex/acrotex/eformman.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/acrotex/eformman.tex b/texmf-dist/doc/latex/acrotex/eformman.tex
index 881a9f40..82bea44f 100644
--- a/texmf-dist/doc/latex/acrotex/eformman.tex
+++ b/texmf-dist/doc/latex/acrotex/eformman.tex
@@ -11,7 +11,7 @@
%\usepackage{myriadpro}
\setlength{\marginparpush}{3pt}
-
+\setlength{\mathindent}{\the\parindent}
%\previewOn\pmpvOn
\usepackage{graphicx,array,longtable}
@@ -26,7 +26,7 @@
\def\negSTRUT{\rule[-8pt]{0pt}{0pt}}
\def\mSTRUT{\makebox[0pt][l]{\phantom{$\frac00$}}}
\let\vrbnormal\sffamily
-\let\uif\sffamily
+\let\uif\textsf
\let\key\texttt
@@ -36,6 +36,7 @@
%\def\numberline#1{\hb@xt@2.5em{#1\hfil}}
%\makeatother
\makeatletter
+\let\gob\@gobble
\renewcommand*\l@subsection{\@dottedtocline{2}{2em}{3.5em}}
\renewcommand*\l@subsubsection{\@dottedtocline{4}{5.5em}{1.5em}}
\renewcommand\@pnumwidth{2.55em}
@@ -80,7 +81,7 @@
subject={Documentation for the eforms and insdljs packages},
talksite={\url{www.acrotex.net}},
version={2.0},
- prepared={2021/01/20},
+ prepared={2021/02/17},
preparedLabel={Distribution Dated:},
keywords={LaTeX, hyperref, PDF, exercises, quizzes},
copyrightStatus=True,
@@ -2688,8 +2689,8 @@ lock={action=include,fields={!ameta(field!SUB1),!ameta(field!SUB2),...}}
lock={action=exclude,fields={!ameta(field!SUB1),!ameta(field!SUB2),...}}
\end{Verbatim}
-\newtopic Another option that is included in the \uif{Signed tab} is titled ``This script executes
-when field is signed.''
+\newtopic Another option that is included in the \uif{Signed tab} is titled ``\uif{This script executes
+when field is signed.}''
This is an option that, through the user interface, is mutually exclusive from
locking fields. This option is implemented through the format event;
@@ -2860,7 +2861,7 @@ b\hspace{9.5pt}}}}}}\texttt{\href{\urlAcroTeXBlog/?p=334}{settaborder1.pdf}} for
%\section{Introduction}
-The \hypertarget{\pkg{insdljs}}{insdljsPkg} package provides support to {\LaTeX} in four areas:
+The \hypertarget{insdljsPkg}{\pkg{insdljs}} package provides support to {\LaTeX} in four areas:
\begin{enumerate}
\item for embedding document level JavaScript into the PDF file created
from a {\LaTeX} source, the \texttt{insDLJS} environment.
@@ -2876,12 +2877,32 @@ The \hypertarget{\pkg{insdljs}}{insdljsPkg} package provides support to {\LaTeX}
\newtopic This package defines a new environment, \texttt{insDLJS}, used
for inserting \app{Acrobat} JavaScript into a PDF file created from a
-\LaTeX{} source. This package works correctly for users of \textsf{pdftex}
-(and \app{luatex}), \textsf{dvipdfm}, \textsf{dvipdfmx}, and \texttt{xetex}.
-For\marginpar{\small\raggedleft\app{Acrobat} required for
-\app{dvips}} those who use either \app{dvips} or
-\app{dvipsone} to produce a postscript file, which is then distilled, you are
-required to have \app{Acrobat}~5.0 (or later).
+\LaTeX{} source. This package works correctly for users of \app{pdflatex},
+\app{lualatex}, or \app{xelatex}.
+\gob{For\FmtMP{\small\raggedleft\app{Acrobat} required for \app{dvips}} those
+who use \app{dvips} to produce a Postscript file,
+which is then distilled, you are required to have \app{Acrobat}~5.0 (or
+later).}
+For document authors that use the workflow
+\begin{equation}\text{\ttfamily
+tex\,->\,dvi\,->\,\app{dvips}\,->\,ps\,->\,\ameta{\upshape\app{Distiller}\string|\app{ps2pdf}}\,->\allowbreak
+\,\app{PDF viewer}}\label{eq:AcrobatWF}
+\end{equation}
+to create a PDF document, if the document (or one of the packages it
+imports) uses \uif{Document JavaScripts} created by this package, at the end
+of the above workflow, the \app{PDF viewer} \emph{is required to be}
+\app{Acrobat}\FmtMP{\app{Acrobat} required}.\footnote{Other PDF creation
+workflows do not require \app{Acrobat} to embed \uif{Document JavaScripts}}
+The role of \app{Acrobat} is to embed the \uif{Document JavaScripts} in the
+document for the workflow of
+\hyperref[eq:AcrobatWF]{display~\bNH\eqref{eq:AcrobatWF}\eNH}.
+It is necessary to install the folder JavaScript file \texttt{aeb.js} (read
+\texttt{\href{install_jsfiles.pdf}{install\_jsfiles.pdf}} for instructions)
+and to possibly configure \app{Acrobat} (read
+\texttt{\href{acrobat-in-workflow.pdf}{acrobat-in-workflow.pdf}} to see how
+to do this). For additional discussion on this workflow, refer to the section
+titled ``Concerning the use of \app{Acrobat}'' in the
+\texttt{\href{aeb_man.pdf\#DistAcroWF}{AeB Manual}}.
\section{Package Options}
@@ -3415,7 +3436,7 @@ console.println("Enter the button area");
\begin{defineJS}{\JSAAX}
console.println("Exiting the button area");
\end{defineJS}
-\pushButton[\A {\JS{\JSA}}
+\pushButton[\A{\JS{\JSA}}
\AA{\AAMouseEnter{\JS{\JSAAE}}
\AAMouseExit{\JS{\JSAAX}}}
]{myButton}{30bp}{15bp}
diff --git a/texmf-dist/doc/latex/acrotex/examples/jquiztst.pdf b/texmf-dist/doc/latex/acrotex/examples/jquiztst.pdf
index d5ec97c6..d9f35cb4 100644
--- a/texmf-dist/doc/latex/acrotex/examples/jquiztst.pdf
+++ b/texmf-dist/doc/latex/acrotex/examples/jquiztst.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/acrotex/examples/jquiztst.tex b/texmf-dist/doc/latex/acrotex/examples/jquiztst.tex
index e6d3a0aa..8a52a2bd 100644
--- a/texmf-dist/doc/latex/acrotex/examples/jquiztst.tex
+++ b/texmf-dist/doc/latex/acrotex/examples/jquiztst.tex
@@ -52,7 +52,7 @@ Department of Mathematics}
\section{Math Fill-In Question}
-The current version of \textsf{exerquiz} included only multiple
+The current version of \textsf{exerquiz} included only multiple
choice questions. That's all well and good, but instructors would
occasionally like to ask questions that would require the student
to fill in the answer, whether it be numerical or symbolic.
diff --git a/texmf-dist/doc/latex/acrotex/examples/jtxttst.pdf b/texmf-dist/doc/latex/acrotex/examples/jtxttst.pdf
index 8638f825..298a75f3 100644
--- a/texmf-dist/doc/latex/acrotex/examples/jtxttst.pdf
+++ b/texmf-dist/doc/latex/acrotex/examples/jtxttst.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/acrotex/examples/test_install.pdf b/texmf-dist/doc/latex/acrotex/examples/test_install.pdf
index c3c5e636..5a4d85c0 100644
--- a/texmf-dist/doc/latex/acrotex/examples/test_install.pdf
+++ b/texmf-dist/doc/latex/acrotex/examples/test_install.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/acrotex/examples/test_install.tex b/texmf-dist/doc/latex/acrotex/examples/test_install.tex
index f804b9c8..b501c928 100644
--- a/texmf-dist/doc/latex/acrotex/examples/test_install.tex
+++ b/texmf-dist/doc/latex/acrotex/examples/test_install.tex
@@ -26,13 +26,18 @@ To test the \textsf{AeB} installation, press this button:
Upon pressing the button, if you have installed the \texttt{aeb.js} file
correctly, a congratulatory message appears in the console window; if the
-installation is not correct, a message informs you so. On failure, did you
-close \textsf{Acrobat} before opening this file? (The JS files are only read
-once when the \textsf{Acrobat} application is opened.) When all else fails,
-try rereading the installation instructions again
+installation is not correct, a message informs you so.
+
+On failure, did you close \textsf{Acrobat} before opening this file? (The JS
+files are only read once when the \textsf{Acrobat} application is opened.)
+When all else fails, try rereading the installation instructions again
(\texttt{install\_jsfiles.pdf}), found in the \texttt{doc} folder, but more
carefully this time.
+Still failing? Do you have \textsf{Acrobat DC}? Perhaps your \textsf{Acrobat}
+needs to be configured. Try reading \texttt{acrobat-in-workflow.pdf}, found
+in the \texttt{doc} folder.
+
\end{document}
diff --git a/texmf-dist/doc/latex/acrotex/examples/webeqtst.pdf b/texmf-dist/doc/latex/acrotex/examples/webeqtst.pdf
index 31a2cd68..59c37795 100644
--- a/texmf-dist/doc/latex/acrotex/examples/webeqtst.pdf
+++ b/texmf-dist/doc/latex/acrotex/examples/webeqtst.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/acrotex/examples/webeqtst.tex b/texmf-dist/doc/latex/acrotex/examples/webeqtst.tex
index 0662bd73..7f3e8c7f 100644
--- a/texmf-dist/doc/latex/acrotex/examples/webeqtst.tex
+++ b/texmf-dist/doc/latex/acrotex/examples/webeqtst.tex
@@ -6,7 +6,7 @@
% \previewOn \pmpvOn
\title{\texorpdfstring{Acro\!\TeX}{AcroTeX} eDucation Bundle
- \texorpdfstring{\\[1ex]}{:}Exercises and Quizzes}
+ \texorpdfstring{\\[1ex]}{: }Exercises and Quizzes}
\author{D. P. Story}
\subject{File to test web and exerquiz packages}
\keywords{LaTeX, hyperref, PDF, exercises, quizzes}
@@ -20,9 +20,6 @@
\sqTurnOffAlerts
-
-% To insert a message on the cover page, uncomment the lines below,
-% and insert the 'nodirectory' option into the web package line above.
\usepackage{pifont}
\optionalPageMatter{\par\minimumskip\vspace{\stretch{1}}
\begin{center}
@@ -461,7 +458,7 @@ is 100\%.
\AC{Group} % pushed text
\DA{/TiRo 10 Tf 0 0 1 rg} % times roman, 10 pt, blue text
\W{1}\S{I} % border width 1, inset button
- ]{qzTeXc}
+ ]{qzTeXc}
\section{Objective-Style Questions}
diff --git a/texmf-dist/doc/latex/acrotex/install_jsfiles.pdf b/texmf-dist/doc/latex/acrotex/install_jsfiles.pdf
index 7b2d3fab..221ba16f 100644
--- a/texmf-dist/doc/latex/acrotex/install_jsfiles.pdf
+++ b/texmf-dist/doc/latex/acrotex/install_jsfiles.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/acrotex/install_jsfiles.tex b/texmf-dist/doc/latex/acrotex/install_jsfiles.tex
new file mode 100644
index 00000000..56393183
--- /dev/null
+++ b/texmf-dist/doc/latex/acrotex/install_jsfiles.tex
@@ -0,0 +1,312 @@
+\documentclass{article}
+\usepackage[fleqn]{amsmath}
+%
+% the driver line is not necessary if you
+% have aebpro.cfg configured to your driver.
+%
+\usepackage[web]{aeb_pro}
+\usepackage{eforms}
+\usepackage[altbullet]{lucidbry}
+\usepackage{pifont}
+
+\usepackage{fancyvrb}
+
+\makeatletter
+\renewcommand{\paragraph}
+ {\@startsection{paragraph}{4}{0pt}{6pt}{-3pt}
+ {\normalfont\normalsize\bfseries}}
+\renewcommand{\subparagraph}
+ {\@startsection{subparagraph}{5}{\parindent}{6pt}{-3pt}%
+ {\normalfont\normalsize\bfseries}}
+\makeatother
+
+\mathindent\parindent
+
+\def\AEBP{\app{AeB Pro}}
+\def\AEB{\app{AeB}}
+\def\app#1{\textsf{#1}}
+\def\amtIndent{\parindent}
+\def\meta#1{$\langle\textit{\texttt{#1}}\rangle$}
+\def\SC#1{{\small#1}}
+\def\PDF{\SC{PDF}}
+\let\opt\texttt
+
+\def\copyGetPath{\qquad\pushButton[\TU{Copy app.getPath to console}
+\CA{getPath}\A{\JS{console.show();\r
+console.println('\\napp.getPath("user");');
+}}]{cpyGtPth}{}{11bp}}
+
+\def\copyGetPathJS{\qquad\pushButton[\TU{Copy app.getPath to console}
+\CA{getPath}\A{\JS{console.show();\r
+console.println('\\napp.getPath("user", "javascript");');
+}}]{cpyGtPthJS}{}{11bp}}
+
+%\reversemarginpar
+\def\jsSupInstr{How to install JavaScript support files}
+\title{\jsSupInstr}
+\author{D. P. Story}
+\version{1.0}
+
+\chngDocObjectTo{\newDO}{doc}
+\begin{docassembly}
+var titleOfManual="How to install JavaScript files";
+var manualfilename="Manual_BG_Print_jsfiles.pdf";
+var manualtemplate="Manual_BG_Brown.pdf"; // Blue, Green, Brown
+var _pathToBlank="C:/Users/Public/Documents/ManualBGs/"+manualtemplate;
+var doc;
+var buildIt=true;
+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
+
+\section{Introduction}
+
+Because some of the \app{Acrobat} JavaScript methods have security
+restrictions, they can be only executed in the console window, or as part
+of a batch sequence, or from the JavaScript folder reserved by
+\app{Acrobat} for that use. The developer (of {\LaTeX} packages or {\PDF}
+form documents) may want to use these restricted JavaScript methods as
+part of document assembly. To use the restricted methods, they must be
+called from the user JavaScript folder. The scripts are contained in a
+\SC{JS} file that \app{Acrobat} reads when it first starts up.
+
+In this article, we provide detailed steps for locating the user
+JavaScript folder. For {\AEB} and {\AEBP}, the files \texttt{aeb.js} and
+\texttt{aeb\_pro.js} are placed in the folder. Other JavaScript files may
+be placed in the folder as well, for example, the \texttt{config.js} file
+is one that is commonly used for general purposes.
+
+Before we get started, if you are using a version of \app{Acrobat} prior
+to version~8.1, you need not read any further. The security restrictions
+described below were not in effect for those versions.
+
+\section{Installing the JavaScript support files}
+
+The functionality of {\AEB} and {\AEBP} depends, to some extent, on the
+proper installation of their JavaScript support files.
+\begin{itemize}
+ \item \AEB: For authors using the $\app{dvips}+\app{Acrobat Distiller}$
+ workflow, \texttt{aeb.js} is required; this file is not used by
+ \app{pdflatex} or \app{xelatex} users.
+
+ \item \AEBP: For authors using the $\app{dvips}+\app{Acrobat
+ Distiller}$ workflow, \texttt{aeb\_pro.js} is required; for authors
+ that prefer \app{pdflatex}, \app{lualatex}, or \app{xelatex} as the
+ {\PDF} creator \emph{and who own} the \app{Acrobat} application,
+ the \texttt{aeb\_pro.js} is required with the \opt{useacrobat}
+ option of \AEBP. When using the \opt{nopro} option of \AEBP, the
+ JavaScript file \texttt{aeb\_pro.js} is not used.
+
+\end{itemize}
+The placement of the JavaScript files has changed over the years and is a
+function of the version number \meta{ver}. Start \app{Acrobat} and open the
+console debugger window by pressing \texttt{Ctrl+J} (for \app{Windows OS})
+or \texttt{Cmd+J} (for \app{Mac OS}). Now execute the code
+\texttt{app.getPath("user")} in the console window. To do this, press the
+\textsf{getPath} button provided below, which copies the necessary code to
+the console window.
+\begin{equation}
+\begin{minipage}{.8\linewidth}
+\begin{Verbatim}[commandchars={!~@}]
+app.getPath("user");!copyGetPath
+\end{Verbatim}
+\end{minipage}\label{display:getPath}
+\end{equation}
+Now, with the cursor on the line containing the script, press the
+\texttt{Ctrl+Enter} (for \app{Windows OS}) or \texttt{Cmd+Enter} (for
+\app{Mac~OS}) key. This will execute the JavaScript and return the `root'
+path to the user's application data for \app{Acrobat}.
+
+The rest of the instructions depend on your operating system,
+\app{Windows} or \app{Mac}.
+
+\subsection{For users of \app{Windows OS}}
+
+There are several cases, jump to the numbered paragraph that describes your
+version (\meta{ver}) of \app{Acrobat}.
+
+%/C/Users/D. P. Story/AppData/Roaming/Adobe/Acrobat/11.0
+%/C/Users/D. P. Story/AppData/Roaming/Adobe/Acrobat/Privileged/11.0/JavaScripts
+
+\def\Stepi{\ding{182}\enspace}
+\def\Stepii{\ding{183}\enspace}
+\def\Stepiii{\ding{184}\enspace}
+
+\paragraph*{{\Stepi}For $\boldmath\text{\meta{ver}}$, $\boldmath 8.1 \le
+\text{\meta{ver}} < 10.1.1$.} For the \app{Windows OS}, executing the script
+in display~\eqref{display:getPath} returns a string of the
+form:\footnote{This string is for \app{Windows OS} beyond \app{WinXP}.}
+\begin{equation}
+\begin{minipage}{.8\linewidth}
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/!meta(ver)
+\end{Verbatim}
+\end{minipage}\label{display:path}
+\end{equation}
+Navigate to this folder location. The correct location for the \SC{JS}
+files is in the \texttt{JavaScripts} subfolder. If the folder does not
+exist, create it. The final path for the JavaScript support files is then
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/
+ Acrobat/!meta(ver)/JavaScripts
+\end{Verbatim}
+Finally, copy \texttt{aeb.js} (and \texttt{aeb\_pro.js}, if applicable)
+into this folder. Close \app{Acrobat}, the next time \app{Acrobat}
+is started, it will read in the \SC{JS} files.
+
+\paragraph*{{\Stepii}For $\boldmath\text{\meta{ver}}$, $\boldmath10.1.1 \le
+\text{\meta{ver}} < 12$.} For these versions of \app{Acrobat} security has
+have tightened up even more; the \texttt{JavaScripts} folder is now a
+subfolder of a special \texttt{Privileged} folder. Execute
+\texttt{app.getPath("user")} in the console window, as in
+display~\eqref{display:getPath}. The method brings back a string similar to
+the one in display~\eqref{display:path}. The correct path is obtained by
+simply inserting \texttt{Privileged} into the path in
+display~\eqref{display:path}, between \texttt{Acrobat} and \meta{ver}, as
+displayed below.
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/
+ Acrobat/!textbf(Privileged)/!meta(ver)/JavaScripts
+\end{Verbatim}
+But this is a mere description of the correct location, the path must
+exist! The path must be created, if it does not already exist.
+
+Navigate to the folder, one folder above the path shown in
+display~\eqref{display:path}, that is, navigate to,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/
+\end{Verbatim}
+If a \texttt{Privileged} folder exists, enter into it; otherwise, create
+it, then enter it.
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/Privileged
+\end{Verbatim}
+Now create a folder named \meta{ver}, unless it already exists, and enter
+it. The version is always the major release \texttt{8.0}, \texttt{9.0},
+\texttt{10.0}, or \texttt{11.0}.
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/
+ Acrobat/Privileged/!meta(ver)
+\end{Verbatim}
+Finally, create the \texttt{JavaScript} folder, unless it already exists,
+to obtain the final path to the user folder JavaScripts:
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/
+ Acrobat/Privileged/!meta(ver)/JavaScripts
+\end{Verbatim}
+Copy \texttt{aeb.js} (and \texttt{aeb\_pro.js}, if applicable) into this
+folder. Close \textsf{Acrobat}, the next time \textsf{Acrobat} is started,
+it will read in the \SC{JS} files.
+
+\paragraph*{{\Stepiii}For $\boldmath\text{\meta{ver}}$, $\boldmath
+\text{\meta{ver}} > 12 $.} Beginning with the next major version following
+version~11, Adobe changed its versioning scheme. There are now two tracks,
+\emph{subscription} and \emph{classic} (also called \emph{perpetual}). For
+subscription, the version, as I understand it, will always be \texttt{DC}
+(Document Cloud), and for the classic, for which you've purchased a
+\emph{perpetual license}, the \meta{ver} is a calendar year. The first
+classic version is \texttt{2015}, the next one is most likely \texttt{2017},
+since major releases occur about every two years.
+
+Execute the code of display~\eqref{display:getPath} by pressing the button
+provided to obtain a path of the form,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/DC
+\end{Verbatim}
+for the subscription license or,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/C/Users/!meta(username)/AppData/Roaming/Adobe/Acrobat/2015
+\end{Verbatim}
+for the classic (or perpetual) license. Of course, this last path is for
+the first classic version.
+
+Now, to obtain the path to the \texttt{JavaScripts} folder, follow the
+instructions for numbered paragraph \ding{183}, but with \meta{ver} equal
+to either \texttt{DC} or \texttt{2015} (a calendar year).
+
+%/C/Users/D. P. Story/AppData/Roaming/Adobe/Acrobat/Privileged/11.0/JavaScripts
+
+\subsection{For users of \app{Mac OS}}
+
+\app{Mac OS} does not have the security restrictions that \app{Windows OS}
+does, as described in paragraphs \ding{183} and \ding{184}.
+
+Follow the instructions of paragraph \ding{182}, by first pressing the button
+provided in display~\eqref{display:getPath}, then, in the console window,
+execute this script as described in the paragraph following
+display~\eqref{display:getPath}. After working through \ding{182}, one
+obtains any of the following paths depending on the version (\meta{ver}) you
+are using:\medskip
+
+\noindent
+For $\text{\meta{ver}} = \texttt{8.0}, \texttt{9.0}, \texttt{10.0},
+\texttt{11.0}$:
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/Users/!meta(user)/Library/Application\ Support/Adobe/
+ Acrobat/!meta(ver)/JavaScripts
+\end{Verbatim}
+\medskip
+
+\noindent
+For $\text{\meta{ver}} > 12$, the path is,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/Users/!meta(user)/Library/Application\ Support/Adobe/
+ Acrobat/DC/JavaScripts
+\end{Verbatim}
+for a subscription license, and,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/Users/!meta(user)/Library/Application\ Support/Adobe/
+ Acrobat/2015/JavaScripts
+\end{Verbatim}
+or more generally,
+\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
+/Users/!meta(user)/Library/Application\ Support/Adobe/
+ Acrobat/!meta(year)/JavaScripts
+\end{Verbatim}
+for the perpetual license.
+
+In all cases, if the \texttt{JavaScripts} folder does not exist, it must
+be created. Copy any \SC{JS} support files into the \texttt{JavaScripts}
+folder. The script files are read the next time \app{Acrobat} is started.
+
+\section{Testing the placement of the JavaScript support files}
+
+Assuming you have successfully followed the instructions and created the
+\texttt{JavaScripts} folder, test the validity of what you have done by
+closing \app{Acrobat} then opening it again. Open the console window
+(\texttt{Ctrl+J} or \texttt{Cmd+J}, for \app{Mac OS}) and execute this
+command in the console window:
+\begin{Verbatim}[xleftmargin=\amtIndent,commandchars={!~@}]
+app.getPath("user","javascript");!quad!copyGetPathJS
+\end{Verbatim}
+If you have followed the instructions, the return string should read the
+complete path to the \texttt{JavaScripts} folder.
+\end{document}