From 27f374321422d2d82e019b744aded5b0935c30c0 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 22 Jun 2021 13:51:30 +0900 Subject: acrotex update --- texmf-dist/doc/latex/acrotex/README.md | 7 +- .../doc/latex/acrotex/acrobat-in-workflow.pdf | Bin 370660 -> 0 bytes .../doc/latex/acrotex/acrobat-in-workflow.tex | 233 --------------- texmf-dist/doc/latex/acrotex/aeb.js | 24 -- texmf-dist/doc/latex/acrotex/aeb_man.pdf | Bin 2259587 -> 1688452 bytes texmf-dist/doc/latex/acrotex/aeb_man.tex | 44 +-- texmf-dist/doc/latex/acrotex/eformman.tex | 2 +- texmf-dist/doc/latex/acrotex/examples/README.md | 2 +- texmf-dist/doc/latex/acrotex/examples/jquiztst.pdf | Bin 358366 -> 357365 bytes texmf-dist/doc/latex/acrotex/examples/jtxttst.pdf | Bin 320578 -> 319655 bytes .../doc/latex/acrotex/examples/test_install.pdf | Bin 53316 -> 0 bytes .../doc/latex/acrotex/examples/test_install.tex | 43 --- texmf-dist/doc/latex/acrotex/examples/webeqtst.pdf | Bin 497831 -> 495914 bytes texmf-dist/doc/latex/acrotex/examples/webeqtst.tex | 1 - texmf-dist/doc/latex/acrotex/install_jsfiles.pdf | Bin 237391 -> 0 bytes texmf-dist/doc/latex/acrotex/install_jsfiles.tex | 312 --------------------- texmf-dist/source/latex/acrotex/exerquiz.dtx | 6 +- texmf-dist/source/latex/acrotex/insdljs.dtx | 29 +- texmf-dist/tex/latex/acrotex/exerquiz.sty | 2 +- texmf-dist/tex/latex/acrotex/insdljs.sty | 17 +- 20 files changed, 75 insertions(+), 647 deletions(-) delete mode 100644 texmf-dist/doc/latex/acrotex/acrobat-in-workflow.pdf delete mode 100644 texmf-dist/doc/latex/acrotex/acrobat-in-workflow.tex delete mode 100644 texmf-dist/doc/latex/acrotex/aeb.js delete mode 100644 texmf-dist/doc/latex/acrotex/examples/test_install.pdf delete mode 100644 texmf-dist/doc/latex/acrotex/examples/test_install.tex delete mode 100644 texmf-dist/doc/latex/acrotex/install_jsfiles.pdf delete mode 100644 texmf-dist/doc/latex/acrotex/install_jsfiles.tex diff --git a/texmf-dist/doc/latex/acrotex/README.md b/texmf-dist/doc/latex/acrotex/README.md index 0b8915e7..08fe58aa 100644 --- a/texmf-dist/doc/latex/acrotex/README.md +++ b/texmf-dist/doc/latex/acrotex/README.md @@ -1,6 +1,6 @@ The AcroTeX eDucation Bundle (AeB) Author: D. P. Story -Dated: 2021-05-29 +Dated: 2021-06-19 AeB contains the following: @@ -19,6 +19,11 @@ AeB contains the following: 6) Documentation for AeB (AcroTeX eDucatation Bundle) and eforms (including insdljs and dljslib). +What's New (2021-06-19) Move files out of this distribution to the + acrotex-js package, dated 2021/06/19 or later. The folder JavaScript + file aeb.js (and aeb_pro.js) are now distributed with acrotex-js. Installation + instructions are now included with that package. + What's New (2021-05-29) exerquiz: Internal changes to Begin Quiz and End Quiz actions to support eq-pin2corr package. Exerquiz now tracks duplication quiz names. diff --git a/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.pdf b/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.pdf deleted file mode 100644 index 48751ef4..00000000 Binary files a/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.tex b/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.tex deleted file mode 100644 index c5449528..00000000 --- a/texmf-dist/doc/latex/acrotex/acrobat-in-workflow.tex +++ /dev/null @@ -1,233 +0,0 @@ -\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\def\x{% - \usepackage[T1]{fontenc} - \usepackage{lucidabr}} -\else\def\x{% - \usepackage[altbullet]{lucidbry} - \usepackage[active]{srcltx} -}\fi\x - -\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.js b/texmf-dist/doc/latex/acrotex/aeb.js deleted file mode 100644 index 09310d2e..00000000 --- a/texmf-dist/doc/latex/acrotex/aeb.js +++ /dev/null @@ -1,24 +0,0 @@ -/* - AEB Import FDF Methods - - Copyright (C) 2006--2016 AcroTeX.Net - D. P. Story - http://www.acrotex.net - - Version 1.0 -*/ -if ( typeof aebTrustedFunctions == "undefined") { - aebTrustedFunctions = app.trustedFunction( function ( doc, oFunction, oArgs ) - { - app.beginPriv(); - var retn = oFunction( oArgs, doc ) - app.endPriv(); - return retn; - }); -} -aebImportAnFDF = app.trustPropagatorFunction( function ( oArgs, doc ) -{ - app.beginPriv(); - doc.importAnFDF(oArgs); - app.endPriv(); -}); diff --git a/texmf-dist/doc/latex/acrotex/aeb_man.pdf b/texmf-dist/doc/latex/acrotex/aeb_man.pdf index d107b43e..86e9159d 100644 Binary files a/texmf-dist/doc/latex/acrotex/aeb_man.pdf and b/texmf-dist/doc/latex/acrotex/aeb_man.pdf differ diff --git a/texmf-dist/doc/latex/acrotex/aeb_man.tex b/texmf-dist/doc/latex/acrotex/aeb_man.tex index 9276c3cf..29337b17 100644 --- a/texmf-dist/doc/latex/acrotex/aeb_man.tex +++ b/texmf-dist/doc/latex/acrotex/aeb_man.tex @@ -243,10 +243,10 @@ \university{{\AcroT} Software Development Team} \email{dpstory@acrotex.net} \versionLabel{Dated:} -\version{2021/05/29} +\version{2021/06/19} \copyrightyears{1999-\the\year} \nocopyright -\prepared{2021/05/29} +\prepared{2021/06/19} \revisionLabel{Distribution Dated:} \copyrightStatus{True} @@ -477,9 +477,10 @@ instructions on how to get up and running. \section{Getting Started}\label{s:start} The distribution for the {\cAcroB} comes in a single ZIP file - \texttt{acrotex.zip}. This ZIP file contains program files - (\pkg{web}, \pkg{exerquiz}, \pkg{eforms}, \pkg{insdljs}, - \pkg{dljslib}, \pkg{taborder}, and \texttt{aeb.js}), this manual, and the + \texttt{acrotex.zip}.\footnote{Must modern {\TeX} have a mechanism for downloading and installing packages; consequently, + the ZIP file may ever been seen.} This ZIP file contains program files + (\pkg{web}, \pkg{exerquiz}, \pkg{eforms}, \pkg{insdljs}, \pkg{dljslib}, + and \pkg{taborder}), this manual, and the \href{eformman.pdf}{\pkg{eforms}} reference manual (\texttt{\href{\bUrl/eformman.pdf}{eformman.pdf}}). @@ -577,8 +578,19 @@ discuss the use of \app{Acrobat}, first to install the folder JavaScript file \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. +\hyperref[eq:AcrobatWF]{display~\begin{NoHyper}\eqref{eq:AcrobatWF}\end{NoHyper}} (page~\pageref{eq:AcrobatWF}) +and if \uif{Document JavaScripts} are needed in the document.\footnote{\pkg{exerquiz} makes heavy use of \uif{Document JavaScripts}} + +The JavaScript file \texttt{aeb.js} used to be distributed by the +\pkg{acrotex} package (\AEB), now it is available through the +\pkg{\href{https://ctan.org/pkg/acrotex-js}{acrotex-js}} +package, dated 2021/06/19 or later.\footnote{\url{https://ctan.org/pkg/acrotex-js}} Some {\TeX} systems +automatically download required packages, if that is so for your system, +\pkg{acrotex-js} may be already on your system. Find the folder containing +the \pkg{acrotex-js} distribution to locate the \texttt{aeb.js} file. Under +the \texttt{docs} folder of the distribution, find and read the file +\texttt{install\_jsfiles.pdf} for instructions on how to install +\texttt{aeb.js}. Increased security for the \app{Acrobat} application makes it necessary to install a folder JavaScript file. The JavaScript within \texttt{aeb.js} @@ -589,24 +601,14 @@ 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 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 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}} -If you have \app{Acrobat DC} that was purchased or updated after December 2020, -\app{Acrobat} needs to be configured for the workflow +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}}. +\texttt{acrobat-in-workflow.pdf}, available from the \pkg{acrotex-js} +package. \subsection{Language Localizations} diff --git a/texmf-dist/doc/latex/acrotex/eformman.tex b/texmf-dist/doc/latex/acrotex/eformman.tex index de094e14..7ad44ef2 100644 --- a/texmf-dist/doc/latex/acrotex/eformman.tex +++ b/texmf-dist/doc/latex/acrotex/eformman.tex @@ -1163,7 +1163,7 @@ package \textsf{aeb\_pro}, and the following \texttt{docassembly} code: \begin{Verbatim}[xleftmargin=\amtIndent] \begin{docassembly} -\signInfo{ +\sigInfo{ cSigFieldName: "mySig", ohandler: security.PPKLiteHandler, cert: "D_P_Story.pfx", password: "dps017", oInfo: { location: "Niceville, FL", diff --git a/texmf-dist/doc/latex/acrotex/examples/README.md b/texmf-dist/doc/latex/acrotex/examples/README.md index 4157ef8c..b54082ed 100644 --- a/texmf-dist/doc/latex/acrotex/examples/README.md +++ b/texmf-dist/doc/latex/acrotex/examples/README.md @@ -24,4 +24,4 @@ The AcroTeX Blog (http://www.acrotex.net/blog/) is a great resource for all thin AeB and PDF. Don Story -2019/12/17 +2021-06-19 diff --git a/texmf-dist/doc/latex/acrotex/examples/jquiztst.pdf b/texmf-dist/doc/latex/acrotex/examples/jquiztst.pdf index 39f0d58d..3e8294ea 100644 Binary files a/texmf-dist/doc/latex/acrotex/examples/jquiztst.pdf and b/texmf-dist/doc/latex/acrotex/examples/jquiztst.pdf differ diff --git a/texmf-dist/doc/latex/acrotex/examples/jtxttst.pdf b/texmf-dist/doc/latex/acrotex/examples/jtxttst.pdf index 9af5055e..626f437c 100644 Binary files a/texmf-dist/doc/latex/acrotex/examples/jtxttst.pdf and b/texmf-dist/doc/latex/acrotex/examples/jtxttst.pdf differ diff --git a/texmf-dist/doc/latex/acrotex/examples/test_install.pdf b/texmf-dist/doc/latex/acrotex/examples/test_install.pdf deleted file mode 100644 index 5a4d85c0..00000000 Binary files a/texmf-dist/doc/latex/acrotex/examples/test_install.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acrotex/examples/test_install.tex b/texmf-dist/doc/latex/acrotex/examples/test_install.tex deleted file mode 100644 index b501c928..00000000 --- a/texmf-dist/doc/latex/acrotex/examples/test_install.tex +++ /dev/null @@ -1,43 +0,0 @@ -\documentclass{article} -\usepackage[designiv]{web} -\usepackage{eforms} - -\begin{defineJS}{\isImportAnFDFKnown} -console.clear(); console.show(); -if ( typeof aebImportAnFDF == "function" ) { - app.beep(0); - console.println("aeb.js is successfully installed, congratulations!"); - console.println("\\nYou're ready to Rock with AcroTeX!"); -} else { - app.beep(0); app.beep(0); - console.println("aeb.js is not, repeat NOT, installed correctly!"); -} -\end{defineJS} - -\thispagestyle{empty} -\parindent0pt\parskip6pt - -\begin{document} - -This is a file to test your \textsf{AeB} installation. - -To test the \textsf{AeB} installation, press this button: -\pushButton[\CA{Test AeB}\A{\JS{\isImportAnFDFKnown}}]{btnTest}{}{11bp} - -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 -(\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 bffc715f..5c70119e 100644 Binary files a/texmf-dist/doc/latex/acrotex/examples/webeqtst.pdf and b/texmf-dist/doc/latex/acrotex/examples/webeqtst.pdf differ diff --git a/texmf-dist/doc/latex/acrotex/examples/webeqtst.tex b/texmf-dist/doc/latex/acrotex/examples/webeqtst.tex index 2e3c59b9..8080e497 100644 --- a/texmf-dist/doc/latex/acrotex/examples/webeqtst.tex +++ b/texmf-dist/doc/latex/acrotex/examples/webeqtst.tex @@ -74,7 +74,6 @@ \tableofcontents - \section{Introduction} This is a sample file to give templates of the environments diff --git a/texmf-dist/doc/latex/acrotex/install_jsfiles.pdf b/texmf-dist/doc/latex/acrotex/install_jsfiles.pdf deleted file mode 100644 index 7b2d3fab..00000000 Binary files a/texmf-dist/doc/latex/acrotex/install_jsfiles.pdf and /dev/null differ diff --git a/texmf-dist/doc/latex/acrotex/install_jsfiles.tex b/texmf-dist/doc/latex/acrotex/install_jsfiles.tex deleted file mode 100644 index 56393183..00000000 --- a/texmf-dist/doc/latex/acrotex/install_jsfiles.tex +++ /dev/null @@ -1,312 +0,0 @@ -\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} diff --git a/texmf-dist/source/latex/acrotex/exerquiz.dtx b/texmf-dist/source/latex/acrotex/exerquiz.dtx index 8dc8ce02..51a44283 100644 --- a/texmf-dist/source/latex/acrotex/exerquiz.dtx +++ b/texmf-dist/source/latex/acrotex/exerquiz.dtx @@ -4981,12 +4981,12 @@ if (typeof !oField=="undefined") % \end{macrocode} % (2021/05/21) Added a gate keeper into \uif{Begin Quiz}. Normally, all code % passes through, but this can be modified by redefining \DescribeMacro\BeginQuizG@te -% \cs{BeginQuizG@te}; restore any changes with \DescribeMacro\restorBeginQuiz -% \cs{restorBeginQuiz}. +% \cs{BeginQuizG@te}; restore any changes with \DescribeMacro\restoreBeginQuiz +% \cs{restoreBeginQuiz}. % \begin{macrocode} \newcommand{\BeginQuizG@te}{if (true)} \def\Norm@lBeginQuiz{if (true)} -\def\restorBeginQuiz{\let\BeginQuizG@te\Norm@lBeginQuiz} +\def\restoreBeginQuiz{\let\BeginQuizG@te\Norm@lBeginQuiz} \newcommand\@initQuiz{% \BeginQuizG@te\space\jsLB\jsR\jsT var\eqSP\curr@quiz=new Object();\jsR\jsT diff --git a/texmf-dist/source/latex/acrotex/insdljs.dtx b/texmf-dist/source/latex/acrotex/insdljs.dtx index 7f848638..b32a7270 100644 --- a/texmf-dist/source/latex/acrotex/insdljs.dtx +++ b/texmf-dist/source/latex/acrotex/insdljs.dtx @@ -16,7 +16,7 @@ % %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{insdljs} -% [2021/05/13 v2.5.4 Insert Document Level JavaScripts (dps)] +% [2021/06/19 v2.5.5 Insert Document Level JavaScripts (dps)] %<*driver> \documentclass{ltxdoc} \usepackage[colorlinks,hyperindex=false]{hyperref} @@ -610,6 +610,28 @@ \ifpdf\ifx\pdfextension\@undefined\else \protected\def\pdfnames{\pdfextension names } \def\pdfpageref{\pdffeedback pageref}\fi\fi +% \end{macrocode} +% The critical JavaScript files are no longer distributed with this package, +% but are distributed by the \pkg{acrotex-js} package. This package must be +% installed, and the instructions in the \texttt{docs} folder followed to +% propery install the critical JavaScript file \texttt{aeb.js}. +% \changes{v2.5.5}{2021/06/19}{Require acrotex-js when dvips is used} +% \begin{macrocode} +\ifpdfmarkup +\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.js}, if not, we require +% this package, which may be automatically installed on some {\TeX} systems. +% \begin{macrocode} + {\PackageWarningNoLine{insdljs}{% + The acrotex-js package is required.\MessageBreak + Before continuing, install this package,\MessageBreak + read the documentation, and place\MessageBreak + aeb.js in the expected folder + }\def\reqpkg{\usepackage{acrotex-js}[2021/06/19]} + } +\expandafter\reqpkg\fi \RequirePackage{verbatim} % \end{macrocode} %\changes{v2.4.1}{2019/02/11}{Save \string\cs{comment}\space as \string\cs{dlcomment}} @@ -856,7 +878,7 @@ % \changes{v2.5}{2020/12/20}{Added \string\cs{Launch}} % A launch action % \begin{macrocode} -\providecommand{\Launch}[1]{/Launch/F(#1)} +\providecommand{\Launch}[1]{/S/Launch/F(#1)} % \end{macrocode} % \end{macro} % \begin{macrocode} @@ -935,7 +957,8 @@ % \changes{v2.5.4}{2021/05/13}{Added \string\cs{dl@EForAFMergeChange}} % \begin{macrocode} \def\dl@EForAF4#1_{\ifx\usedAdbFuncs\dl@YES EF\else AF\fi#1_} -\def\dl@EForAFMergeChange{\ifx\usedAdbFuncs\dl@YES EF\else AF\fi MergeChange} +\def\dl@EForAFMergeChange{% + \ifx\usedAdbFuncs\dl@YES EF\else AF\fi MergeChange} % \end{macrocode} % \subsection{Some JavaScript Support} % diff --git a/texmf-dist/tex/latex/acrotex/exerquiz.sty b/texmf-dist/tex/latex/acrotex/exerquiz.sty index 63e55a0f..5adda4bc 100644 --- a/texmf-dist/tex/latex/acrotex/exerquiz.sty +++ b/texmf-dist/tex/latex/acrotex/exerquiz.sty @@ -2156,7 +2156,7 @@ if (typeof !oField=="undefined") \endgroup \newcommand{\BeginQuizG@te}{if (true)} \def\Norm@lBeginQuiz{if (true)} -\def\restorBeginQuiz{\let\BeginQuizG@te\Norm@lBeginQuiz} +\def\restoreBeginQuiz{\let\BeginQuizG@te\Norm@lBeginQuiz} \newcommand\@initQuiz{% \BeginQuizG@te\space\jsLB\jsR\jsT var\eqSP\curr@quiz=new Object();\jsR\jsT diff --git a/texmf-dist/tex/latex/acrotex/insdljs.sty b/texmf-dist/tex/latex/acrotex/insdljs.sty index 22769ae2..96d654c6 100644 --- a/texmf-dist/tex/latex/acrotex/insdljs.sty +++ b/texmf-dist/tex/latex/acrotex/insdljs.sty @@ -19,7 +19,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{insdljs} - [2021/05/13 v2.5.4 Insert Document Level JavaScripts (dps)] + [2021/06/19 v2.5.5 Insert Document Level JavaScripts (dps)] \usepackage{xkeyval} \RequirePackage{ifpdf}[2006/02/20] \RequirePackage{ifxetex}[2006/08/21] @@ -110,6 +110,16 @@ \ifpdf\ifx\pdfextension\@undefined\else \protected\def\pdfnames{\pdfextension names } \def\pdfpageref{\pdffeedback pageref}\fi\fi +\ifpdfmarkup +\IfFileExists{acrotex-js.sty}{\let\reqpkg\relax} + {\PackageWarningNoLine{insdljs}{% + The acrotex-js package is required.\MessageBreak + Before continuing, install this package,\MessageBreak + read the documentation, and place\MessageBreak + aeb.js in the expected folder + }\def\reqpkg{\usepackage{acrotex-js}[2021/06/19]} + } +\expandafter\reqpkg\fi \RequirePackage{verbatim} \let\dlcomment\comment \let\enddlcomment\endcomment @@ -168,7 +178,7 @@ \providecommand{\GoToR}{/S/GoToR} \providecommand{\Thread}[1]{/S/Thread/D(#1)} \providecommand{\URI}[1]{/S/URI/URI(#1)} -\providecommand{\Launch}[1]{/Launch/F(#1)} +\providecommand{\Launch}[1]{/S/Launch/F(#1)} \def\previewMiKTeX{\def\jsR{\string\r}\def\jsT{\string\t}} {\obeylines % \gdef\js@@R{\noexpand @@ -198,7 +208,8 @@ \newwrite\js@verbatim@out \def\iwvo#1{\immediate\write\js@verbatim@out{#1}} \def\dl@EForAF4#1_{\ifx\usedAdbFuncs\dl@YES EF\else AF\fi#1_} -\def\dl@EForAFMergeChange{\ifx\usedAdbFuncs\dl@YES EF\else AF\fi MergeChange} +\def\dl@EForAFMergeChange{% + \ifx\usedAdbFuncs\dl@YES EF\else AF\fi MergeChange} \def\dl@lparen{(}\def\dl@rparen{)} \def\genericNL{^^J} \def\defjsLB{\gobiv} -- cgit v1.2.3