summaryrefslogtreecommitdiff
path: root/texmf-dist/source/latex/mkstmpdad/mkstmp_pro.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'texmf-dist/source/latex/mkstmpdad/mkstmp_pro.dtx')
-rw-r--r--texmf-dist/source/latex/mkstmpdad/mkstmp_pro.dtx167
1 files changed, 167 insertions, 0 deletions
diff --git a/texmf-dist/source/latex/mkstmpdad/mkstmp_pro.dtx b/texmf-dist/source/latex/mkstmpdad/mkstmp_pro.dtx
new file mode 100644
index 00000000..bcffd9cb
--- /dev/null
+++ b/texmf-dist/source/latex/mkstmpdad/mkstmp_pro.dtx
@@ -0,0 +1,167 @@
+% \iffalse
+% makeindex -s gglo.ist -o mkstmp_pro.gls mkstmp_pro.glo
+% makeindex -s gind.ist -o mkstmp_pro.ind mkstmp_pro.idx
+%<*copyright>
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% mkstmp_pro package %%
+%% Copyright (C) 2012-2016 D. P. Story %%
+%% dpstory@uakron.edu %%
+%% %%
+%% This program can redistributed and/or modified under %%
+%% the terms of the LaTeX Project Public License %%
+%% Distributed from CTAN archives in directory %%
+%% macros/latex/base/lppl.txt; either version 1 of the %%
+%% License, or (at your option) any later version. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%</copyright>
+%<package>\NeedsTeXFormat{LaTeX2e}
+%<package>\ProvidesPackage{mkstmp_pro}
+%<package> [2016/08/21 v1.1 Make Stamps for stamp annotations (dps)]
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[colorlinks,hyperindex=false]{hyperref}[2012/10/12] % to support calculate for pdfyrc
+\pdfstringdefDisableCommands{\let\\\textbackslash}
+\OnlyDescription
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\def\ltag{<}\def\rtag{>}
+\InputIfFileExists{aebdocfmt.def}{\PackageInfo{mkstmp_pro}{Inputting aebdocfmt.def}}
+ {\def\IndexOpt{\DescribeMacro}\def\IndexKey{\DescribeMacro} \let\setupFullwidth\relax
+ \PackageInfo{mkstmp_pro}{aebdocfmt.def cannot be found}}
+\begin{document}
+ \GetFileInfo{mkstmp_pro.sty}
+ \title{\textsf{mkstmp\_pro}: Create stamps for \textsf{AA/AAR}}
+ \author{D. P. Story\\
+ Email: \texttt{dpstory@uakron.edu}}
+ \date{processed \today}
+ \maketitle
+ \tableofcontents
+ \let\Email\texttt
+ \DocInput{mkstmp_pro.dtx}
+\IfFileExists{\jobname.ind}{\newpage\setupFullwidth\PrintIndex}{\paragraph*{Index} The index goes here.\\Execute
+ \texttt{makeindex -s gind.ist -o mkstmp\_pro.ind mkstmp\_pro.idx} on the command line and recompile
+ \texttt{mkstmp\_pro.dtx}.}
+\IfFileExists{\jobname.gls}{\PrintChanges}{\paragraph*{Change History} The list of changes goes here.\\Execute
+ \texttt{makeindex -s gglo.ist -o mkstmp\_pro.gls mkstmp\_pro.glo} on the command line and recompile
+ \texttt{mkstmp\_pro.dtx}.}
+\end{document}
+%</driver>
+% \fi
+%
+% \MakeShortVerb{|}
+% \InputIfFileExists{aebdonotindex.def}{\PackageInfo{mkstmp_pro}{Inputting aebdonotindex.def}}
+% {\PackageInfo{mkstmp_pro}{aebdonotindex.def cannot be found}}
+%
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+% \paragraph*{Description.}
+% \textsf{mkstmp\_pro} is a package for making a (rubber) stamp file.
+% A person using this package requires \textsf{aeb\_pro} and \textsf{Adobe Acrobat} (\texttt{AA}).
+% After you create a stamp file, move it to the user stamp folder of your \textsf{Acrobat}
+% distribution and the stamps will be available for use.
+%
+% \paragraph*{Documentation and Code.}\strut\par\medskip\noindent
+% We require the \textsf{aeb\_pro} and \textsf{xkeyval} packages.
+% \begin{macrocode}
+\RequirePackage{aeb_pro}[2012/11/09]
+\RequirePackage{xkeyval}
+% \end{macrocode}
+% A command taken from \textsf{eforms} that can be used to define
+% \cs{setStampPath}.
+% \begin{macrocode}
+\providecommand{\definePath}[1]{\def\ef@ctrlName{#1}%
+ \hyper@normalise\ef@definePath}
+\def\ef@definePath#1{\expandafter\xdef\ef@ctrlName{#1}}
+% \end{macrocode}
+% \DescribeMacro{\setStampPath} is used to define the path to the icon
+% file. It is a declaration that uses \cs{definePath} to define the
+% macro \cs{stampPath}. If used, then the \texttt{path} key is not used (defined below).
+% \begin{macrocode}
+\newcommand{\setStampPath}[1]{\definePath{\msp@stampPath}{#1}}
+% \end{macrocode}
+% Key value pairs for the \texttt{makeStamp} family.\par\medskip\noindent
+% \DescribeMacro{name} is the name you are giving the stamp.
+% \begin{macrocode}
+\define@key{makeStamp}{name}[]{\def\makeStamp@name{\##1}}
+\let\msp@stampPath\@empty
+% \end{macrocode}
+% \DescribeMacro{path} is the path to the PDF file containing the image
+% to be used for a stamp. The default is \cs{msp@stampPath}, defined separately
+% using \cs{setStampPath}.
+% \begin{macrocode}
+\define@key{makeStamp}{path}[\msp@stampPath]{\edef\makeStamp@path{#1}}
+% \end{macrocode}
+% \DescribeMacro{page} is the page in the PDF file that corresponds to the
+% image you want to use as a stamp.
+% \begin{macrocode}
+\define@key{makeStamp}{page}[0]{\def\aeb@stamp@page{#1}}
+% \end{macrocode}
+% \DescribeMacro{\makeStamps} is the only command of this package. Its only
+% argument is a list of tokens.
+%\begin{verbatim}
+% \setStampPath{C:/Users/Public/Documents/%
+% My TeX Files/tex/latex/aeb/aebpro/aeb_dad/images/juergen.pdf}
+% \makeStamps{%
+% {name=Touches Hat,page=0}
+% {name=Doffs Hat,page=1}
+% {name=Movie Star,page=2}
+% {name=Running Man,page=3}
+% }
+% \begin{docassembly}
+% \insertPreDocAssembly
+% \end{docassembly}
+% \begin{document}
+% ...
+%\end{verbatim}
+% There are three key-value pairs. name, path, and page. The path key is not really
+% needed if the command \cs{setStampPath} is used.
+% \begin{macrocode}
+\newcommand{\makeStamps}[1]{%
+ \edef\@tforExp{\noexpand\@tfor\noexpand\msp@Args:=#1}%
+ \@tforExp\do{\expandafter\ms@makeStamp
+ \expandafter{\msp@Args}%
+ }%
+}
+% \end{macrocode}
+% \cs{makeStamp} is a loop that calls \cs{ms@makeStamp}. A typical call
+% is
+%\begin{verbatim}
+% \ms@makeStamp{name=Touches Hat,page=0}
+%\end{verbatim}
+% \begin{macrocode}
+\newcommand{\ms@makeStamp}[1]{%
+ \setkeys{makeStamp}{name,path,page,#1}%
+ \ifx\make@Stamps@name\@empty
+ \PackageError{mkstmp_pro}{The `name' key is required}
+ {Please give the path of the stamp image.}\fi
+ \ifx\makeStamp@path\@empty
+ \PackageError{mkstmp_pro}{The `path' key is required}
+ {Please give the path of the stamp image, or \MessageBreak
+ use \string\setStampPath.}\fi
+% \end{macrocode}
+% We work things so that the pages are added in the same order that they
+% are listed in the arguments of \cs{makeStamp}.
+%
+% We create a command \cs{predocassemJS} that is designed for use in the
+% \texttt{docassembly} environment of \textsf{aeb\_pro}.
+% \begin{macrocode}
+ \xdef\predocassemJS{%
+ var retn=\insertPages({nPage:0, cPath:"\makeStamp@path",%
+ nStart:\aeb@stamp@page});^^J%
+ if ( retn==-1 ) console.println("The file
+ \string\"\makeStamp@path\string\" could not be opened.");^^J%
+ if ( retn==-2 ) console.println("Selected page
+ (page=\aeb@stamp@page) for \string\"\makeStamp@path\string\"
+ is invalid.");^^J%
+ \createTemplate({cName:"\makeStamp@name",nPage:1});^^J%
+ \predocassemJS%
+ }%
+}
+% \end{macrocode}
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%\Finale