summaryrefslogtreecommitdiff
path: root/texmf-dist/doc/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-06-15 14:31:29 +0900
committerNorbert Preining <norbert@preining.info>2021-06-15 14:31:29 +0900
commita0dcc766d222c740ed09c619afaf6cf881599832 (patch)
tree663bf3ae110021d379dbe96115fbcf28395b18b9 /texmf-dist/doc/latex
parent2be1d1cba844ad337466717806c8e57453ca954d (diff)
pmdb update
Diffstat (limited to 'texmf-dist/doc/latex')
-rw-r--r--texmf-dist/doc/latex/pmdb/README.md8
-rw-r--r--texmf-dist/doc/latex/pmdb/examples/probs/prob2.tex2
-rw-r--r--texmf-dist/doc/latex/pmdb/examples/probs/prob4.tex5
-rw-r--r--texmf-dist/doc/latex/pmdb/examples/tst-eqedb.tex94
-rw-r--r--texmf-dist/doc/latex/pmdb/examples/tst-items.tex9
-rw-r--r--texmf-dist/doc/latex/pmdb/examples/tst-paras.tex12
-rw-r--r--texmf-dist/doc/latex/pmdb/examples/tst-qzdb-paras.pdfbin0 -> 406386 bytes
-rw-r--r--texmf-dist/doc/latex/pmdb/examples/tst-qzdb-paras.tex6
-rw-r--r--texmf-dist/doc/latex/pmdb/examples/tst-qzdb.pdfbin0 -> 450424 bytes
-rw-r--r--texmf-dist/doc/latex/pmdb/examples/tst-qzdb.tex9
-rw-r--r--texmf-dist/doc/latex/pmdb/pmdb-man.pdfbin243694 -> 249153 bytes
-rw-r--r--texmf-dist/doc/latex/pmdb/pmdb-man.tex192
-rw-r--r--texmf-dist/doc/latex/pmdb/pmdb.pdfbin262160 -> 279968 bytes
-rw-r--r--texmf-dist/doc/latex/pmdb/sample-item.tex4
-rw-r--r--texmf-dist/doc/latex/pmdb/sample-para.tex7
15 files changed, 288 insertions, 60 deletions
diff --git a/texmf-dist/doc/latex/pmdb/README.md b/texmf-dist/doc/latex/pmdb/README.md
index aa2763ff..8b791ba1 100644
--- a/texmf-dist/doc/latex/pmdb/README.md
+++ b/texmf-dist/doc/latex/pmdb/README.md
@@ -1,6 +1,6 @@
The pmdb Package
Author: D. P. Story
-Dated: 2019-12-09
+Dated: 2021-06-07
This "poor man's database" (pmdb) package promotes a workflow
for building exams, homework, and other content. The package
@@ -20,6 +20,12 @@ aeb-reader.js needs to be installed. As the filename suggests,
this file will work for Adobe Acrobat Reader (DC), as well as
for the magnificent Adobe Acrobat itself.
+What's New (2021-06-07) New command \editSourceOn, which inserts
+a pushbutton in the margin; pressing the button loads the source
+file in the default editor. Expanding \useEditLnk replaces the
+marginal pushbutton with a link annotation. A new input mode
+\InputProbs, allows inputting problems for a eqexam document.
+
Enjoy!
Now, I must get back to my retirement.
diff --git a/texmf-dist/doc/latex/pmdb/examples/probs/prob2.tex b/texmf-dist/doc/latex/pmdb/examples/probs/prob2.tex
index 033fe41f..f633c48f 100644
--- a/texmf-dist/doc/latex/pmdb/examples/probs/prob2.tex
+++ b/texmf-dist/doc/latex/pmdb/examples/probs/prob2.tex
@@ -1,4 +1,4 @@
\item \PTs{4} Select which of the following is true.
-\begin{answers}{4}
+\begin{answers}{4}%
\Ans1 True &\Ans0 False &\Ans0 Maybe &\Ans0 Sometimes
\end{answers}
diff --git a/texmf-dist/doc/latex/pmdb/examples/probs/prob4.tex b/texmf-dist/doc/latex/pmdb/examples/probs/prob4.tex
index 924d5da0..6110595a 100644
--- a/texmf-dist/doc/latex/pmdb/examples/probs/prob4.tex
+++ b/texmf-dist/doc/latex/pmdb/examples/probs/prob4.tex
@@ -1,3 +1,6 @@
\essayQ{5} % num points assigned
\item\PTs{5} Write a short history of Acro\negthinspace\TeX.\par
-\RespBoxEssay{\linewidth}{1in}
+\RespBoxEssay*{\linewidth}{1in}
+\begin{solution}
+The history is well-known.
+\end{solution} \ No newline at end of file
diff --git a/texmf-dist/doc/latex/pmdb/examples/tst-eqedb.tex b/texmf-dist/doc/latex/pmdb/examples/tst-eqedb.tex
new file mode 100644
index 00000000..40de8991
--- /dev/null
+++ b/texmf-dist/doc/latex/pmdb/examples/tst-eqedb.tex
@@ -0,0 +1,94 @@
+\documentclass{article}
+\usepackage[%nosolutions,
+ forcolorpaper,
+ pointsonright,totalsonright,
+ links,
+ vspacewithsolns
+ ]{eqexam} %online,
+\usepackage[dbmode,tight]{pmdb}
+
+
+\email{dpstory@uakron.edu}
+
+\university
+{%
+ NORTHWEST FLORIDA STATE COLLEGE\\
+ Department of Mathematics
+}
+\email{storyd@nwfsc.edu}
+\subject[MAC1105]{College Algebra}
+\examNum{1}\numVersions{1}\forVersion{a}
+\longTitleText
+ {Test~\nExam}
+\endlongTitleText
+\shortTitleText
+ {T\nExam}
+\endshortTitleText
+\altTitle{\vA{11:00 am, C-204}\vB{12:30 pm, L-138}}
+\title[\sExam]{\Exam}
+\author{Dr.\ D. P. Story}
+\date{\thisterm, \the\year}
+\duedate{10/09/14}
+\keywords{MAC 1105, Exam \nExam, {\thisterm} semester, \theduedate, at NWFSC}
+
+%\previewOn\pmpvOn
+\editSourceOn
+%\useEditBtn % the default
+\useEditLnk % try it with links
+\InputProbs
+\reversemarginpar
+
+\let\env\texttt
+\def\cs#1{\texttt{\eqbs#1}}
+
+\cfooteqe{\displayChoices{}{11bp}\cgBdry[1em]\clrChoices{}{11bp}}
+
+%\NoTotals
+\TotalsOnRight
+%\advance\marginparwidth12pt
+
+
+\begin{document}
+
+\maketitle
+
+\section{My first exam}
+
+Welcome to this section. Now that you've learned quite a lot, we can have
+a little quiz.
+
+
+\begin{exam}{dps1}
+\begin{instructions}
+Solve each without error.
+\end{instructions}
+
+\pmInput{eqexam/prob1.tex}
+
+\pmInput{eqexam/prob2.tex}
+
+\begin{eqComments}
+There are two ways of inputting content for a \env{problem*}: (1) in the source file, input items
+of the \env{parts} environment; (2) and input the whole \env{problem*} environment. The next problem
+is input using method (1); a \env{problem*} shell is placed in this source file and the individual items
+within the \env{parts} environment are input with \cs{pmInput}.
+\end{eqComments}
+
+\begin{problem*}[5ea]
+Solve each.
+\begin{parts}
+ \pmInput{eqexam/item1.tex}
+ \pmInput{eqexam/item2.tex}
+\end{parts}
+\end{problem*}
+
+\begin{eqComments}
+The whole of the next \env{problem*} environment is input with \cs{pmInput}. Interestingly, the items
+of the \env{parts} environment are still itemized by \cs{pmInput}.
+\end{eqComments}
+
+\pmInput{eqexam/prob3.tex}
+
+\end{exam}
+
+\end{document}
diff --git a/texmf-dist/doc/latex/pmdb/examples/tst-items.tex b/texmf-dist/doc/latex/pmdb/examples/tst-items.tex
index 46b25a10..b065a52f 100644
--- a/texmf-dist/doc/latex/pmdb/examples/tst-items.tex
+++ b/texmf-dist/doc/latex/pmdb/examples/tst-items.tex
@@ -2,7 +2,12 @@
\usepackage[forcolorpaper]{web}
\usepackage[dbmode,!tight]{pmdb}
-\previewOn
+\previewOn\pmpvOn
+
+\editSourceOn
+\useEditBtn % the default
+%\useEditLnk % try it with links
+
\reversemarginpar
@@ -19,7 +24,7 @@ The \texttt{itemize} environment
\end{itemize}
\medskip\noindent
-The \texttt{environment} environment
+The \texttt{enumerate} environment
\begin{enumerate}
\item One\marginpar{One}
\item Two\marginpar{Two}
diff --git a/texmf-dist/doc/latex/pmdb/examples/tst-paras.tex b/texmf-dist/doc/latex/pmdb/examples/tst-paras.tex
index 550e58db..cd9794f0 100644
--- a/texmf-dist/doc/latex/pmdb/examples/tst-paras.tex
+++ b/texmf-dist/doc/latex/pmdb/examples/tst-paras.tex
@@ -4,12 +4,14 @@
\usepackage{eforms}
\usepackage[dbmode]{pmdb}
-%\usepackage{srcltx}
-
%\previewOn\pmpvOn
+\editSourceOn
+%\useEditBtn % the default
+\useEditLnk % try it with links
+
% The default input mode
-%\InputParas
+\InputParas
\def\cs#1{\texttt{\eqbs#1}}
@@ -30,8 +32,8 @@ in the margins and executes an \cs{input} command.
% Adjust paths as needed
\pmInput{chapters/doc1.tex}
-%\input{"my doc2.tex"}
-\pmInput{"C:/Users/Public/Documents/My TeX Files/tex/latex/aeb/pmdb/examples/chapters/doc2.tex"}
+\input{"my doc2.tex"}
+%\pmInput{"C:/Users/Public/Documents/My TeX Files/tex/latex/aeb/pmdb/examples/chapters/doc2.tex"}
\medskip\noindent
\displayChoices{}{11bp}\cgBdry[1em]\clrChoices{}{11bp}
diff --git a/texmf-dist/doc/latex/pmdb/examples/tst-qzdb-paras.pdf b/texmf-dist/doc/latex/pmdb/examples/tst-qzdb-paras.pdf
new file mode 100644
index 00000000..96680eef
--- /dev/null
+++ b/texmf-dist/doc/latex/pmdb/examples/tst-qzdb-paras.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/pmdb/examples/tst-qzdb-paras.tex b/texmf-dist/doc/latex/pmdb/examples/tst-qzdb-paras.tex
index eb6807eb..c7623e9d 100644
--- a/texmf-dist/doc/latex/pmdb/examples/tst-qzdb-paras.tex
+++ b/texmf-dist/doc/latex/pmdb/examples/tst-qzdb-paras.tex
@@ -2,7 +2,7 @@
\usepackage{amstext}
\usepackage[forcolorpaper]{web}
\usepackage{exerquiz}[2019/12/17]
-\usepackage[dbmode,!tight]{pmdb}
+\usepackage[dbmode,tight]{pmdb}
\reversemarginpar
@@ -11,7 +11,11 @@
\useBeginQuizButton[\CA{Begin}]
\useEndQuizButton[\CA{End}]
+
%\previewOn\pmpvOn
+\editSourceOn
+\useEditBtn % the default
+%\useEditLnk % try it with links
\rfooter{\dirTOCItem} % \dirTOCItem from web
diff --git a/texmf-dist/doc/latex/pmdb/examples/tst-qzdb.pdf b/texmf-dist/doc/latex/pmdb/examples/tst-qzdb.pdf
new file mode 100644
index 00000000..ba2db8a5
--- /dev/null
+++ b/texmf-dist/doc/latex/pmdb/examples/tst-qzdb.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/pmdb/examples/tst-qzdb.tex b/texmf-dist/doc/latex/pmdb/examples/tst-qzdb.tex
index ac1898a8..2abfe569 100644
--- a/texmf-dist/doc/latex/pmdb/examples/tst-qzdb.tex
+++ b/texmf-dist/doc/latex/pmdb/examples/tst-qzdb.tex
@@ -16,6 +16,10 @@
\version{1.0}
\norevisionLabel
+\editSourceOn
+%\useEditBtn % the default
+%\useEditLnk % try it with links
+
\PTsHook{($\eqPTs^{\text{pts}}$)}
@@ -27,15 +31,16 @@
\useMCCircles
+
% Declares input for quiz items
\InputQuizItems
-
\begin{document}
\maketitle
\tableofcontents
+
\section{Section 1}
Expand the \cs{InputQuizItems} here.
@@ -55,7 +60,7 @@ Solve each of these problems, passing is 100\%.
\section{Section 2}
-%\InputQuizItems
+\InputQuizItems
\begin{quiz*}{myquiz2}
diff --git a/texmf-dist/doc/latex/pmdb/pmdb-man.pdf b/texmf-dist/doc/latex/pmdb/pmdb-man.pdf
index 2405eb3c..8594cf46 100644
--- a/texmf-dist/doc/latex/pmdb/pmdb-man.pdf
+++ b/texmf-dist/doc/latex/pmdb/pmdb-man.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/pmdb/pmdb-man.tex b/texmf-dist/doc/latex/pmdb/pmdb-man.tex
index d9e387e5..d2a5e950 100644
--- a/texmf-dist/doc/latex/pmdb/pmdb-man.tex
+++ b/texmf-dist/doc/latex/pmdb/pmdb-man.tex
@@ -15,6 +15,7 @@
\usepackage[dbmode]{pmdb}
%\previewOn\pmpvOn
+\editSourceOn
\pmCBPresets{\textColor{red}}
@@ -83,7 +84,7 @@
email={dpstory@acrotex.net},
subject=Documentation for the pmdb package,
talksite={\url{www.acrotex.net}},
- version={0.4, 2019/12/09},
+ version={1.0, 2021/06/07},
Keywords={DB, LaTeX, AcroTeX},
copyrightStatus=True,
copyrightNotice={Copyright (C) \the\year, D. P. Story},
@@ -190,10 +191,10 @@ this package, a list of all \emph{selected} \cs{input} statements is
displayed in the JavaScript console. This list can then be copied and pasted
into another document the author is developing. If you
\uif{Ctrl+Click}\FmtMP{\uif{Ctrl+Click}} on a checkbox, the associated
-content is opened in the default TEX editor. For this workflow, the document
+content is opened in the default browser. For this workflow, the document
author can see a typeset of the content and decide whether the content should
-be included in the developing document, and can optionally, view the source
-file to edit it.
+be included in the developing document, and can optionally view the source
+file to edit it by clicking on the button or link to the right of the checkbox.
\section{Requirements and options}
@@ -212,7 +213,12 @@ procedure of folder JavaScript files is described in the file
\texttt{docs/install\_jsfiles.pdf}. The folder JS file \texttt{\fnJS} (or
\texttt{aeb\_pro.js}) enables the `\uif{Ctrl+Click}' to be operational for
both \app{Adobe Acrobat} (\app{AA}) and \app{Adobe Acrobat Reader}
-(\app{AR})\FmtMP{\app{AA} and \app{AR}}.
+(\app{AR})\FmtMP{\app{AA} and \app{AR}}. However, when the command
+\cs{editSourceOn}\FmtMP{\cs{editSourceOn}} is expanded, a pushbutton appears
+to the right of the checkbox; click on this pushbutton opens the content in
+the default editor. The use of the button generated by \cs{editSourceOn} requires
+neither \texttt{aeb-reader.js} nor \texttt{aeb\_pro.js}.
+
\paragraph*{Options.} There are four options: \opt{dbmode} and \opt{!dbmode}\FmtMP{\opt{dbmode}\\\relax\opt{!dbmode}},
and \opt{tight} and
@@ -228,7 +234,7 @@ checkboxes. The default location of the checkboxes are flush left. The
Refer to the \textbf{\nameref{para:CB}} paragraph for more information.
\paragraph*{Requirements.} The \pkg{eforms} package is required for the creation of
-checkboxes and push buttons.
+checkboxes and push\-buttons.
\section{The DB stage}
@@ -239,7 +245,7 @@ use the checkboxes in the margin to select content you want to include in
another document; you can use the \uif{Ctrl+Click} feature to view the source
file of that content as well.
-\newtopic
+\newtopic\noindent
The following comments are apropos to the creation of a DB document:
\begin{itemize}
\item\textbf{PDF creators:} Any PDF creator current in the {\LaTeX} world
@@ -248,8 +254,8 @@ is valid for use with this package.
\item\textbf{PDF viewers:} The ideal viewer is \app{AA}; however, \app{AR}
and \app{PDF-XChange Editor} can also be used. In the case of
\app{Adobe Reader}, there is an annoying security dialog box that
- appears each time you use the \uif{Ctrl+Click} feature of the check
- box;\footnote{This assumes the file \texttt{\fnJS} is properly
+ appears each time you use the \uif{Ctrl+Click} feature of the
+ checkbox;\footnote{This assumes the file \texttt{\fnJS} is properly
installed.} the \uif{Ctrl+Click} feature \emph{does not work} with
\app{PDF-XChange Editor}.
@@ -267,19 +273,22 @@ uses the \pkg{pmdb} package. The document itself uses \cs{pmInput} to input
its content.
\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small,commandchars=!()]
\documentclass{article}
-\usepackage[forcolorpaper]{web} % optional
-% !sffamily Additional packages that may be required by any content
-% !sffamily that is !texttt(\pmInput). For example, ...
-\usepackage{exerquiz} % if needed
+\usepackage[forcolorpaper]{web} %!textsf( optional)
+% !sffamily( Additional packages that may be required by any content)
+% !sffamily( that is input with !texttt(\pmInput). For example, ...)
+\usepackage{exerquiz} %!textsf( if needed)
\usepackage[dbmode]{pmdb}
...
+\editSourceOn %(!sffamily!space or, )\editSourceOff
+%\useEditLnk %(!sffamily!space !cs(useEditBtn), the default)
+...
\begin{document}
-% Declares input for quiz items
+% !textsf(Declares input for quiz items)
%\InputQuizItems
-% Declares input paragraph content
+% !textsf(Declares input paragraph content)
%\InputParas
-% Declares input items
+% !textsf(Declares input items)
%\InputItems
\pmInput{!ameta(path!SUB1)}
@@ -294,11 +303,45 @@ its content.
\end{document}
\end{Verbatim}
Descriptions of the various commands \cs{pmInput}, \cs{InputQuizItems},
-\cs{InputParas}, \cs{InputItems}, \cs{displayChocies}, and \cs{clrChoices}
+\cs{InputParas}, \cs{InputItems}, \cs{InputProbs}, \cs{editSourceOn}, \cs{displayChocies}, and \cs{clrChoices}
appear later in this documentation.\medskip
+\begingroup
+
+\InputParas
+
+\pmCBPresets{\Ff\FfReadOnly}
+\editSourceBtn[\TU{View in default editor}\Ff\FfReadOnly\S{S}]{11bp}{11bp}
+
\pmInput{sample-para.tex}
+\endgroup
+
+\paragraph*{Functionality of the boxes in the margin.}
+By default, only one box appears in the margins, a checkbox. If the command
+\cs{editSourceOn} is in effect, a small pushbutton appears to the left of the
+checkbox.
+\begin{description}
+ \item[checkbox:] Selecting the checkbox (a check mark) appears
+ declares that you want that problem (or item) in the document you
+ are creating. \uif{Ctrl+Click} opens the source file for viewing
+ (not editing) in the default browser. A \uif{Shift+Click} action
+ jumps---if \cs{InputQuizItems} is in effect---to the solution
+ of the selected item, if a solution is provided. The
+ \uif{Ctrl+Click} functionality requires the successful installation
+ of the \texttt{aeb-reader.js} or \texttt{aeb\_pro.js} JavaScript
+ file.
+ \item[pushbutton:] If \cs{editSourceOn} has been expanded prior, a
+ little pushbutton appears to the right of the checkbox. Clicking
+ the pushbutton opens the default viewer (for a TEX file) and the
+ source file is loaded into the viewer for possible editing.
+ \item[link annotation:] If \cs{editSourceOn} and \cs{useEditLnk} are
+ expanded, a link annotation having the same functionality as the
+ pushbutton appears in the margins, in place of the pushbutton.
+\end{description}
+The checkbox/pushbutton pair above have been disabled for this documentation.
+Experience the functionality with the example files, listed below.
+
\paragraph*{Sample files.}
The four sample files are found in the \texttt{examples} folder:
\begin{itemize}
@@ -312,8 +355,12 @@ The four sample files are found in the \texttt{examples} folder:
and \cs{InputParas} to input chapters.
\item\texttt{tst-items}: An example that demonstrates the \cs{InputItems}
input mode.
+\item\texttt{tst-eqedb.tex}: An example that demonstrates the \cs{InputProbs}
+ input mode.
\end{itemize}
+
+
\section{The production stage}
After your DB document has been assembled (using \pkg{pmdb}), you are ready
@@ -340,9 +387,9 @@ document, you can compile into a PDF. Done!
\section{Package commands}
The package defines several commands and these are discussed now.
-\bVerb\small\takeMeasure{\string\pmInput[\ameta{arg}]\darg{\ameta{path}}}%
+\bVerb\small\takeMeasure{\string\pmInput*[\ameta{arg}]\darg{\ameta{path}}}%
\begin{dCmd}[fontsize=\small,commandchars=!()]{\bxSize}
-\pmInput[!ameta(arg)]{!ameta(path)}
+\pmInput*[!ameta(arg)]{!ameta(path)}
\end{dCmd}
\eVerb Within a DB source document, content is inserted using \cs{pmInput}. This
command both inputs the referenced \ameta{path} (using the {\LaTeX} command
@@ -354,12 +401,14 @@ path needs to be enclosed in \emph{double quotes} (\texttt"); for example,
latex/aeb/pmdb/examples/chapters/doc2.tex"}
\end{Verbatim}
The optional argument \ameta{arg} is only obeyed when \cs{InputItems} is active and \cs{pmInput} is expanded
-within a list environment.
+within a list environment; \ameta{arg} is passed to the underlying \cs{item} in the list (\cs{item[\ameta{arg}]}). When
+the \texttt* option is taken, the rest of the arguments are gobbled and the command does nothing; this is a convenient
+way of \emph{not inputting} a \ameta{path}.
\paragraph*{Important requirement:} Unlike the normal \cs{input} command\FmtMP{extension required}, we require the file name to include
the extension, `\texttt{.tex}' in the above example.
-\paragraph{Input modes.} There are three `input modes':%\vskip-6pt\par
+\paragraph{Input modes.} There are four `input modes':%\vskip-6pt\par
\bVerb\small\takeMeasure{\string\InputQuizItems}%
\setlength{\eflength}{\widthof{\sffamily(\cs{thQuizName})}}%
\edef\x{\the\eflength}%
@@ -370,6 +419,7 @@ the extension, `\texttt{.tex}' in the above example.
!1\InputParas
\InputQuizItems
\InputItems
+\InputProbs
\end{dCmd}
\eVerb A brief description of each follows.
\begin{description}
@@ -381,6 +431,8 @@ the extension, `\texttt{.tex}' in the above example.
(as created by the \env{quiz} environment).
\item [\cs{InputItems}:] Sets the input mode to input items in a list
environment.
+ \item [\cs{InputProbs}:] Set the input mode to input problems for an exam
+ created by the \pkg{eqexam} package.
\end{description}
In all cases, the {\LaTeX} command \cs{marginpar}\FmtMP{\cs{marginpar} used} is used; as a result, the
checkbox appears in the margins when the \cs{marginpar} command is supported; in
@@ -388,12 +440,21 @@ particular, \cs{marginpar} does not work in a \env{tabular} environment or a
\env{multicols} environment, for example.
\newtopic\noindent
-Below is an example of \cs{InputItems}
+Below is an example of \cs{InputItems}.\footnote{The marginal form fields have been made readonly
+for this documentation.}
+
+\begingroup
+\pmCBPresets{\Ff\FfReadOnly}
+\editSourceBtn[\TU{View in default editor}\Ff\FfReadOnly\S{S}]{11bp}{11bp}
+\editSourceLnk[\cmd{\let\A\noexpand\A}\linktxtcolor{red}
+ \A{\JS{app.alert("The link to source file has been removed for this documentation.");}}]{11bp}{11bp}{E}
+%\previewOn
\begin{itemize}\pmdbtighttrue\InputItems %\normalmarginpar
\pmInput{sample-item.tex}
\item Another item, not input by \cs{pmInput}
+\useEditLnk
\pmInput[*]{sample-item.tex}
\end{itemize}
The verbatim listing is,
@@ -401,6 +462,7 @@ The verbatim listing is,
\begin{itemize}!textbf(\pmdbtighttrue\InputItems)
\pmInput{sample-item.tex}
\item Another item, not input by \verb|\pmInput|.
+!textbf(!string\useEditLnk) %!textsf( Use marginal link for illustrative purposes)
\pmInput[*]{sample-item.tex}
\end{itemize}
\end{Verbatim}
@@ -411,9 +473,10 @@ margin (flush right, in this case). You can (locally) move the checkboxes to
the right margin by expanding \cs{normalmarginpar} within the \env{itemize}
environment group.
+\endgroup
-\paragraph*{Checkboxes.}\label{para:CB} The document produces checkboxes in the margins, you can set
-the appearance of the checkboxes using the \cs{pmCBPresets} command
+\paragraph*{Marginal Checkboxes.}\label{para:CB} The document produces checkboxes in the margins, you can set
+the appearance of the checkboxes using the \cs{pmCBPresets} command.
\bVerb\small\takeMeasure{\string\pmCBPresets\darg{\ameta{opts}}}%
\begin{dCmd}[fontsize=\small,commandchars=!()]{\bxSize}
\pmCBPresets{!ameta(opts)}
@@ -431,7 +494,61 @@ class-type document, the checkboxes alternate between the left and right
margins. The option \opt{tight} can be used to move the checkboxes to the
inner margins of the text block.
-\paragraph*{Push buttons.} The package defines two push buttons that should be utilized
+\paragraph*{Marginal pushbuttons.} When \cs{editSourceOn} is in effect, a pushbutton
+appears to the right of the marginal checkbox. The action of this pushbutton is to open
+the source file in the default editor. Modify the appearance using the \cs{editSourceBtn} command:
+\bVerb\small\takeMeasure{\string\editSourceBtn[\ameta{opts}]\darg{\ameta{wd}}\darg{\ameta{ht}}}%
+\setlength{\eflength}{\bxSize}%
+\def\1{\rlap{\hskip\linewidth\textsf{(required for the button to appear)}}}%
+\def\2{\rlap{\hskip\linewidth\textsf{(the default)}}}%
+\begin{dCmd}[fontsize=\small,commandchars=!()]{\bxSize}
+!1\editSourceOn
+!2\useEditBtn
+\editSourceBtn[!ameta(opts)]{!ameta(wd)}{!ameta(ht)}
+\end{dCmd}
+\eVerb The first line \cs{editSourceOn} is required for the button to appear;
+usually this command is expanded in the preamble, but it can be expanded in
+the body of the document to turn on or off (\cs{editSourceOff}). The second
+line specifies that pushbutton form field should be used (the default). The
+third line is the general syntax; here, \ameta{opts} are key-values that are
+passed to the underlying \cs{pushButton} command of \pkg{eforms}.
+\bVerb\small\takeMeasure{\string\editSourceBtn[\string\TU\darg{View in default editor}\string\S\darg{S}]\darg{11bp}\darg{11bp}}%
+\setlength{\eflength}{\bxSize}%
+\def\2{\rlap{\hskip\linewidth\textsf{(the default)}}}%
+\begin{pCmd*}[fontsize=\small,commandchars=!()]{\bxSize}
+!2\editSourceBtn[\TU{View in default editor}\S{S}]{11bp}{11bp}
+\end{pCmd*}
+The above is the default definition for the marginal link.
+
+
+\paragraph*{Marginal links.} As an alternative to using marginal pushbuttons, \pkg{pmdb} also
+provides link annotations. When \cs{editSourceOn} is expanded\FmtMP{\cs{useEditLnk} and \cs{useEditBtn} discussed}, marginal
+buttons appear in the margin, by default. To obtain link annotations also
+expand the macro \cs{useEditLnk} (\cs{useEditBtn} is the default). Use
+\cs{editSourceLnk} to customized the link:
+\bVerb\small\takeMeasure{\string\editSourceLnk[\ameta{opts}]\darg{\ameta{wd}}\darg{\ameta{ht}}\darg{\ameta{txt}}}%
+\setlength{\eflength}{\bxSize}\def\2{\rlap{\hskip\linewidth\textsf{(the default)}}}%
+\def\1{\rlap{\hskip\linewidth\textsf{(required for the link to appear)}}}%
+\begin{dCmd}[fontsize=\small,commandchars=!()]{\bxSize}
+!1\editSourceOn
+\editSourceLnk
+\editSourceLnk[!ameta(opts)]{!ameta(wd)}{!ameta(ht)}{!ameta(txt)}
+\end{dCmd}
+\eVerb where \ameta{opts} are key-values that are passed to the underlying
+link command \cs{setLink} of \pkg{eforms}. The dimensions provided should be
+the same as those used by the marginal checkboxes so they are properly
+aligned.
+
+\bVerb\small\takeMeasure{\string\editSourceLnk[\string\linktxtcolor\darg{red}\string\H\darg{N}]\darg{11bp}\darg{11bp}\darg{E}}%
+\setlength{\eflength}{\bxSize}%
+\def\2{\rlap{\hskip\linewidth\textsf{(the default)}}}%
+\begin{pCmd*}[fontsize=\small,commandchars=!()]{\bxSize}
+!2\editSourceLnk[\linktxtcolor{red}\H{N}]{11bp}{11bp}{E}
+\end{pCmd*}
+The above is the default definition for the marginal button.
+
+
+\paragraph*{Pushbuttons.} The package defines two push buttons that should be utilized
in your DB document. They can be placed at the end of the document, or in a
running footer.
@@ -440,11 +557,12 @@ running footer.
\displayChoices[!ameta(opts)]{!ameta(wd)}{!ameta(ht)}
\clrChoices[!ameta(opts)]{!ameta(wd)}{!ameta(ht)}
\end{dCmd}
-\eVerb \cs{displayChoices} displays the choices made in the console window of \app{AA/AR}, while
-\cs{clrChoices} clears all the marginal checkboxes. For example,
+\eVerb The \cs{displayChoices} command displays the choices made in the
+console window of \app{AA/\allowbreak AR}, while \cs{clrChoices} clears all
+the marginal checkboxes. For example,
\begin{quote}
\begin{tabular}{@{}ll}
-\displayChoices{}{11bp}&\clrChoices{}{11bp}\\
+\displayChoices{}{11bp}&\clrChoices{}{11bp}\\[3bp]
\footnotesize\cs{displayChoices\darg{}\darg{11bp}}&
\footnotesize\cs{clrChoices\darg{}\darg{11bp}}
\end{tabular}
@@ -456,9 +574,9 @@ convenience commands associate with \cs{displayChoices} and \cs{clrChoices}:
%\edef\x{\the\eflength}%
\setlength{\eflength}{\bxSize}%
\def\1{\rlap{\hskip\eflength\sffamily(Display Choices)}}
-\def\2{\rlap{\hskip\eflength\sffamily(Lists all choices in the console window)}}
+\def\2{\rlap{\hskip\eflength\sffamily(Display all choices in the console window)}}
\def\3{\rlap{\hskip\eflength\sffamily(Clear Choices)}}
-\def\4{\rlap{\hskip\eflength\sffamily(Clears all checkboxes created by pmdb)}}
+\def\4{\rlap{\hskip\eflength\sffamily(Clear all checkboxes created by pmdb)}}
%{Display Choices}
%{Lists all choices in the console window}
%{Clear Choices}
@@ -482,18 +600,20 @@ must accompany the DB document. As long as all references to DB files are
supporting DB files. Just ZIP the whole folder containing the DB document and
all DB files. They can now be moved to another computer system, unzipped, and
total functionality attained. For the \uif{Ctrl+Click} feature to work, the
-\texttt{\fnJS} file must also be installed.
+\texttt{\fnJS} file must also be installed. However, recall that the use of
+the marginal edit button or link annotation does not require installation of
+a JavaScript file.
\section{Final comments}
The method of producing the checkboxes in the margins work for many of the
-situations that arise in producing a {\LaTeX} document; however, the three
-`input modes' \cs{InputParas}, \cs{InputQuizItems}, and \cs{InputItems} may
-fail in some situations. By studying the DTX file perhaps you can create more
-input modes that solve your problem.
+situations that arise in producing a {\LaTeX} document; the four
+`input modes' \cs{InputParas}, \cs{InputQuizItems}, \cs{InputProbs}, and
+\cs{InputItems}, however, may fail in some situations. By studying the DTX file perhaps
+you can create more input modes that solve your problem.
\newtopic\noindent
-It was lovely, but now I must return to my retirement. \dps
+It has been lovely, but now I must return to my retirement. \dps
\end{document}
diff --git a/texmf-dist/doc/latex/pmdb/pmdb.pdf b/texmf-dist/doc/latex/pmdb/pmdb.pdf
index 9c3394b4..7b80a891 100644
--- a/texmf-dist/doc/latex/pmdb/pmdb.pdf
+++ b/texmf-dist/doc/latex/pmdb/pmdb.pdf
Binary files differ
diff --git a/texmf-dist/doc/latex/pmdb/sample-item.tex b/texmf-dist/doc/latex/pmdb/sample-item.tex
deleted file mode 100644
index 21d93a9e..00000000
--- a/texmf-dist/doc/latex/pmdb/sample-item.tex
+++ /dev/null
@@ -1,4 +0,0 @@
-\item
-This is content destined for an list environment and was input by \verb|\pmInput|.
-
-\endinput
diff --git a/texmf-dist/doc/latex/pmdb/sample-para.tex b/texmf-dist/doc/latex/pmdb/sample-para.tex
deleted file mode 100644
index c70612cc..00000000
--- a/texmf-dist/doc/latex/pmdb/sample-para.tex
+++ /dev/null
@@ -1,7 +0,0 @@
-These methods are not restricted to inputting quiz items or whole
-chapters. This paragraph was input into the main document with
-\cs{pmInput\darg{sample-para.tex}}. Note the check box in the left margin. If
-you have \texttt{aeb-reader.js} or \texttt{aeb\_pro.js} properly installed, you can \uif{Ctrl+Click} to
-see this paragraph at the source.
-
-\endinput