diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/ecards |
Initial commit
Diffstat (limited to 'macros/latex/contrib/ecards')
43 files changed, 2675 insertions, 0 deletions
diff --git a/macros/latex/contrib/ecards/README.md b/macros/latex/contrib/ecards/README.md new file mode 100644 index 0000000000..e330320cd0 --- /dev/null +++ b/macros/latex/contrib/ecards/README.md @@ -0,0 +1,29 @@ +eCards Package +Author: D. P. Story +Dated: 2016/09/03 + +The ecards package for LaTeX enables you to create a series of +electronic (flash) cards. The demo file for this package is named +ecardstst.pdf. The document author provides questions, hints and +answers to a series of questions. Users can test their knowledge +by responding to the questions. The questions are delivered in +random order. + +What's new (2016/09/03): Improved documentation. + +What's new (2016/08/02): The last revision was in 2003, and since then +there have been many changes in exerquiz. This revision brings ecards into +harmony with exerquiz (dated 2016/04/18 or later). Additionally, several new +commands are created to help customize the cards. + +Note: This package requires the AcroTeX eDucation Bundle, exerquiz dated 2016/04/18 +or later. + +Enjoy! + +Now, I simply must get back to my retirement. + +D. P. Story +www.acrotex.net +dpstory@uakron.edu +dpstory@acrotex.net diff --git a/macros/latex/contrib/ecards/doc/ecardsman.pdf b/macros/latex/contrib/ecards/doc/ecardsman.pdf Binary files differnew file mode 100644 index 0000000000..d2403a2367 --- /dev/null +++ b/macros/latex/contrib/ecards/doc/ecardsman.pdf diff --git a/macros/latex/contrib/ecards/doc/ecardsman.tex b/macros/latex/contrib/ecards/doc/ecardsman.tex new file mode 100644 index 0000000000..242ea5e5b7 --- /dev/null +++ b/macros/latex/contrib/ecards/doc/ecardsman.tex @@ -0,0 +1,726 @@ +% makeindex < aebpro_man.idx > aebpro_man.ind +\documentclass{article} +\usepackage[fleqn]{amsmath} +\usepackage[ + web={centertitlepage,designv,forcolorpaper,latextoc,pro}, + eforms, + linktoattachments, + aebxmp +]{aeb_pro} +\usepackage{graphicx,array} +%\usepackage{myriadpro} +%\usepackage{calibri} +\usepackage[altbullet]{lucidbry} + +%\usepackage{makeidx} +%\makeindex +\usepackage{acroman} +\usepackage[active]{srcltx} + +%\urlstyle{rm} +\urlstyle{sf} + +\DeclareDocInfo +{ + university={NORTHWEST FLORIDA STATE COLLEGE\\ + Department of Mathematics}, + title={eCards: Electronic Flash Cards\texorpdfstring{\\[3ex]}{,} Manual of Usage}, + author={D. P. Story}, + email={dpstory@acrotex.net}, + subject={Documentation for the eCards package from AcroTeX}, + talksite={\url{www.acrotex.net}}, + version={2.0, 2016/09/03}, + keywords={AcroTeX, flash cards, interactive}, + copyrightStatus=True, + copyrightNotice={Copyright (C) \the\year, D. P. Story}, + copyrightInfoURL={http://www.acrotex.net} +} + +\def\dps{$\hbox{$\mathfrak D$\kern-.3em\hbox{$\mathfrak P$}% + \kern-.6em \hbox{$\mathcal S$}}$} + +\universityLayout{fontsize=Large} +\titleLayout{fontsize=LARGE} +\authorLayout{fontsize=Large} +\tocLayout{fontsize=Large,color=aeb} +\sectionLayout{indent=-62.5pt,fontsize=large,color=aeb} +\subsectionLayout{indent=-31.25pt,color=aeb} +\subsubsectionLayout{indent=0pt,color=aeb} +\subsubDefaultDing{\texorpdfstring{$\bullet$}{\textrm\textbullet}} + +\widestNumber{0.00.} +%\pagestyle{empty} +%\parindent0pt\parskip\medskipamount + +\def\dps{$\mbox{$\mathfrak D$\kern-.3em\mbox{$\mathfrak P$}% + \kern-.6em \hbox{$\mathcal S$}}$} + +\frenchspacing + +\chngDocObjectTo{\newDO}{doc} +\begin{docassembly} +var titleOfManual="The AeB eCards MANUAL"; +var manualfilename="Manual_BG_Print_ecards.pdf"; +var manualtemplate="Manual_BG_Green.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 + +\selectColors{linkColor=black} +\tableofcontents +\selectColors{linkColor=webgreen} + + +%-------------- +%\usepackage{amsmath} +%\usepackage[designi,dvipsone,tight,latextoc,nodirectory,usesf]{web} +%%\usepackage[dvipsone,designi,latextoc,forpaper,nodirectory,usesf]{web} +%%\usepackage[nocorrections]{exerquiz} +%\usepackage{verbatim} +%% \usepackage{longtable,colortbl} +%% \usepackage{pifont} +%\usepackage[usecmtt]{myriadpro} + + + +%\pdfstringdefDisableCommands{\let\!\empty} + +% \setlongtables + +\def\AcroT{Acro\!\TeX}\def\cAcroT{\textcolor{blue}{\AcroT}} +\def\AcroEB{\AcroT{} eDucation Bundle}\def\cAcroEB{\textcolor{blue}{\AcroEB}} +\def\AcroB{\AcroT{} Bundle}\def\cAcroB{\textcolor{blue}{\AcroB}} +\def\bUrl{http://www.math.uakron.edu/~dpstory} + +\hypersetup{linktocpage} + +%\newenvironment{sverbatim} +%{\par\footnotesize\verbatim}{\endverbatim\noindent} +% +%\newcommand\redpoint{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi +%\vskip\medskipamount\noindent +% \makebox[\parindent][l]{\large\color{red}$\blacktriangleright$}} +%\newcommand\handpoint{\par\ifdim\lastskip>0pt\relax\vskip-\lastskip\fi +%\vskip\medskipamount\noindent +% \makebox[\parindent][l]{\large\color{blue}\ding{042}}} + +%\newcommand{\cs}[1]{\texttt{\char`\\#1}} + + +%\begin{document} +% +%\maketitle +%\tableofcontents + +\section{Introduction} + +The initial version of this package was developed at the request of my colleague, Dr.\ Thomas +Price for use in the senior honors project of Ms.\ Katie Jones on +\href{http://www.math.uakron.edu/~teprice/Trig/}{Trig Flash Cards}. +Upon completion of the honors project, I generalized and extended +the original package developed specifically for them. + +Version~2.0 (2016/07/20) of \app{eCards} brings the package up to date with +the \pkg{exerquiz} package, which has undergone considerable revision since +\app{eCards} first appeared. The only changes in the package is its name, the +package name is \texttt{ecards} rather than \app{eCards}, also, +\pkg{exerquiz} package dated 2016/04/18 or later is required. + +\section{Overview} + +We give a graphical overview of \app{eCards} using the demonstration file +\texttt{ecardstst.tex}. There are three types of pages, excluding the cover +page: the question page, the hint page, and the answer page. + +\begin{figure}[htb] +\hskip-62.5pt\begin{minipage}{\linewidth+62.5pt} +\centering +\includegraphics[width=.32\linewidth]{graphics/ecardstst-panel-ques}\hfill +\includegraphics[width=.32\linewidth]{graphics/ecardstst-panel-hint}\hfill +\includegraphics[width=.32\linewidth]{graphics/ecardstst-panel-ans}\hfill + \caption{The question, hint, and answer pages with panel}\label{fig:ecards-pan} +\end{minipage} +\end{figure} + +\hyperref[fig:ecards-pan]{Figure~\ref*{fig:ecards-pan}} shows the demonstration document using the +\opt{rightpanel} option; the user navigates through the document by pressing +the links labeled `Hint', `Soln', `Next', and `Prev'. + +Using the \opt{usetemplates} option instead of \opt{rightpanel} renders the +same pages as shown in \hyperref[fig:ecards-nopan]{Figure~\ref*{fig:ecards-nopan}}. + +\begin{figure}[htb] +\hskip-62.5pt\begin{minipage}{\linewidth+62.5pt} +\centering +\includegraphics[width=.32\linewidth]{graphics/ecardstst-nopanel-ques}\hfill +\includegraphics[width=.32\linewidth]{graphics/ecardstst-nopanel-hint}\hfill +\includegraphics[width=.32\linewidth]{graphics/ecardstst-nopanel-ans}\hfill + \caption{The question, hint, and answer pages with no panel}\label{fig:ecards-nopan} +\end{minipage} +\end{figure} + +In the case of \opt{usetemplates}, +\hyperref[fig:ecards-nopan]{Figure~\ref*{fig:ecards-nopan}}, the user works +through the cards using the navigation icons in to footer of the page. + +When the \opt{listing} option is used along with the \opt{forpaper} option, a +document suitable for printing is produced. The document contains the +questions, hints, and solutions for the document author to conveniently +review. This document is shown in \hyperref[fig:ecards-listing]{Figure~\ref*{fig:ecards-listing}}. + +\begin{figure}[htb]\centering\setlength{\fboxsep}{0pt}\fbox +{\includegraphics[width=.67\linewidth]{graphics/ecardstst-listing}} + \caption{The cards with the \texttt{listing} option}\label{fig:ecards-listing} +\end{figure} + +\section{Documentation} + +In this section, the major elements of this package are highlighted. For those +who want to know more, you can peruse the {\LaTeX} code, there are comments +contained there as well. The document \texttt{ecardstst.tex} illustrates +most of what you need to know for creating your own electronic flash cards. + +\subsection{Preamble: Required packages and options} + +\subsubsection{Required packages} + +This package depends heavily on the +\textbf{\href{http://www.math.uakron.edu/~dpstory/webeq.html} +{Acro\negthinspace\TeX{} eDucation Bundle}}: (1) the \pkg{web} package +provides page setup, backgrounds, and navigational elements; (2) the +\pkg{exerquiz} package (dated 2016/04/18 or later) allows you to author the +questions, both non-responsive and responsive (fill-in and multiple choice); +and (3) the \pkg{insdljs} packages is the mechanism for introducing +document-level JavaScripts into the final document. + +\subsubsection{Drivers} + +The supported drivers are the same as those supported by \pkg{exerquiz}: +\texttt{dvipsone}, \texttt{dvips}, \texttt{pdftex}, and \texttt{xetex}. + +A typical set of packages used for on screen presentation: +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\usepackage[!ameta(driver_option),tight,rightpanel]{web} +\usepackage[!ameta(options)]{exerquiz} +\usepackage[!ameta(options)]{ecards} +\end{Verbatim} +where \ameta{driver\_option} is any of the drivers listed above; +\texttt{pdftex} and \texttt{xetex} are automatically detected so they need +not be specified; if the driver option \texttt{dvips} is specified in the +\texttt{web.cfg}, it need not be specified either. + +\paragraph*{A note on \app{xetex}.} +The \app{xetex} application may be set to strip out named destinations that +are not referenced within the document as a target of a `hard-wired' link. +The \pkg{ecards} package sets a lot of destinations (or targets) but, in many +instances, `dynamic' links are employed using the JavaScript method +\texttt{\textsl{Doc}.gotoNamedDest(\ameta{target})}. In such instances, +\app{xetex} may strip out these targets; the link or button action may not +perform the jump to the destination because the destination does not exist. +If this becomes an issue for your \app{xetex} installation, the +\textbf{\app{Dvipdfmx} Compatibility Flags} needs to be modified. Search for +the configuration file \texttt{dvipdfmx.cfg}, open the file. Scroll down to +the line `\texttt{\%C 0x0000}', beneath it insert `\texttt{C 0x0010}', save +and close the file.\footnote{MiK\TeX{} discourages the direct editing of the +file \texttt{dvipdfmx.cfg}, instead, on the command-line prompt type and +execute `\texttt{initexmf -{}-edit-config-file dvipdfmx}' enabling you to edit +a local version of the configuration file as described above.} The +documentation for this bit field is just above the referenced line and an +explanation of the `\texttt{C 0x0010}' setting is given. + + +\subsubsection{Options} + +\paragraph*{\app{eCards} options.}\hskip-\lastskip\ +The \pkg{ecards} package really has only 4 options: +\begin{enumerate} + \item \texttt{nohints}: If you do not want to provide hints in your \app{eCards}, + use this option. See also the comments in \Nameref{hint}. + + The default is to provide and display hints to each card; when + \opt{nohints} is specified in the option list of \pkg{ecards}, no + hints provided becomes the default. + + Whether hints are provided or not can be overridden in two ways: + through the optional argument of the \env{card} environment + (\autopageref{ss:cardEnv}), and through the commands listed next. +\bVerb\takeMeasure{\string\useNoHints\quad\string\useHints}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\useNoHints!quad\useHints +\end{dCmd} +\eVerb The commands are used between \env{card} environments to change the +default usage of hints. When hints are \emph{not provided}, a simple message +defined by the command \cs{noHintProvided} (see \autopageref{noHintProvided}) appears on the hint page. + + \item \texttt{listing}:\label{listing} This option gives you a printable version of your + \app{eCards}. In this way, you can proofread, check your questions, hints, + and answers. Suggested packages and options are given below: +\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()] +\usepackage[!ameta(driver_option),forpaper]{web} +\usepackage[solutionsafter,proofing]{exerquiz} +\usepackage[listing]{ecards} +\end{Verbatim} +This option sets the Boolean \cs{ifecListing} to true; this Boolean is used +to define optional content. Read \Nameref{ss:cardEnv} for an example of +using \cs{ifecListing}. + +Refer to \hyperref[fig:ecards-listing]{Figure~\ref*{fig:ecards-listing}} + for a depiction of an \app{eCards} document under the \opt{listing} + option. + \item \texttt{memLogo}: The logo, if any, is read and re-read + for each page on which it appears. Using this option, the logo + is read once and saved in a box for use. + \item \texttt{custom}: If this option is included in the option list, the + package looks for and inputs the file \texttt{ecard.cus}. This file + can be used to customize the environments. This file should be kept + in the source directory, not in the {\LaTeX} search path. +\end{enumerate} + +\paragraph*{Other options.} +Selecting the various options of the \textsf{web} and +\textsf{exerquiz} packages can give you different looks. It is +important to be aware of all the options associated with these +two package; in the paragraphs below, various options are +discussed that may be useful in \app{eCards}. + +\subparagraph*{Useful \pkg{web} package options.} +There are three background/\penalty0panel options; these are \texttt{usetemplates}, +\texttt{rightpanel} and \texttt{leftpanel}. + +Using the \texttt{usetemplates} option does not give you the vertical +navigation panel, but it does provide background colors; the +\texttt{rightpanel} and \texttt{leftpanel} given you a vertical panel on the +right and left, respectively. Use one of these three options only, if any at +all. Using none of these three will just get you the default white +background. See the {\AEB} documentation for details. + +There are certain ``standard'' page designs, or you can create your own using +the \cs{margins} and \cs{screensize}; the demo document has +\begin{Verbatim} + \margins{.25in}{.25in}{24pt}{.25in} % left,right,top, bottom + \screensize{3.72in}{366.24bp} % height, width +\end{Verbatim} +See the \pkg{web} package documentation for details on these and other +options. + +\subparagraph*{Useful \pkg{exerquiz} package options.} +If you are not using multiple choice or fill-in questions, you should use +the \texttt{exercisesonly} option. This removes much of the document level JavaScript +from the PDF document. + +For authors that use the full Acrobat~5.0, or the newer Acrobat +6.0 Standard or Acrobat 6.0 Professional, you can use the +\texttt{execJS} option. If this option is taken, then when the +document is first loaded into Acrobat (following distillation, or +creation using \textsf{dvipdfm} or \textsf{pdftex}), the document +will be automatically saved; this saves any imported document +level JavaScript in the document. The document always needs to be saved +after creation so save the scripts with the document, this does it automatically +so you can't forget to do it---as one of my colleagues once did. + +The \texttt{nosolutions} option removes the \texttt{response} environment +leaving only the questions. The \texttt{proofing} and \texttt{preview} options +can be useful for proofreading, as described in the \texttt{\hyperref[listing]{listing}} +option described above. + +\subsubsection{Original customization commands}\label{ss:origCus} + +The \app{eCards} defines several (text) commands, there are listed here: +\begin{itemize} +\item \cs{cardsFinishedMsg}: When the user has reviewed all the electronic flash cards, + an alert dialog appears with a message. The contents of the message are defined by + this command. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\cardsFinishedMsg{You've seen all the cards!} +\end{Verbatim} + +\item \cs{cardColor}, \cs{hintColor}, and \cs{solnColor}: The background colors of various pages. +The defaults are +\begin{Verbatim}[xleftmargin=\amtIndent] +\cardColor{vlightblue} +\hintColor{cornsilk} +\solnColor{webyellow} +\end{Verbatim} +Additionally, \cs{textBgColor} command is used to define the default +background color (of the \pkg{web} package). This will be the color of the +first page, the default is \cs{textBgColor\darg{cornsilk}}. The panel +background is controlled by the \pkg{web} command \cs{panelBgColor}; for +example, \cs{panelBgColor\darg{logoblue}}. + +\item \cs{ecLogo}: The logo emblem that would appear in the upper portion of the vertical + navigational strip. This assumes you are using either the \texttt{rightpanel} or + \texttt{leftpanel} option for \textsf{web}. The default is +\begin{Verbatim}[xleftmargin=\amtIndent] +\ecLogo{\includegraphics[scale=.4]{graphics/uakron}} +\end{Verbatim} +As you can see, the argument of this command is a graphic command, usually the command +\cs{includegraphics} from the \textsf{graphicx} package. + +\item \cs{ecLogoLink}: This is the URL of the link destination that will be placed + around the logo. The default is an empty address, in this case, no link is placed + around the logo emblem. An example of usage: +\begin{Verbatim}[xleftmargin=\amtIndent] +\ecLogoLink{http://www.uakron.edu/} +\end{Verbatim} + +\item \cs{ecHomePage}: This is the URL to a page. This will be used as a link destination + of the `Home' button seen on the first page of the \app{eCards} document. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\ecHomePage{http://www.math.uakron.edu/~dpstory/acrotex.html} +\end{Verbatim} + +\item \cs{noHintJSAction}: When there are no hints (the document author has taken the +option \texttt{nohints}, the `hints' button is grayed out, but still functional, with +no JavaScript action. You can add some action to this button through this command. +An example of usage is +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\renewcommand\noHintJSAction{app.alert("No hints provided!")} +\end{Verbatim} +\end{itemize} +\hyperref[s:addiCus]{Section~\ref*{s:addiCus}} lists more customization +commands, available with version~2 or later of \app{eCards}. + +\subsection{\texorpdfstring{\protect\cs{begin\{document\}}} +{\textbackslash{begin\{document\}}}: Start creating cards} + +The process of creating these electronic cards is quite simple, the sections below +describe the \texttt{card}, \texttt{response}, \texttt{hint} and \texttt{answers} environments. + +\subsubsection{The \texttt{card} environment}\label{ss:cardEnv} + +The main environment is the \texttt{card} environment, which is used for posing +questions, offering a hint, and an answer. The \hypertarget{cardsyntax}{syntax} is, +\bVerb\takeMeasure{\string\begin\darg{card}[hint|nohint]}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\begin{card}[hint|nohint] + !ameta(a question) + \begin{response} + \begin{hint} + !ameta(a hint) + \end{hint} + \begin{answer} + !ameta(an answer) + \end{answer} + \end{response} +\end{card} +\end{dCmd} +\eVerb The optional parameter takes one of two keys, +\texttt{hint} or \texttt{nohint}. Normally, each question contains a hint, +but there is an option, \texttt{nohints}, for declaring that no hints are to +be used for the question. You can pass one of these two parameters into the +\texttt{card} environment to declare there is a hint for this question (in +the case \texttt{nohints} is selected as an option), or to declare there is +no hint for this question (in the case \texttt{nohints} \emph{is not} an +option). If no parameter is passed, it is assumed the question has a hint, +unless the \texttt{nohints} option is used, in which case it is assumed the +question has no hint. + +Below is the first \env{card} environment for \texttt{ecardstst.tex} showing the nesting +of the \env{card}, \env{response}, \env{hint}, and \env{answer} environments. +\begin{Verbatim}[xleftmargin=\amtIndent,fontsize=\small] +\begin{card} + Who was the first President of the United States? +\begin{response} + \begin{hint} + Legend has it, he chopped down the cherry tree and + couldn't tell a lie. + \end{hint} + \begin{answer} + \ifecListing + George Washington (1789-1797) + \else\centering + \includegraphics[scale=.4]{presidents/gw1}\\ + George Washington\\ + 1789-1797 + \fi + \end{answer} +\end{response} +\end{card} +\end{Verbatim} +The role of \cs{ifecListing} is also shown in the above verbatim listing. +When \opt{listing} is specified, there is no need for the graphic; we use a +text phrase instead. + + +\newtopic\noindent\textbf{\textcolor{red}{Important.}} You can pose a question which requires +a verbal response, or one for which there is a choice of +alternatives, or a fill-in the blank (math or text). See the demo +file \texttt{ecardstst.tex} for examples. + +\subsubsection{The \texttt{response} environment} + +Immediately following and nesting within the \env{card} environment is the +\env{response} environment. This sets things up for the responses to the +question: the hint and the answer. + +\subsubsection{The \texttt{hint} environment}\label{hint} + +The first environment to appear within the \texttt{response} is +the \env{hint} environment. Here you can provide additional +information to help the student answer the question successfully. +I've posed a multiple choice or fill-in question, you can simply +copy the multiple choice or fill-in into the hint, just as I have done +in the demo file \texttt{ecardstst.tex}. + +In this release, hints can be provided for \textbf{all} of the questions or +for \textbf{none} of the questions. You can enter hints using the \env{hint} +environment, illustrated \hyperlink{cardsyntax}{above}, or not include a +\env{hint} environment. When you do not want to include hints---whether +you've entered the environments or not---use the \opt{nohints} package +option. This will convert the \env{hint} environment into a \texttt{comments} +environment, and redefine some of the navigational buttons. + +\subsubsection{The \texttt{answer} environment} + +After the \env{hint} environment comes the answer environment where the answer to +the original question can be presented. At the end of this environment, you +need to back out of the nested environments: \cs{end\darg{answer}}, +\cs{end\darg{response}} and \cs{end\darg{card}}. + +\subsection{\texorpdfstring{\protect\cs{end\{document\}}}{\textbackslash{end\{document\}}}} + +That's the end! Once you have completed your \app{eCards} file, you are +ready to create your \app{eCards} PDF document! +%The \app{eCards} package supports PDF +%creation using any of the following methods: +%\begin{enumerate} +% \item $\text{\texttt{.tex}}\mapsto\text{\texttt{.dvi}}\mapsto\text{\texttt{.ps}}\mapsto\text{\texttt{.pdf}}$. +% This route uses the \texttt{dvipsone} or \texttt{dvips} option +% (for the \textsf{web} package), followed by the use of the +% Acrobat Distiller (Version 5.0 or later suggested). +% \item $\text{\texttt{.tex}}\mapsto\text{\texttt{.dvi}}\mapsto\text{\texttt{.pdf}}$. Here, you latex the +% document, then hit the result using \textsf{dvipdfm}. Naturally, you would use the \texttt{dvipdfm} +% option with the \textsf{web} package. +% \item $\text{\texttt{.tex}}\mapsto\text{\texttt{.pdf}}$. Here, you use the \texttt{pdftex} option +% of \textsf{web}, and \textsf{pdflatex} the document. +%\end{enumerate} + + +\subsection{Additional customization commands}\label{s:addiCus} + +Version~2.0 or later has a number of commands designed to customize the look of \app{eCards} without +having to redefine some of the environments. + +\subsubsection{The question page} + +In addition to \cs{cardColor}, described briefly in \Nameref{ss:origCus}, the following are also defined +on the question page. +\bVerb\takeMeasure{\string\ecAfterQuesSkip\darg{\ameta{skip}}}% +\edef\x{\the\wd\webtempboxi}% +\def\1{\hbox to0pt{\hskip\x\relax\quad\normalfont(\texttt{.25in})\hss}}% +\def\2{\hbox to0pt{\hskip\x\relax\quad\normalfont(\texttt{.85\string\linewidth})\hss}}% +\takeMeasure{\string\renewcommand\darg{\string\ecQUESTION}\darg{\string\textbf\darg{QUESTION}}}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\renewcommand{\ecQUESTION}{\textbf{QUESTION}} +!1\ecAfterQuesSkip{!ameta(skip)} +!2\ecQuesWidth{!ameta(length)} +\end{dCmd} +\eVerb The \cs{ecQUESTION} command defines the title for the question page; +the default definition is given. Beneath \cs{ecQUESTION} is a vertical space +of \ameta{skip} determined by the argument of \cs{ecAfterQuesSkip}, its +default is given in parenthesis. The content of the question page is +contained in a minipage of width \ameta{length} determined by the argument of +\cs{ecQuesWidth}, its default value is given in parenthesis. + +\subsubsection{The hint page} + +In addition to \cs{hintColor}, described briefly in \Nameref{ss:origCus}, the following are also defined +on the hint page. +\bVerb\takeMeasure{\string\ecAfterHintSkip\darg{\ameta{skip}}}% +\edef\x{\the\wd\webtempboxi}% +\def\1{\hbox to0pt{\hskip\x\relax\quad\normalfont(\texttt{.25in})\hss}}% +\def\2{\hbox to0pt{\hskip\x\relax\quad\normalfont(\texttt{.85\string\linewidth})\hss}}% +\takeMeasure{\string\ecAfterHintSkip\darg{\ameta{skip}}\quad\normalfont(\texttt{.85\string\linewidth})}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\renewcommand{\ecHINT}{\textbf{HINT}} +!1\ecAfterHintSkip{!ameta(skip)} +!2\ecHintWidth{!ameta(length)} +\end{dCmd} +\eVerb The \cs{ecHINT} command defines the title for the hint page; +the default definition is given. Beneath \cs{ecHINT} is a vertical space +of \ameta{skip} determined by the argument of \cs{ecAfterHintSkip}, its +default is given in parenthesis. The content of the question page is +contained in a minipage of width \ameta{length} determined by the argument of +\cs{ecHintWidth}, its default value is given in parenthesis. + + + +When there is no hint provided, the content of the \env{hint} environment is +not displayed, in its place the command \cs{noHintProvided} is expanded. The +default definition of which is given below.\phantomsection\label{noHintProvided} +\bVerb\takeMeasure{\string\renewcommand\darg{\string\noHintProvided}\darg{No hint provided for this question.}}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\renewcommand{\noHintProvided}{No hint provided for this question.} +\end{dCmd} +\eVerb The command may be redefined as desired in the preamble. + +\subsubsection{The answer page} + +In addition to \cs{solnColor}, described briefly in \Nameref{ss:origCus}, the following are also defined +on the answer page. +\bVerb\takeMeasure{\string\ecAfterAnsSkip\darg{\ameta{skip}}}% +\edef\x{\the\wd\webtempboxi}% +\def\1{\hbox to0pt{\hskip\x\relax\quad\normalfont(\texttt{.25in})\hss}}% +\def\2{\hbox to0pt{\hskip\x\relax\quad\normalfont(\texttt{.85\string\linewidth})\hss}}% +\takeMeasure{\string\ecAfterAnsSkip\darg{\ameta{skip}}\quad\normalfont(\texttt{.85\string\linewidth})}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\renewcommand{\ecANS}{\textbf{ANSWER}} +!1\ecAfterAnsSkip{!ameta(skip)} +!2\ecAnsWidth{!ameta(length)} +\end{dCmd} +\eVerb The \cs{ecANS} command defines the title for the answer page; +the default definition is given. Beneath \cs{ecANS} is a vertical space +of \ameta{skip} determined by the argument of \cs{ecAfterAnsSkip}, its +default is given in parenthesis. The content of the answer page is +contained in a minipage of width \ameta{length} determined by the argument of +\cs{ecAnsWidth}, its default value is given in parenthesis. + +\subsubsection{The navigation icons} + +The navigation icons have labels on them, which may be redefined for language +localization. The labels are defined through the arguments of the commands +below. The arguments given are the default (English) declarations. + +\bVerb\takeMeasure{\string\ecHintSolnLabel\darg{Soln} \string\ecRandomLabel\darg{Random}}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\ecSolnLabel{Soln} \ecBeginLabel{Begin} +\ecHintLabel{Hint} \ecHomeLabel{Home} +\ecNextLabel{Next} \ecFinHomeLabel{Home} +\ecPrevLabel{Prev} \ecFSLabel{FS} +\ecHintNextLabel{Next} \ecCloseLabel{Close} +\ecHintSolnLabel{Soln} \ecRandomLabel{Random} +\end{dCmd} +\eVerb The meaning of these commands, it is hoped, is self-evident. + +The size of the icons are determined by four commands. +\bVerb\takeMeasure{\string\renewcommand\string\iconWidthPanel\darg{28pt}}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\renewcommand\iconWidth{40pt} +\renewcommand\iconHeight{15pt} +\renewcommand\iconWidthPanel{28pt} +\renewcommand\panelGrpWidth{57pt} +\end{dCmd} +\bVerb \cs{iconWidth} and \cs{iconHeight} set the dimensions of the +navigation icons when a panel option is not taken; \cs{iconWidthPanel} and +\cs{iconHeight} are the dimensions of the icons when they appear in the panel. +The \cs{panelGrpWidth} is the overall width of the group of icons in the +panel. + +\subsubsection{The \texttt{listing} option} + +There are some minor formatting commands that take effect when the +\opt{listing} option is used. +\bVerb\takeMeasure{\string\renewcommand\darg{\string\leadAnsFmtForPaper}\darg{\string\textbf\darg{Ans:\string\thinspace[}}}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\renewcommand{\leadAnsFmtForPaper}{\textbf{Ans:\thinspace[}} +\renewcommand{\trailAnsFmtForPaper}{\textbf{]}} +\end{dCmd} +\bVerb The effects of this formatting is seen in +\hyperref[fig:ecards-listing]{Figure~\ref*{fig:ecards-listing}}; look for the bold +\texttt{Ans:} in question~4. To remove this formatting, simply redefine the +two commands +\begin{Verbatim}[xleftmargin=\amtIndent] +\renewcommand{\leadAnsFmtForPaper}{} +\renewcommand{\trailAnsFmtForPaper}{} +\end{Verbatim} +No formatting was the standard for \app{eCards} prior to version~2.0. + +\subsubsection{Alert messages} + +Several alert boxes appear in response to pressing buttons or links, we list +some of the more important ones. All redefinitions must occur in the preamble +of the document. +\bVerb\takeMeasure{\string\renewcommand\string\eqsqrtmsg\darg{"Right!"}}% +\begin{dCmd}[commandchars=*()]{\bxSize} +\renewcommand\eqsqrtmsg{"Right!"} +\renewcommand\eqsqwgmsg{"Wrong!"} +\end{dCmd} +\bVerb The above two definitions are from \pkg{exerquiz}, they are the message that appears (in an alert box) +to indicate to the user that his/her response is correct or wrong. + +\bVerb\takeMeasure{\string\renewcommand\darg{\string\nonrandomizedMsg}\darg{The cards will be delivered}}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\cardsFinishedMsg{You've seen all the cards!} +\renewcommand{\pressBeginMsg}{Press the \"Begin\" button to + begin viewing the cards.} +\renewcommand{\randomizedMsg}{The cards will be delivered + to you in random order.} +\renewcommand{\nonrandomizedMsg}{The cards will be delivered + to you in their natural order.} +\end{dCmd} +\bVerb The first message appears when the user has gone through all the +cards. The second message appears when the user does not press the +``\textsf{Begin}'' button. The third and fourth inform the user the state of +the delivery of the cards; one of these messages appear when the state of the +``\textsf{Random}'' checkbox is changed. + +\subsubsection{Miscellaneous customizations} + +The ``\textsf{Random}'' checkbox has a tooltip message that can be +customized. Below is the default message. +\bVerb\takeMeasure{\string\renewcommand\darg{\string\toggleRandomizeTU}\{Click to toggle between}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\renewcommand{\toggleRandomizeTU}{Click to toggle between + random and natural order.} +\end{dCmd} +\bVerb + +\subsubsection{\texorpdfstring{\protect\pkg{web}}{web} customizations} + +The \pkg{web} package has may commands for modifying the look of the PDF page. The author is +referred to the {\AEB} manual for details. + +%\revisionLabel and \versionLabel + + +\bigskip\noindent +Go to it, and be creative and enjoy! Now, back to my retirement. \dps + +\end{document} + +\bVerb\takeMeasure{\string\begin\darg{card}[hint|nohint]}% +\begin{dCmd}[commandchars=!()]{\bxSize} +\begin{card}[hint|nohint] + !ameta(a question) + \begin{response} + \begin{hint} + !ameta(a hint) + \end{hint} + \begin{answer} + !ameta(an answer) + \end{answer} + \end{response} +\end{card} +\end{dCmd} +\eVerb diff --git a/macros/latex/contrib/ecards/ecard.cus b/macros/latex/contrib/ecards/ecard.cus new file mode 100644 index 0000000000..07ae32b6bb --- /dev/null +++ b/macros/latex/contrib/ecards/ecard.cus @@ -0,0 +1,9 @@ +% Customize to your heart's content in this file. +% Here is a simple example. When the listing option is taken change "Hint" to +% "Try This!". +\ifecListing +\renewcommand{\listing@headHint} +{% + \par\textit{Try this}!\space\ignorespaces +} +\fi diff --git a/macros/latex/contrib/ecards/ecards.dtx b/macros/latex/contrib/ecards/ecards.dtx new file mode 100644 index 0000000000..7eda9651c1 --- /dev/null +++ b/macros/latex/contrib/ecards/ecards.dtx @@ -0,0 +1,1331 @@ +%\iffalse +%<*copyright> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% ecards.sty package, %% +%% Copyright (C) 1999-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}[1997/12/01] +%<package>\ProvidesPackage{ecards} +%<package> [2016/09/03 v2.0e eCards: An electronic flash cards package (dps)] +%<*driver> +\documentclass{ltxdoc} +\usepackage[colorlinks,hyperindex=false]{hyperref} +%\pdfstringdefDisableCommands{\let\\\textbackslash} +\OnlyDescription % comment out for implementation details +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\InputIfFileExists{aebdocfmt.def}{\PackageInfo{ecards}{Inputting aebdocfmt.def}} + {\def\IndexOpt{\DescribeMacro}\def\IndexKey{\DescribeMacro}\let\setupFullwidth\relax + \PackageInfo{ecards}{aebdocfmt.def cannot be found}} +\let\pkg\textsf +\let\env\texttt +\begin{document} + \GetFileInfo{ecards.sty} + \title{eCards: Electronic Flash Cards} + \author{D. P. Story\\ + Email: \texttt{dpstory@uakron.edu}} + \date{processed \today} + \maketitle + \tableofcontents + \let\Email\texttt + \DocInput{ecards.dtx} +\IfFileExists{\jobname.ind}{\newpage\setupFullwidth\par\PrintIndex}{\paragraph*{Index} The index goes here.\\Execute + \texttt{makeindex -s gind.ist -o ecards.ind ecards.idx} on the command line and recompile + \texttt{ecards.dtx}.} +\IfFileExists{\jobname.gls}{\PrintChanges}{\paragraph*{Change History} The list of changes goes here.\\Execute + \texttt{makeindex -s gglo.ist -o ecards.gls ecards.glo} on the command line and recompile + \texttt{ecards.dtx}.} +\end{document} +%</driver> +% \fi +% \MakeShortVerb{|} +% \InputIfFileExists{aebdonotindex.def}{\PackageInfo{web}{Inputting aebdonotindex.def}} +% {\PackageInfo{web}{cannot find aebdonotindex.def}} +% \DoNotIndex{\kern} +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \changes{v2.0e}{2016/09/03}{Improved documentation in \string\texttt{ecardsman.pdf}} +% +% \section{Introduction} +% +% The initial version of this package was developed at the request of +% my colleague, Dr.\ Thomas Price, for use in the senior honors +% project of Ms.\ Katie Jones on +% \href{http://www.math.uakron.edu/~teprice/Trig/}{Trig Flash Cards}. +% Upon completion of the honors project, I generalized and extended +% the original package developed specifically for them. +% +% \section{Documentation} +% +% In this section, the major elements of this package are highlighted. For those +% who want to know more, you can peruse the {\LaTeX} code, there are comments +% contained there as well. +% +% \subsection{Preamble: Required Packages and Options} +% +% \subsubsection{Required Packages} +% +% This package depends heavily on the +% \textbf{\href{http://www.math.uakron.edu/~dpstory/webeq.html} +% {Acro\negthinspace\TeX{} eDucation Bundle}}: (1) the \textsf{web} +% package provides page setup, backgrounds, and navigation +% elements; (2) the \textsf{exerquiz} package allows you to author +% the questions, both non-responsive and responsive (fill-in and +% multiple choice); and (3) the \textsf{insdljs} packages is the +% mechanism for introducing document-level JavaScripts into the +% final document. +% +% Each of the packages listed above have their own required packages: +% \textsf{hyperref}, \textsf{color}, \textsf{verbatim}, \textsf{everyshi} +% and \textsf{eso-pic}. Theses are all available as part of the standard +% distribution of {\LaTeX} or through any CTAN site. +% +% \subsubsection{Options} +% +% \paragraph{eCards options.}\hskip-\lastskip\ +% The \textsf{eCards} package really has only 4 options: +% \begin{enumerate} +% \item \texttt{nohints}: If you do not want to provide hints in your eCards, +% use this option. See also the comments in \Nameref{hint}. +% \item \texttt{listing}:\label{listing} This option gives you a printable version of your +% eCards. In this way, you can proofread, check your questions, hints, +% and answers. Suggested packages and options are given below: +%\begin{verbatim} +%\usepackage[<driver_option>,forpaper,tight,nodirectory]{web} +%\usepackage[solutionsafter,proofing,preview]{exerquiz} +%\usepackage[listing]{eCards} +%\end{verbatim} +% \item \texttt{memLogo}: The logo, if any, is read and re-read +% for each page on which it appears. Using this option, the logo +% is read once and saved in a box for use. +% \item \texttt{custom}: If this option is chosen, the package +% will look for and input a file \texttt{ecard.cus}. This file can +% be used to customize the environments. This file should be kept +% in the source directory, not in the {\LaTeX} search path. +% \end{enumerate} +% +% \paragraph{Other options.}\hskip-\lastskip\ +% Selecting the various options of the \textsf{web} and +% \textsf{exerquiz} packages can give you different looks. It is +% important to be aware of all the options associated with these +% two package; in the paragraphs below, various options are +% discussed that may be useful in \textsf{eCards}. +% +%\paragraph{Useful Web Package Options.}\hskip-\lastskip\ +% There are three background/panel options: \texttt{usetemplates}, +% \texttt{rightpanel} and \texttt{leftpanel}. Using the +% \texttt{usetemplates} option does not give you the vertical +% navigation strip, but it does give you the background colors; +% the \texttt{rightpanel} and \texttt{leftpanel} given you a +% vertical panel on the right and left, respectively. Use one of +% these three options only, if any at all. Using none of these three +% will just get you the default white background. +% +%There are certain ``standard'' page designs, or you can create your own using +%the \cs{margins} and \cs{screensize}; the demo document has +%\begin{verbatim} +%\margins{.25in}{.25in}{24pt}{.25in} % left,right,top, bottom +%\screensize{3.72in}{366.24bp} % height, width +%\end{verbatim} +% See the \textsf{Web} package documentation for details on these and other +% options. +% +% \paragraph{Useful Exerquiz Package Options.}\hskip-\lastskip\ +% If you are not using multiple choice or fill-in questions, you should use +% the \texttt{exercisesonly} option. This removes much of the document level JavaScript +% from the PDF document. +% +% For authors that use the full Acrobat~5.0, or the newer Acrobat +% 6.0 Standard or Acrobat 6.0 Professional, you can use the +% \texttt{execJS} option. If this option is taken, then when the +% document is first loaded into Acrobat (following distillation, or +% creation using \textsf{dvipdfm} or \textsf{pdftex}), the document +% will be automatically saved; this saves any imported document +% level JavaScript in the document. The document always needs to be saved +% after creation so save the scripts with the document, this does it automatically +% so you can't forget to do it---as one of my colleagues once did. +% +% The \texttt{nosolutions} option removes the \texttt{response} environment +% leaving only the questions. The \texttt{proofing} and \texttt{preview} options +% can be useful for proofreading, as described in the \texttt{\hyperref[listing]{listing}} +% option described above. +% +% \subsection{\texorpdfstring{\protect\cs{begin\{document\}}}{\textbackslash begin\{document\}}: Start creating Cards} +% +% The process of creating these electronic cards is quite simple, the sections below +% describe the various environments used. +% +% \subsubsection{The \texttt{card} Environment} +% +% The main environment is the \texttt{card} environment, which is used for posing +% questions, offering a hint, and an answer. The \hypertarget{cardsyntax}{syntax} is +%\begin{verbatim} +%\begin{card} +% < a question > +% \begin{response} +% \begin{hint} +% < a hint > +% \end{hint} +% \begin{answer} +% < an answer > +% \end{answer} +% \end{response} +%\end{card} +%\end{verbatim} +% \textcolor{red}{Important.} You can pose a question which requires +% a verbal response, or one for which there is a choice of +% alternatives, or a fill-in the blank (math or text). See the demo +% file \texttt{ecardstst.tex} for examples. +% +% \subsubsection{The \texttt{response} Environment} +% +% Immediately following and nested within the \texttt{card} environment is the \texttt{response} +% environment. This sets things up for the responses to the question: the hint +% and the answer. +% +% \subsubsection{The \texttt{hint} Environment}\label{hint} +% +% The first environment to appear within the \texttt{response} is +% the \texttt{hint} environment. Here you can provide additional +% information to help the student answer the question successfully. +% I've you've posed a multiple choice or fill-in question, you can simply +% copy the multiple choice or fill-in into the hint, just as I have done +% in the demo file \texttt{ecardstst.tex}. +% +% In this release, hints can be provided for \textbf{all} of the questions or for +% \textbf{none} of the questions. You can enter hints using the +% \texttt{hint} environment, illustrated \hyperlink{cardsyntax}{above}, or not include a +% \texttt{hint} environment. When you do not want to include +% hints---whether you've entered the environments or not---use the +% \texttt{nohints} package option. This will convert the +% \texttt{hint} environment into a \texttt{comments}, and redefined +% some of the navigation buttons. +% +% \subsubsection{\texttt{answer} Environment} +% +% After the hint environment comes the answer environment where the answer to the original question +% can be presented. At the end of this environment, you need to back out of your nest: +% \verb+\end{answer}+, \verb+\end{response}+ and \verb+\end{card}+. +% +% \subsection{\texorpdfstring{\protect\cs{end\{document\}}}{\textbackslash end\{document\}}} +% +% \section{Main Code} +% +% \subsection{Declare Options} +% +% This package builds upon the \textbf{Acro\negthinspace\TeX{} eDucation Bundle}, the options of the +% \textsf{web} and \textsf{exerquiz} packages can be used with with \textsf{eCards}. Additional options +% are declared below. +% The logo, if any, is read and re-read for each page on which it appears. Using the \texttt{memLogo}\IndexOpt{memLogo} +% option, the logo is read once and saved in a box for use. +% \begin{macrocode} +\let\ec@YES=y \let\ec@NO=n +\DeclareOption{memLogo}{\let\@memLogo\ec@YES} +\let\@memLogo\ec@NO +% \end{macrocode} +% The \texttt{listing}\IndexOpt{listing} gives a listing of questions, hints, and answers. When used in conjunction +% with various \textsf{exerquiz} options, this option can be used to review all cards and answers. +% Suggested options: +%\begin{verbatim} +%\usepackage[<driver_option>,forpaper,tight]{web} +%\usepackage[solutionsafter,proofing]{exerquiz} +%\usepackage[memLogo,listing]{ecards} +%\end{verbatim} +% The boolean switch \cs{ecListing} can be used to get a better looking listing by removing +% graphics---see the demo file \texttt{ecardstst.tex}. +% \begin{macrocode} +\DeclareOption{listing}{\ecListingtrue} +\newif\ifecListing \ecListingfalse +% \end{macrocode} +% If \texttt{custom}\IndexOpt{custom} option is chosen, the package will look for and input a file \texttt{ecard.cus}. +% This file can be used to customize the environments. This file should be kept in the +% source directory, not in the {\LaTeX} search path. +% \begin{macrocode} +\DeclareOption{custom}{\let\@ecCustom\ec@YES} +\let\@ecCustom\ec@NO +% \end{macrocode} +% In some applications, the author may not want to have hints provided, so, compile +% the document with the \texttt{nohints}\IndexOpt{nohints} option. +% \begin{macrocode} +\DeclareOption{nohints}{\def\opts@ecNoHints{nohint}% +\def\defaultecNoHints{\useNoHints}\defaultecNoHints} +\newif\ifisQues \isQuesfalse +% \end{macrocode} +% \DescribeMacro{\useNoHints} is a user accessible command for changing the default setting of whether +% to provide a hint or not. It must be expanded outside the \env{card} environment. The \cs{useNoHints} +% command starts a new page unless the \texttt{listing} option has been taken. The \cs{newpage} enables +% the navigation panel to get state of the hint correctly. +% \begin{macrocode} +\def\useNoHints{\ifecListing\else\newpage\fi\ecUseNoHints} +% \end{macrocode} +% \changes{v2.0a}{2016/07/23}{For the Hint page, changed the address to conform to what works +% in the new exerquiz, \cs{hintDest} (\string\texttt{ex\cs{exnoCard}} rather than \string\texttt{ex.\cs{exnoCard}}), +% same for \cs{solnDest}} +% Changed the destinations for \cs{hintDest} and \cs{solnDest}. +% +% The \cs{ecUseNoHints} is an ``internal'' command used within the \env{card} +% environment and in the solutions file; it is also the continuation of \cs{useNoHints}. +% \changes{v2.0d}{2016/08/02}{Added \string\cs{ecUseNoHints} and \string\cs{ecUseHints}} +% \begin{macrocode} +\def\ecUseNoHints{\ifisQues + \expandafter\def\else\expandafter\gdef\fi\opts@ecNoHints{nohint}% + \global\let\@ecNoHints\ec@YES + \gdef\hintDest{ex\exnoCard}\gdef\solnDest{ex\exnoCard.s}% + \gdef\hintDestJS{ex.\exnoCard}\gdef\quesDestJS{ex.\exnoCard}% +} +% \end{macrocode} +% \DescribeMacro{\useHints} is a user accessible command for changing the default setting of whether +% to provide a hint or not. It must be expanded outside the \env{card} environment. The \cs{useHints} +% command starts a new page unless the \texttt{listing} option has been taken. The \cs{newpage} enables +% the navigation panel to get state of the hint correctly. +% \begin{macrocode} +\def\useHints{\ifecListing\else\newpage\fi\ecUseHints} +% \end{macrocode} +% The \cs{ecUseHints} is an ``internal'' command used within the \env{card} +% environment and in the solutions file; it is also the continuation of \cs{useHints}. +% \begin{macrocode} +\def\ecUseHints{\ifisQues + \expandafter\def\else\expandafter\gdef\fi\opts@ecNoHints{hint}% + \global\let\@ecNoHints\ec@NO + \gdef\hintDest{ex\exnoCard}\gdef\solnDest{ex\exnoCard.s}% + \gdef\hintDestJS{ex.\exnoCard}\gdef\quesDestJS{qex.\exnoCard}% +} +\def\opts@ecNoHints{hint} +\def\defaultecNoHints{\useHints} +\defaultecNoHints +% \end{macrocode} +% To present the cards are presented to the user in their natural order, rather +% than in a randomized order, use the \texttt{notrandomized}\IndexOpt{notrandomized} option. +% \begin{macrocode} +\DeclareOption{notrandomized}{\def\israndomized{false} + \def\cbInitState{Off}} +\def\israndomized{true} +\def\cbInitState{randomOrder} +% \end{macrocode} +% \subsection{ProcessOptions and Required Packages} +% \begin{macrocode} +\ProcessOptions +\RequirePackage{web} +\RequirePackage{exerquiz}[2016/04/18] +% \end{macrocode} +% \subsection{String Data} +% \begin{macro}{\cardsFinishedMsg} +% When user finishes the cards, a message appears announcing that event. The +% \cs{cardsFinishedMsg} holds the content of that message. +% \begin{macrocode} +\newcommand{\cardsFinishedMsg}[1]{\def\CARDSFINISHED{#1}} +\cardsFinishedMsg{You've seen all the cards!} +% \end{macrocode} +% \end{macro} +% \subsection{Colors for Backgrounds} +% Some definitions for coloring the background page for the question page, the +% hint page and the answer page. +% \begin{macrocode} +\textBgColor{cornsilk} +\def\cardColor#1{\def\@cardColor{#1}} +\def\hintColor#1{\def\@hintColor{#1}} +\def\solnColor#1{\def\@solnColor{#1}} +% \end{macrocode} +% Default colors +% \begin{macrocode} +\cardColor{vlightblue} +\hintColor{cornsilk} +\solnColor{webyellow} +% \end{macrocode} +% \subsection{Modifying Exerquiz Environments} +% \begin{macrocode} +% \let\web@copyright\@gobble +\let\exnoCard\the@exno +\let\web@rightheader\@empty +\def\io#1{\immediate\write\@auxout{#1}} +% \end{macrocode} +% \subsubsection{Modify the \texttt{exercise} Environment} +% The \cs{endsolnexerhookaux} macro gets executed just prior to the end of the +% solution environment, but before the final trailer is written to the .sol file. Here, +% we use it to insert a navigation bar at the bottom of the solution page. +% \begin{macrocode} +\def\endsolnexerhookaux{% + \ifnum\@panelconfig=0\relax + \immediate\write\verbatim@out + {\string\insNaviBar*{\hfil\string\NextCard\string\ % + \string\PrevCard\string\ \string\ToggleOrder\hfil}}% + \fi +} +\def\include@solutions{% + \let\webnewpage\relax + \immediate\closeout\ex@solns + \ifeq@nosolutions\else + \iftherearesolutions\newpage\markright{\exsecrunhead}% + \ifx\webnewpage\relax + \def\webnewpage{\let\webnewpage\newpage}% + \fi + \eqsolutionshook + \addcontentsline{toc}{section} + {\protect\numberline{}\exsectitle}% + \input{\jobname.sol}% + \fi + \fi +} +% \end{macrocode} +% Write the total number of questions (cards) to the aux file. +% \begin{macrocode} +\AtEndDocument{\io{\string\gdef\string\totalCards{\exnoCard}}\clearpage} +% \end{macrocode} +% This macro holds the number of cards composed. +% \begin{macrocode} +\def\theNumCards{\csname totalCards\endcsname} +% \end{macrocode} +% \cs{nMarker} identifies the type of page, 0 for a question, 1 for a hint, 2 for a solution +% \begin{macrocode} +\let\ec@Zero=0 \let\ec@One=1 \let\ec@Two=2 +\def\ec@Ques{0}\def\ec@Hint{1}\def\ec@Soln{2} +\def\nMarkerSet#1{\gdef\nMarker{#1}} +\nMarkerSet\ec@Ques +% \end{macrocode} +% Redefine \cs{ReturnTo} so there is no link, we encourage the user to use the navigation +% buttons. +% \begin{macrocode} +\def\ReturnTo#1#2{\eq@fititin#2} +% \end{macrocode} +% Miscellaneous macro definitions associated with the \textsf{exercise} environment. +% \begin{macrocode} +\renewcommand\exsecrunhead{} +\renewcommand\exlabel{} +\renewcommand\exsectitle{} +% \end{macrocode} +%\changes{v2.0a}{2016/07/23}{Added modified formatting for the \string\texttt{proofing} option +% of \string\textsf{exerquiz}} +% Modified formatting for the \texttt{proofing} option of \textsf{exerquiz}. Added two new commands +% \DescribeMacro{\leadAnsFmtForPaper}\cs{leadAnsFmtForPaper} +% and \DescribeMacro\trailAnsFmtForPaper\cs{trailAnsFmtForPaper}. +% \changes{v2.0c}{2016/07/29}{Added forpaper formatting} +% \begin{macrocode} +\newcommand{\leadAnsFmtForPaper}{\textbf{Ans:\thinspace[}} +\newcommand{\trailAnsFmtForPaper}{\textbf{]}} +\def\math@correctAnswer{\unskip\ifeqforpaper\leadAnsFmtForPaper\fi + {\ttfamily\color{\@proofingsymbolColor}\spaceskip=2pt\xspaceskip=2pt + \expandafter\gobbleMacro\meaning\eqCorrectAns}% + \ifeqforpaper\trailAnsFmtForPaper\fi +} +\def\txt@correctAnswer{\unskip\ifeqforpaper\textbf{Ans:\thinspace[}\fi + {\ttfamily\color{\@proofingsymbolColor}% + \spaceskip=2pt\xspaceskip=2pt + \expandafter\gobbleTxt\meaning\rbTxtAlt}\ifeqforpaper\textbf{]}\fi +} +% \end{macrocode} +% +% \subsubsection{The \texttt{multiChoice} Environment} +% +% The \texttt{multiChoice} environment is an \texttt{answer} environment (of \textsf{exerquiz} placed within +% an \texttt{oQuestion} environment (\textsf{exerquiz}). +% +% \begin{environment}{multiChoice} +% An environment for posing a multiple choice question, based on the \texttt{shortquiz} environment +% of \textsf{exerquiz}. +% \begin{macrocode} +\newenvironment{multiChoice}[1]{\par + \if\nMarker\ec@Ques + \def\sqWrongRespJS{app.alert(\eqsqwgmsg,3); + this.gotoNamedDest("\hintDestJS");}% + \fi +% \end{macrocode} +% \changes{v2.0}{2016/07/20}{\string\cs{sq@IDTxtField} in the new \string\textsf{exerquiz} is enclosed in an \string\cs{makebox}, +% text normally follows it, but here is does not, so we'll have to compensate.} +% \changes{v2.0}{2016/07/20}{Remove \string\texttt{shortquiz} environment, replace with \string\texttt{oQuestion}} +% \cs{sq@IDTxtField} in the new \textsf{exerquiz} is enclosed in an \cs{makebox}, +% text normally follows it, but here is does not, so we'll have to compensate. +% \begin{macrocode} + \vskip-\baselineskip % dps + \begin{oQuestion}{\if\nMarker\ec@Ques\hintDest + \ifisHint.h\fi\else\solnDest\fi}% + \begin{answers}[\solnDest]{#1}% +}{% + \end{answers} + \end{oQuestion} +} +% \end{macrocode} +% \end{environment} +% +% \subsubsection{The \texttt{fillIn} Environment} +% +% The \texttt{fillIn} environment is modified \texttt{oQuestion} environment (\textsf{exerquiz}), +% within which the commands \cs{RespBoxMath} and \cs{RespBoxTxt} (\textsf{exerquiz}) are defined. +% +% Set the appearance of any text fields that the author might use. +% \begin{macrocode} +\ifecListing + \ifeq@proofing + \everyRespBoxTxt{\Ff\FfReadOnly\BG{}\BC{}} + \everyRespBoxMath{\Ff\FfReadOnly\BG{}\BC{}}\else + \everyRespBoxTxt{\BG{1 1 1}}\everyRespBoxMath{\BG{1 1 1}}\fi +\else + \everyRespBoxTxt{\BG{1 1 1}}\everyRespBoxMath{\BG{1 1 1}} +\fi +% \end{macrocode} +% \begin{environment}{fillIn} +% The \texttt{fillIn} environment one to pose a fill in type question, either +% text or math. Based on the \texttt{oQuestion} environment of \textsf{exerquiz}. +% \begin{macrocode} +\newenvironment{fillIn}{% + \def\RespBoxTxtOnBlur{ecOnBlurRespBox(retn, \exnoCard, \nMarker);}% + \begin{oQuestion}{\if\nMarker\ec@Ques\hintDest\else\solnDest\fi}% +}{\end{oQuestion}} +% \end{macrocode} +% \end{environment} +% +% \subsection{New Environments} +% \subsubsection{The \texttt{card} Environment} +% \begin{environment}{card} +% This is the main environment for writing questions, hints and answers. This environment +% encloses all. It is based on the \texttt{exercise} environment of \textsf{exerquiz}. +% \begin{macrocode} +\def\ec@isHint{hint} +\def\ec@isNoHint{nohint} +\def\ec@HintsWarning{\PackageWarning{ecards} + {The use of \string\useHints\space and \string\useNoHints + \MessageBreak is prohibited, ignoring this use}} +\def\ec@BadArgWarning{\PackageWarning{ecards} + {The argument `\ec@rgi' is not an acceptable option.\MessageBreak + Will use `hint' instead}} +\def\ecInfoToSolns{\string\def\string\exnoCard{\exnoCard}% + \string\def\string\solndest{\solnDest}% + \expandafter\string\ec@thisHintOpt + \string\nMarkerSet{\ec@Hint}\string\defineSoln} +\newenvironment{card}[1][\opts@ecNoHints]{\newpage\isQuestrue +% \end{macrocode} +% We redefine \cs{useHints} and \cs{useNoHints} to a warning message within the \env{card} +% environment. +% \begin{macrocode} + \let\useHints\ec@HintsWarning\let\useNoHints\ec@HintsWarning + \edef\ec@rgi{#1}\ifx\ec@rgi\ec@isHint + \def\ec@thisHintOpt{\ecUseHints}\else + \ifx\ec@rgi\ec@isNoHint + \def\ec@thisHintOpt{\ecUseNoHints}\else +% \end{macrocode} +% The user did not pass a recognized option (neither \texttt{hint} nor \texttt{nohint}), +% use \texttt{hint} instead and send a warning to the log. +% \begin{macrocode} + \def\ec@thisHintOpt{\ecUseHints}% + \ec@BadArgWarning + \fi + \fi + \xdef\ecLoc@lSt@te{\ec@rgi}% + \ec@thisHintOpt\nMarkerSet\ec@Ques + \def\eqexheader{\noindent}% + \renewcommand\exsllabelformat{\protect\noindent}% + \renewcommand\exrtnlabelformat{}% + \renewcommand\exsecrunhead{}% + \let\afterlabelhskip\@empty + \def\exersolnheadhook{\ecInfoToSolns}% + \begin{exercise} + \textBgColor{\@cardColor}% + \headCard +}{% + \tailCard + \end{exercise}% + \ifnum\@panelconfig=0\relax\aftergroup\cardNaviBar\fi +} +% \end{macrocode} +% \end{environment} +% \DescribeMacro\headCard\cs{headCard} determines the design of the question page. Can re-design. +% \changes{v2.0c}{2016/07/29}{Added after skips and widths for questions page} +% Use \DescribeMacro\ecAfterQuesSkip\cs{ecAfterQuesSkip} to change the vertical distance after \textbf{QUESTIONS} +% and the content below. Use \DescribeMacro\ecQuesWidth\cs{ecQuesWidth} to set the width of +% the minipage on the question page. +% \begin{macrocode} +\def\ecAfterQuesSkip#1{{\setlength{\@tempdima}{#1}% + \xdef\ec@fterQuesSkip{\the\@tempdima}}} +\ecAfterQuesSkip{.25in} +\def\ecQuesWidth#1{\def\ec@QuesWidth{#1}} +\ecQuesWidth{.85\linewidth} +\def\ecSetQuesWidth{\setlength{\@tempdima}{\ec@QuesWidth}% + \edef\ec@QuesWidth{\the\@tempdima}} +% \end{macrocode} +% Use the \DescribeMacro{\ecQUESTION} command to format the question page. +% \changes{v2.0c}{2016/07/29}{Added \string\cs{ecQUESTION}} +% \begin{macrocode} +\newcommand{\ecQUESTION}{\textbf{QUESTION}} +\newcommand{\headCard}{% + \vspace*{\stretch{.1}}% + \begin{center}\ecSetQuesWidth + \Large\ecQUESTION\par\vspace*{\ec@fterQuesSkip}% + \begin{minipage}{\ec@QuesWidth}% + \large\noindent\ignorespaces +} +% \end{macrocode} +% \begin{macro}{\tailCard} +% Complete any environments begun by \cs{headCard} +% \begin{macrocode} +\newcommand{\tailCard}{% + \end{minipage} + \end{center} + \par\vspace{\stretch{2}}% +} +% \end{macrocode} +% \end{macro} +% \subsubsection{The \texttt{response} Environment} +% \begin{environment}{response} +% Nested within the \texttt{card} environment is the +% \texttt{response} environment, which, in turn, contains the +% \texttt{hint} and \texttt{answer} environments. This basically +% the \texttt{solution} environment for an \texttt{exercise} of +% \textsf{exerquiz}. +% \begin{macrocode} +\newenvironment{response}{\solnexer@woparts[]} %dps + {\endsolnexer@woparts} +% \end{macrocode} +% \end{environment} +% \begin{environment}{hint} +% Place this environment within the \texttt{response} +% environment and \textit{before} the \texttt{answer} environment. +% \begin{macrocode} +\newif\ifisHint \isHintfalse +\newenvironment{hint}{% + \isHinttrue + \if\@ecNoHints\ec@YES\textBgColor{\@hintColor}\headHint + \centering\noHintProvided\tailHint\expandafter\ec@comment@hint + \else\expandafter\ec@hint\fi}{% + \if\@ecNoHints\ec@YES\expandafter\endec@comment@hint + \else\expandafter\endec@hint\fi} +% \end{macrocode} +% \begin{macro}{\noHintProvided} +% A short typeset message that appears on hint pages when there is no hint +% available. +% \begin{macrocode} +\newcommand{\noHintProvided}{No hint provided for this question.} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\newenvironment{ec@comment@hint}{\comment}{% + \endcomment + \ifnum\@panelconfig=0\relax + \insNaviBar{\hfill\hintSoln\ \hintNextCard\ % + \PrevCard\ \ToggleOrder\hfill}\fi + \newpage\nMarkerSet{\ec@Soln}\noindent\hypertarget{\solndest}{}% +} +\newenvironment{ec@hint}{% + \textBgColor{\@hintColor}% + \headHint +}{% + \tailHint + \ifnum\@panelconfig=0\relax + \insNaviBar{\hfill\hintSoln\ \hintNextCard\ % + \PrevCard\ \ToggleOrder\hfill}\fi + \newpage\nMarkerSet{\ec@Soln}\noindent\hypertarget{\solndest}{}% +} +% \end{macrocode} +% \end{environment} +% Use \DescribeMacro\headHint\cs{headHint} to design he hint page. \DescribeMacro{\ecAfterHintSkip}\cs{ecAfterHintSkip} +% sets the vertical skip following the header (HINT). \DescribeMacro\ecHintWidth\cs{ecHintWidth} sets the width +% of the minipage on the HINT page. +% \changes{v2.0c}{2016/07/29}{Added after skips and widths for hints page} +% \begin{macrocode} +\def\ecAfterHintSkip#1{{\setlength{\@tempdima}{#1}% + \xdef\ec@fterHintSkip{\the\@tempdima}}} +\ecAfterHintSkip{.25in} +\def\ecHintWidth#1{\def\ec@HintWidth{#1}} +\ecHintWidth{.85\linewidth} +\def\ecSetHintWidth{\setlength{\@tempdima}{\ec@HintWidth}% + \edef\ec@HintWidth{\the\@tempdima}} +% \end{macrocode} +% Use the \DescribeMacro{\ecHINT}\cs{ecHint} command to format the hint page. +% \changes{v2.0c}{2016/07/29}{Added \string\cs{ecHINT}} +% \begin{macrocode} +\newcommand{\ecHINT}{\textbf{HINT}} +\newcommand{\headHint}{% + \vspace*{\stretch{.1}}% + \begin{center}\ecSetHintWidth + \Large\ecHINT\par\vspace*{\ec@fterHintSkip}% + \begin{minipage}{\ec@HintWidth}% + \large\noindent\ignorespaces +} +% \end{macrocode} +% \begin{macro}{\tailHint} +% Close any environments begun in \cs{headHint} +% \begin{macrocode} +\newcommand{\tailHint}{% + \end{minipage} + \end{center} + \par\vspace{\stretch{2}}% +} +% \end{macrocode} +% \end{macro} +% \subsubsection{The \texttt{answer} Environment} +% \begin{environment}{answer} +% The \texttt{answer} environment follows the \texttt{hint}, also listed within +% the \texttt{response} environment. +% \begin{macrocode} +\newenvironment{answer}{% + \textBgColor{\@solnColor}% + \headAnswer +}{\tailAnswer} +% \end{macrocode} +% \end{environment} +% \DescribeMacro\headAnswer Use \cs{headAnswer} to design of the answer page. \DescribeMacro\ecAfterAnsSkip +% \cs{ecAfterAnsSkip} sets the vertical skip following the header (ANSWER). \DescribeMacro\ecAnsWidth +% sets the width of the minipage on the ANSWER page. +% \changes{v2.0c}{2016/07/29}{Added after skips and widths for answers page} +% \begin{macrocode} +\def\ecAfterAnsSkip#1{{\setlength{\@tempdima}{#1}% + \xdef\ec@fterAnsSkip{\the\@tempdima}}} +\ecAfterAnsSkip{.25in} +\def\ecAnsWidth#1{\def\ec@AnsWidth{#1}} +\ecAnsWidth{.85\linewidth} +\def\ecSetAnsWidth{\setlength{\@tempdima}{\ec@AnsWidth}% + \edef\ec@AnsWidth{\the\@tempdima}} +% \end{macrocode} +% Use the \DescribeMacro{\ecANS} command to format the hint page. +% \changes{v2.0c}{2016/07/29}{Added \string\cs{ecANS}} +% \begin{macrocode} +\newcommand{\ecANS}{\textbf{ANSWER}} +\newcommand{\headAnswer}{% + \vspace*{\stretch{.1}}% + \begin{center}\ecSetAnsWidth + \Large\ecANS\par\vspace*{\ec@fterAnsSkip}% + \begin{minipage}[t]{\ec@AnsWidth}% + \large\noindent\ignorespaces} +% \end{macrocode} +% \begin{macro}{\tailAnswer} +% Close any environments opened by \cs{headAnswer} +% \begin{macrocode} +\newcommand{\tailAnswer}{% + \end{minipage} + \end{center} + \vspace*{\stretch{2}} +} +% \end{macrocode} +% \end{macro} +% \subsection{Navigation Support} +% +% In this section we build navigation support. The \DescribeMacro\iconWidth\cs{iconWidth} and +% \DescribeMacro\iconHeight\cs{iconHeight} are the width and height of the icons as they appear +% on the bottom of the page. When using a panel option, the width vale is reset, see \cs{iconWidthPanel} +% and \cs{panelGrpWidth}. +% \begin{macrocode} +\newcommand\iconWidth{40pt}\newcommand\iconHeight{15pt} +% \end{macrocode} +% \begin{macro}{\ecHomePage} +% \begin{macro}{\ecLogo} +% \begin{macro}{\ecLogoLink} +% \cs{ecHomePage}, for the `Home' button, and \cs{ecLogo}, for the logo. The argument +% for \cs{ecLogo} should be a LaTeX graphics command such as \cs{includegraphics}. See +% the default for an example. With \cs{ecLogoLink}, you can optionally associate a link +% with your logo. +% \begin{macrocode} +\def\ecHomePage{\hyper@normalise\ec@HomePage} +\def\ec@HomePage#1{\def\@ecHomePage{#1}} +\ecHomePage{http://www.math.uakron.edu/~dpstory/acrotex.html} +\def\ecLogo#1{\def\@ecLogo{#1}} +\ecLogo{\includegraphics[scale=.4]{graphics/uakron}} +\def\ecLogoLink{\hyper@normalise\ec@LogoLink} +\def\ec@LogoLink#1{\def\@ecLogoLink{#1}} +\let\@ecLogoLink\@empty +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{Toggle between Random and Nonrandom Delivery} +% +% \begin{macro}{\toggleRandomize} +% \begin{macro}{\randomizedMsg} +% \begin{macro}{\nonrandomizedMsg} +% \begin{macro}{\toggleRandomizeTU} +% We provide a push button for toggling between random mode and nonrandom mode. +% The button resets the cards and alerts the user. +% \begin{macrocode} +\newcommand{\randomizedMsg}{The cards will be delivered + to you in random order.} +\newcommand{\nonrandomizedMsg}{The cards will be delivered + to you in their natural order.} +\newcommand{\toggleRandomizeTU}{% + Click to toggle between random and natural order.} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% +% \subsubsection{Define JS Actions for Icons} +% Below are some JavaScript definitions that are used for navigation. +% \begin{macrocode} +\def\makeesc#1{\catcode`#1=0\relax} +% \end{macrocode} +% \DescribeMacro{\fsJS}\noindent +% Action for the fullscreen button `FS'. +% \begin{macrocode} +\begin{defineJS}{\fsJS} +if (app.viewerVersion < 5.0) + app.fullscreen = !app.fullscreen +else { + app.fs.cursor = cursor.visible; + app.fs.defaultTransition = ""; + app.fs.useTimer = false; + app.fs.isFullScreen = !app.fs.isFullScreen; +} +\end{defineJS} +% \end{macrocode} +% \subsubsection{Define Navigation Icons} +% Some navigation icons, \cs{newNaviIcon} is defined in the \textsf{Web Package}. +% \begin{macrocode} +% if nohint option is used, this is the JS action when hint is clicked. +\newcommand\noHintJSAction{} +\def\NaviIconActionJS#1{\ifecListing + \if\nMarker\ec@Ques\else + this.gotoNamedDest("\quesDestJS");\fi + \else + #1; + \fi +} +% \end{macrocode} +%\changes{v2.0c}{2016/07/29}{Added labels for navigation icons to make customization easier} +% \begin{macro}{\ecSolnLabel} +% \begin{macro}{\ecHintLabel} +% \begin{macro}{\ecNextLabel} +% \begin{macro}{\ecPrevLabel} +% \begin{macro}{\ecHintNextLabel} +% \begin{macro}{\ecHintSolnLabel} +% \begin{macro}{\ecBeginLabel} +% \begin{macro}{\ecHomeLabel} +% \begin{macro}{\ecFinHomeLabel} +% \begin{macro}{\ecFSLabel} +% \begin{macro}{\ecCloseLabel} +% \begin{macro}{\ecRandomLabel} +% Define labels for navigation icons to make customization easier. +% \begin{macrocode} +\def\ec@defineLabel#1#2#3{\def#1{#2 #3}} +\newcommand{\ecSolnLabel}[2][\footnotesize] + {\ec@defineLabel\ec@SolnLabel{#1}{#2}} +\ecSolnLabel{Soln} +\newcommand{\ecHintLabel}[2][\footnotesize] + {\ec@defineLabel\ec@HintLabel{#1}{#2}} +\ecHintLabel{Hint} +\newcommand{\ecNextLabel}[2][\footnotesize] + {\ec@defineLabel\ec@NextLabel{#1}{#2}} +\ecNextLabel{Next} +\newcommand{\ecPrevLabel}[2][\footnotesize] + {\ec@defineLabel\ec@PrevLabel{#1}{#2}} +\ecPrevLabel{Prev} +\newcommand{\ecHintNextLabel}[2][\footnotesize] + {\ec@defineLabel\ec@HintNextLabel{#1}{#2}} +\ecHintNextLabel{Next} +\newcommand{\ecHintSolnLabel}[2][\footnotesize] + {\ec@defineLabel\ec@HintSolnLabel{#1}{#2}} +\ecHintSolnLabel{Soln} +\newcommand{\ecBeginLabel}[2][\footnotesize] + {\ec@defineLabel\ec@BeginLabel{#1}{#2}} +\ecBeginLabel{Begin} +\newcommand{\ecHomeLabel}[2][\footnotesize] + {\ec@defineLabel\ec@HomeLabel{#1}{#2}} +\ecHomeLabel{Home} +\newcommand{\ecFinHomeLabel}[2][\footnotesize] + {\ec@defineLabel\ec@FinHomeLabel{#1}{#2}} +\ecFinHomeLabel{Home} +\newcommand{\ecFSLabel}[2][\footnotesize] + {\ec@defineLabel\ec@FSLabel{#1}{#2}} +\ecFSLabel{FS} +\newcommand{\ecCloseLabel}[2][\footnotesize] + {\ec@defineLabel\ec@CloseLabel{#1}{#2}} +\ecCloseLabel{Close} +\newcommand{\ecRandomLabel}[2][\footnotesize] + {\ec@defineLabel\ec@RandomLabel{#1}{#2}} +\ecRandomLabel{Random} +% \end{macrocode} +% The definitions of the navigation icons, \cs{newNaviIcon} is defined in the \pkg{web} package. +% \begin{macrocode} +\newNaviIcon[j]{\Soln}\iconWidth\iconHeight{\ec@SolnLabel} + {\NaviIconActionJS{this.gotoNamedDest("\solnDest")}} +\newNaviIcon[j]{\Hint}\iconWidth\iconHeight{\ec@HintLabel} + {\if\@ecNoHints\ec@YES\noHintJSAction\else + \NaviIconActionJS{this.gotoNamedDest("\hintDestJS")}\fi} % dps +\newNaviIcon[j]{\NextCard}\iconWidth\iconHeight{\ec@NextLabel} + {\NaviIconActionJS{getNextCard()}} +\newNaviIcon[j]{\PrevCard}\iconWidth\iconHeight{\ec@PrevLabel} + {\NaviIconActionJS{getPrevCard()}} +\newNaviIcon[j]{\hintNextCard}\iconWidth\iconHeight + {\ec@HintNextLabel}{getNextCard();} +\newNaviIcon[j]{\hintSoln}\iconWidth\iconHeight{\ec@HintSolnLabel} + {\NaviIconActionJS{this.gotoNamedDest("\solndest")}} +\newNaviIcon[j]{\Begin}\iconWidth\iconHeight + {\ec@BeginLabel}{beginECards();} +\newNaviIcon[l]{\Home}\iconWidth\iconHeight{\ec@HomeLabel} + {\ifnum\arabic{page}=1\relax\def\ec@next{\href{\@ecHomePage}}\else + \def\ec@next{\hyperlink{page.1}}\fi\ec@next} +\newNaviIcon[j]{\Finished}\iconWidth\iconHeight{\ec@FinHomeLabel} + {resetToFirstPage();} +\newNaviIcon[j]{\FullScreen}\iconWidth\iconHeight + {\ec@FSLabel}{\fsJS} +\newNaviIcon[j]{\Close}\iconWidth\iconHeight{\ec@CloseLabel} + {closeCards=true; app.execMenuItem("Close")} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macrocode} +\def\ec@CB@toggleOrder{% + \checkBox[\A{\JS{toggleOrder();}}\DV{\cbInitState}\V{\cbInitState}% + \TU{\toggleRandomizeTU}\textSize{0}\textColor{1 0 0} + \BC{0 0 .8}]{eccbtoggleorder}{9bp}{9bp}{randomOrder}} +\providecommand{\nopNaviIcon}[4]{% + \def#1{{\setlength{\fboxsep}{0pt}% + \web@colorbox@w@transparency{\@menuBgColor}% + {\parbox[c][#3][c]{#2}% + {\normalsize\centering\color{\@menucolor}#4}}% + }}% +} +\nopNaviIcon{\fpToggleOrder}\iconWidth\iconHeight + {\ec@RandomLabel\space\ec@CB@toggleOrder} +\nopNaviIcon{\ToggleOrder}\iconWidth\iconHeight + {\footnotesize\ec@CB@toggleOrder} +% \end{macrocode} +% If \cs{@memLogo} has a value of `y', then the logo is put in a box and copied +% onto each page; otherwise, the logo is read from its file on each page. +% \begin{macrocode} +\edef\@@Logo{\if\@memLogo\ec@YES\relax + \noexpand\unhcopy\noexpand\Logo\else\noexpand\@ecLogo\fi} +% \end{macrocode} +% Build the button panel for the navigation bar. Can re-design as desired. +% \changes{v2.0b}{2016/07/27}{Added \string\cs{iconWidthPanel} and \string\cs{panelGrpWidth}} +% Use \DescribeMacro{\iconWidthPanel}\cs{iconWidthPanel} to set the width of a panel button, and +% \DescribeMacro\panelGrpWidth\cs{panelGrpWidth} to set the width of the group of buttons. +% \begin{macrocode} +\newcommand\iconWidthPanel{28pt} +\newcommand\panelGrpWidth{57pt} +\ifnum\@panelconfig>0\relax +% \end{macrocode} +% if \cs{@panelconfig} (a macro defined in \textsf{web}, is positive, then the author has chosen +% a left or a right navigation panel. So, we must build a panel. +% \begin{macro}{\panelNaviGroup} +% This is the group of panel buttons used for navigation purposes. +% \begin{macrocode} + \renewcommand\panelNaviGroup {% + \def\iconWidth{\iconWidthPanel}% + \ifnum\thepage=1\relax + \parbox[c]{\panelGrpWidth} + {% + \Begin\hfill\FullScreen\\ + \Close\hfill\Home\\ + \let\iconWidth\linewidth + \fpToggleOrder + }% + \else + \parbox[c]{\panelGrpWidth} + {% + {\ifecListing\else\if\nMarker\ec@Ques + \if\@ecNoHints\ec@YES + \navibarTextColor{lightblue}\fi + \else + \navibarTextColor{lightblue}\fi\fi\Hint}\hfill + {\if\nMarker\ec@Soln + \navibarTextColor{lightblue}\fi\Soln}\\ + \NextCard\hfill\PrevCard\\ + \ToggleOrder\hfill\Finished + }% + \fi + } +% \end{macrocode} +% \end{macro} +% If \cs{@memLogo} is `y', create a new box, read logo with \cs{@ecLogo}, and store +% in box +% \begin{macrocode} + \newbox\Logo + \if\@memLogo\ec@YES\relax + \AtBeginDocument{\global\setbox\Logo=\hbox{\@ecLogo}}% + \fi +% \end{macrocode} +% \begin{macro}{\buildpanel} +% The \cs{buildpanel} command is defined in the \pkg{web} package and determines the layout of +% the vertical navigation panel. You can re-design your own. \DescribeMacro{\raiseLogoBy}\cs{raiseLogoBy} +% may be used to adjust the vertical position of the logo. +% \changes{v2.0b}{2016/07/27}{Added \string\cs{raiseLogoBy}} +% \begin{macrocode} +\def\raiseLogoBy#1{{\setlength\@tempdima{#1}% + \xdef\r@iseLogoBy{\the\@tempdima}}}\raiseLogoBy{0pt} + \buildpanel{\raisebox{\r@iseLogoBy}{\ifx\@ecLogoLink\@empty\@@Logo + \else\href{\@ecLogoLink}{\@@Logo}\fi}% + \par\vspace{\stretch{1}}% + \rotatebox{-90}{\aebLogo}% + \par\vspace{\stretch{1}}% + \panelNaviGroup + } +% \end{macrocode} +% \end{macro} +% Delay the expansion of the \cs{newNaviIcon} macro for the solution page +% \begin{macrocode} + \def\defineSoln{\newNaviIcon[j]{\Soln}\iconWidth\iconHeight + {\ec@SolnLabel}{% + \NaviIconActionJS{this.gotoNamedDest("\solndest")}}% + \def\sqWrongRespJS{app.alert(\eqsqwgmsg,3); + this.gotoNamedDest("\solndest");}% + } +\else +% \end{macrocode} +% \begin{macro}{\cardNavibar} +% \cs{@panelconfig} must be zero, the author does not want a navigation panel, so well +% put buttons at the bottom of each page to navigate by. +% Standard navigation bar. +% \begin{macrocode} + \def\cardNaviBar{\insNaviBar{\hfill + \if\@ecNoHints\ec@NO\Hint\ \fi\Soln\ \NextCard\ + \PrevCard\ \ToggleOrder\ \Home\hfill}} + \def\defineSoln{\newNaviIcon[j]{\Soln}\iconWidth\iconHeight + {\ec@SolnLabel}{% + \NaviIconActionJS{this.gotoNamedDest("\solndest")}}% + \def\sqWrongRespJS{app.alert(\eqsqwgmsg,3); + this.gotoNamedDest("\solndest");}% + } +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\fi +% \end{macrocode} +% +%\subsection{Close Page Action} +% +% We tap into \textsf{eforms} through the \cs{@CloseAction} macro. If \texttt{aeb\_pro} +% is used, the document author may overwrite this definition. +% +% \begin{macrocode} +\newcommand{\pressBeginMsg}{Press the \eqbs\eqbs"Begin\eqbs\eqbs" + button to begin viewing the cards.} +\ifecListing\else +\thisPageAction{\JS{}}{\JS{if (!closeCards&&!beginPressed){\jsR\jsT + var b=app.setTimeOut("this.pageNum=0; + app.alert(pressBeginMsg);",50);\jsR}}} +\fi +% \end{macrocode} +% \subsection{Document Level JavaScript} +% Insert document level JavaScripts to get the functionality of randomly selected questions. +% +% \smallskip\noindent If author has used the \texttt{nodljs} or \texttt{exercises} only, then +% we need to turn the \textsf{insdljs} package back on by emitting +% \begin{macrocode} +\let\importdljs=y +% \end{macrocode} +% This is the JavaScript to control the eCards action. Some global variables followed by the +% \texttt{getNextCard()} method. +% \begin{macrocode} +\begin{insDLJS}[isCardloaded]{flashcrd}{Flash Card JS} +var isCardloaded=true; +var closeCards=false; +var beginPressed=false; +var maxNumberCards = Math.pow(10,Math.ceil(% +Math.LOG10E*Math.log(\theNumCards))); +var aCardsNaturalOrder=new Array(); +var aCardsRandomOrder=new Array(); +var aCardsViewOrder; +var ptrCards=0; +var cardsFinished = "\CARDSFINISHED"; +var pressBeginMsg = "\pressBeginMsg"; +var isRandomized=\israndomized; +% \end{macrocode} +% Get the next card, and notify the user if all cards have been viewed. +% \begin{macrocode} +function getNextCard() { + numCards = \theNumCards; + if ( ptrCards == numCards ) { + app.alert(cardsFinished,3); + resetToFirstPage(); + } else { + ptrCards+=1; + this.gotoNamedDest("qex."+aCardsViewOrder[ptrCards]); + } +} +% \end{macrocode} +% Get the previous card. +% \begin{macrocode} +function getPrevCard() { + if ( ptrCards <= 1 ) { +% this.gotoNamedDest("page.1"); + resetToFirstPage(); + } else { + ptrCards-=1; + this.gotoNamedDest("qex."+aCardsViewOrder[ptrCards]); + } +} +% \end{macrocode} +% We also define a function \texttt{ecOnBlurRespBox()} to +% correctly control the page changes: If a wrong answer is given, then we go to +% the hint or the solution depending on whether user is responding to the original +% question or to the hint. +% \begin{macrocode} +function ecOnBlurRespBox (retn, exnoCard, nMarker) { + if (retn != null) { + if (retn) { + app.alert(\eqsqrtmsg,3); + var dest = "ex" + exnoCard + ".s"; // dps + this.gotoNamedDest(dest); + } else { + app.alert(\eqsqwgmsg,3); + if (nMarker==0) { + var dest = "ex." + exnoCard; // dps + this.gotoNamedDest(dest); + } + else { + var dest = "ex" + exnoCard + ".s"; // dps + this.gotoNamedDest(dest); + } + } + } else { + var str = event.target.value.toString(); + if (str.replace(/\s/g,"") == "") + event.target.strokeColor = \defaultColorJSDef; // dps + } +} +% \end{macrocode} +% This executes when the user clicks the begin link. +% \begin{macrocode} +function beginECards() { + PrepareViewingOrder(); + beginPressed=true; + getNextCard(); + var f, g, bState; + f=this.getField("eccbtoggleorder"); + bState=f.isBoxChecked(0); + this.resetForm(); + f.checkThisBox(0,bState); + for (var card=1; card<=\theNumCards; card++) {// dps + f = this.getField("obj.ex"+card); + if ( f != null ) { + g = f.getArray(); + for (var i = 0; i < g.length; i++) + g[i].strokeColor = \defaultColorJSDef; // dps + } + } +} +% \end{macrocode} +% Sets \texttt{ptrCards} to 0, then builds two new matrices, +% \texttt{aCardsNaturalOrder} consisting of the numbers 1,2,...\cs{theNumCards}, +% and \texttt{aCardsRandomOrder}. If \texttt{isRandomized} is \texttt{true}, +% \texttt{aCardsViewOrder} is set to \texttt{aCardsRandomOrder}, otherwise it is set +% to \texttt{aCardsNaturalOrder}. +% \begin{macrocode} +function PrepareViewingOrder() { + ptrCards=0; + var i, rand; + for (i=0; i<=\theNumCards; i++) { + aCardsNaturalOrder[i]=i; + aCardsRandomOrder[i]=i; + } +% \end{macrocode} +% We randomize the entries in \texttt{aCardsRandomOrder}, which at this moment +% is the same as \texttt{aCardsNaturalOrder}. +% \begin{macrocode} + for (i=1; i<=\theNumCards; i++) { + var rand = Math.random(); + rand *= maxNumberCards; + rand = Math.ceil(rand); + rand = rand \% \theNumCards; + rand += 1; + temp = aCardsRandomOrder[i]; + aCardsRandomOrder[i]=aCardsRandomOrder[rand]; + aCardsRandomOrder[rand]=temp; + } + aCardsViewOrder=(isRandomized)?aCardsRandomOrder:aCardsNaturalOrder; +} +% \end{macrocode} +% Toggles between viewing the cards in random order and their natural order. +% \begin{macrocode} +function toggleOrder() { + isRandomized=!isRandomized; + if (aCardsNaturalOrder.length==0) PrepareViewingOrder(); + if (isRandomized) { + for (var i=1; i<=\theNumCards; i++) + if (aCardsRandomOrder[i]==ptrCards) break; + ptrCards=i; + aCardsViewOrder=aCardsRandomOrder; + app.alert("\randomizedMsg"); + } else { + ptrCards=aCardsViewOrder[ptrCards]; + aCardsViewOrder=aCardsNaturalOrder; + app.alert("\nonrandomizedMsg"); + } +} +function resetToFirstPage() { + this.gotoNamedDest("page.1"); + beginPressed=false; +} +\end{insDLJS} +% \end{macrocode} +% If we have the \texttt{listing} option taken, then we import the \texttt{ecardslist.def} +% file to redefine portions of the \texttt{card} environment. +% just the Adobe Reader. +% \begin{macrocode} +\ifecListing\input{ecardslist.def}\fi +% \end{macrocode} +% If document author wants to modify these environments, s/he can place redefinitions in +% \texttt{ecard.cus}. +% \begin{macrocode} +\if\@ecCustom\ec@YES\InputIfFileExists{ecard.cus}{}{}\fi +%</package> +% \end{macrocode} +% \subsection{Support for the \texttt{listing} option} +% When the \texttt{listing} option is taken, we list out the questions, hints, and answers. +% In this section, a number of environments and commands are defined, the name of each +% begin with `\texttt{listing@}'. The document author can \cs{renewcommand} there to +% create a printed listing of easy review. If you say +%\begin{verbatim} +%\usepackage[forpaper,tight]{web} +%\usepackage[solutionsafter,proofing]{exerquiz} +%\usepackage[memLogo,listing]{ecards} +%\end{verbatim} +% then the multiple choice and fill-in questions will display the correct answers. Place any +% customizations in a text field named \texttt{ecard.cus}, and use the \texttt{custom} +% option. +% \subsubsection{The \texttt{card} Environment} +% \begin{macrocode} +%<*listing> +% \end{macrocode} +% \begin{environment}{card} +% This is the main environment for writing questions, hints and answers. This environment +% encloses all. +% \begin{macrocode} +\newcounter{ecCnt} +\let\exsolafter\@empty +\eqexerskip{0pt} +\newenvironment{listing@card}[1][\opts@ecNoHints]{% + \isQuestrue\let\useHints\ec@HintsWarning + \let\useNoHint\ec@HintsWarning\edef\ec@rgi{#1}% + \ifx\ec@rgi\ec@isHint + \def\ec@thisHintOpt{\ecUseHints}\else + \ifx\ec@rgi\ec@isNoHint + \def\ec@thisHintOpt{\ecUseNoHints}\else + \def\ec@thisHintOpt{\ecUseHints}\ec@BadArgWarning + \fi\fi + \ec@thisHintOpt\nMarkerSet{\ec@Ques}% + \stepcounter{ecCnt}% + \def\eqexheader{\noindent}% + \renewcommand\exsllabelformat{\protect\noindent}% + \renewcommand\exrtnlabelformat{}% + \renewcommand\exsecrunhead{}% + \let\afterlabelhskip\@empty + \def\exersolnheadhook{\ecInfoToSolns}% + \begin{exercise}% + \textBgColor{\@cardColor}% + \headCard +}{% + \tailCard + \end{exercise}% +} +% \end{macrocode} +% \end{environment} +% \begin{macro}{\headCard} +% The design of the question page. Can re-design. +% \begin{macrocode} +\newcommand{\listing@headCard}{\ifeqforpaper + \makebox[0pt][r]{\textbf{\arabic{ecCnt}.\thinspace}}\else + \makebox[0pt][r]{\textbf{\hyperlink{ex.\exnoCard}% + {\arabic{ecCnt}.\thinspace}}}\fi\ignorespaces} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\tailCard} +% Complete any environments begun by \cs{headCard} +% \begin{macrocode} +\newcommand{\listing@tailCard}{\removelastskip\par} % dps +% \end{macrocode} +% \end{macro} +% \subsubsection{The \texttt{response} Environment} +% \begin{environment}{response} +% Nested within the \texttt{card} environment is the +% \texttt{response} environment, which, in turn, contains the +% \texttt{hint} and \texttt{answer} environments. This basically +% the \texttt{solution} environment for an \texttt{exercise} of +% \textsf{exerquiz}. +% \begin{macrocode} +\def\setSolutionsAfterSkip{\expandafter + \def\expandafter\solutionsafterSkip + \expandafter{\solutionsafterSkip\kern0pt}} +\AtBeginDocument{\setSolutionsAfterSkip} +\newenvironment{listing@response} + {\solutionsafterSkip\solnexer@woparts[]}{\endsolnexer@woparts} +% \end{macrocode} +% \end{environment} +% \begin{environment}{hint} +% Right now, a hint is required. Place this environment within the \texttt{response} +% environment and \textit{before} the \texttt{answer} environment. +% \begin{macrocode} +\newenvironment{listing@hint}{% + \textBgColor{\@hintColor}% + \headHint +}{\tailHint} +% \end{macrocode} +% \end{environment} +% \begin{macro}{\headHint} +% The design of the hint page. Can re-design. +% \begin{macrocode} +\newcommand{\listing@headHint}{% + \par\textit{Hint}:\space\ignorespaces} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\tailHint} +% Close any environments begun in \cs{headHint} +% \begin{macrocode} +\newcommand{\listing@tailHint}{} +% \end{macrocode} +% \end{macro} +% \subsubsection{The \texttt{answer} Environment} +% \begin{macro}{\headAnswer} +% The design of the answer page. Can re-design. +% \end{macro} +% \begin{environment}{answer} +% The \texttt{answer} environment follows the \texttt{hint}, also listed within +% the \texttt{response} environment. +% \begin{macrocode} +\newenvironment{listing@answer}{% + \textBgColor{\@solnColor}% + \headAnswer +}{\tailAnswer} +% \end{macrocode} +% \end{environment} +% \begin{macrocode} +\newcommand{\listing@headAnswer}{% + \par\textit{Answer}:\space\ignorespaces} +% \end{macrocode} +% \begin{macro}{\tailAnswer} +% Close any environments opened by \cs{headAnswer} +% \begin{macrocode} +\newcommand{\listing@tailAnswer}{} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\def\ec@redefForListing{% + \let\card\listing@card + \let\endcard\endlisting@card + \let\headCard\listing@headCard + \let\tailCard\listing@tailCard + \let\response\listing@response % dps + \let\endresponse\endlisting@response % dps + \let\headhint\listing@hint + \let\endhint\listing@endhint + \let\headHint\listing@headHint + \let\tailHint\listing@tailHint + \let\answer\listing@answer + \let\endanswer\listing@endanswer + \let\headAnswer\listing@headAnswer + \let\tailAnswer\listing@tailAnswer +} +\AtBeginDocument{\ec@redefForListing} +%</listing> +% \end{macrocode} +\endinput diff --git a/macros/latex/contrib/ecards/ecards.ins b/macros/latex/contrib/ecards/ecards.ins new file mode 100644 index 0000000000..2ff91dbe7e --- /dev/null +++ b/macros/latex/contrib/ecards/ecards.ins @@ -0,0 +1,65 @@ +%% +%% This file will generate fast loadable files and documentation +%% driver files from the doc files in this package when run through +%% LaTeX or TeX. +%% +%% Copyright 1999-2002 D. P. Story +%% +%% This file is part of the `Web and Exerquiz Distribution'. +%% ------------------------------------------- +%% +%% It may be distributed under the conditions of the LaTeX Project Public +%% License, either version 1.2 of this license or (at your option) any +%% later version. The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.2 or later is part of all distributions of LaTeX +%% version 1999/12/01 or later. +%% +%% --------------- start of docstrip commands ------------------ +%% +\def\filedate{2001/05/26} +\def\batchfile{ecards.ins} +% +% If you can assume that the target audience for the document all have +% Acrobat Reader 5.0 or later, then chance the following switch to true, +% else, leave it as false. + +\input docstrip +\ifx\generate\undefined + \Msg{**********************************************} + \Msg{*} + \Msg{* This installation requires docstrip} + \Msg{* version 2.4 or later.} + \Msg{*} + \Msg{* An older version of docstrip has been input} + \Msg{*} + \Msg{**********************************************} + \errhelp{Move or rename old docstrip.tex and get a newer one.} + \errmessage{Old docstrip in input path} + \batchmode + \csname @@end\endcsname\end +\fi + +\keepsilent +\askforoverwritefalse +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\preamble +\endpreamble + +\generate +{% + \file{ecards.sty}{\from{ecards.dtx}{copyright,package}} + \file{ecardslist.def}{\from{ecards.dtx}{copyright,listing}} +} + +\Msg{***************************************************************} +\Msg{*} +\Msg{* \space To finish the installation you have to copy the files } +\Msg{*} +\Msg{* \space *.sty, *.cfg and *.def into a directory searched by TeX} +\Msg{*} +\Msg{***************************************************************} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\endinput diff --git a/macros/latex/contrib/ecards/examples/ecardstst.tex b/macros/latex/contrib/ecards/examples/ecardstst.tex new file mode 100644 index 0000000000..5f99734644 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/ecardstst.tex @@ -0,0 +1,237 @@ +\documentclass{article} +\usepackage[fleqn]{amsmath} +\usepackage{graphicx} +% Use these three for on screen presentation. +\usepackage[tight,rightpanel]{web} %,usetemplates,rightpanel +\usepackage{exerquiz} +\usepackage[memLogo]{ecards} % ,notrandomized + +% Use these three to get a listing of all questions, hints, and answers; useful +% for checking your work. +%\usepackage[forpaper,tight]{web} % ,usetemplates +%\usepackage[solutionsafter,proofing]{exerquiz} +%\usepackage[memLogo,listing]{ecards} + +% begin Web commands +\margins{.25in}{.25in}{24pt}{.25in} % left,right,top, bottom +\screensize{3.72in}{366.24bp} +\subject{Electronic Flash Cards} +\keywords{Flash Cards, LaTeX, PDF} +\university{% +% + THE UNIVERSITY OF AKRON\\ + Theoretical and Applied Mathematics +% +} +\email{dpstory@uakron.edu} +\version{2.0} +\copyrightyears{\the\year} +\author{D. P. Story} +\title{The U.S. Presidents by Number\texorpdfstring{\\}{,} Numbers 1--6} +\norevisionLabel + +\definecolor{logoblue}{rgb}{0,0,0.267} +\panelBgColor{logoblue} + +\renewcommand\hproportionwebtitle{.9} +\newcommand\aebLogo{% + \parbox{1.75in}{\large\color{red}\textsl{eCards: U.S. Presidents}\\ + \small\smash{\raisebox{3pt}{\color{blue}\textsl{{Acro\!\TeX} eDucation Bundle}\hfill}}}} + +\makeatletter +\ifecListing\else + \ifnum\@panelconfig>0\relax + \optionalPageMatter{\par\minimumskip\vspace{\stretch{1}} + \begin{center} + \fcolorbox{blue}{webyellow}{ + \begin{minipage}{.85\linewidth} + \textbf{\textcolor{red}{Instructions:}} + Click on the \textcolor{webblue}{Begin} button to view the + first randomly selected card. Click on \textcolor{webblue}{FS} to view + the flash cards in full screen mode (works only outside a web browser). The + \textcolor{webblue}{Home} button on the first page goes to the + \textbf{\textcolor{red}{Acro\!\TeX}} home page; otherwise, the + \textcolor{webblue}{Home} button returns to this page. + The \textcolor{webblue}{Close} button closes the document (use + outside a web browser).\par\smallskip + \textbf{\textcolor{red}{Source:}} + \href{http://www.whitehouse.gov/history/presidents/}% + {The White House Presidents Page}\par\smallskip + \end{minipage}} + \end{center} + } + \else + \optionalPageMatter{\par\minimumskip\vspace{\stretch{1}} + \begin{center} + \fcolorbox{blue}{webyellow}{ + \begin{minipage}{.67\linewidth} + Click on the \textcolor{webblue}{Begin} button to view the + first randomly selected card. Click on + \textcolor{webblue}{FS} to put the viewer into full screen + mode (use outside a web browser). The check box on the + right toggles the delivery of the cards between random + and natural order; a check means random + order.\par\smallskip + \centering + \Begin\ \FullScreen\ \ToggleOrder + \end{minipage}} + \end{center} + } + \fi +\fi + +\makeatother +% end Web commands +% begin ecards commands +\ecLogoLink{http://www.uakron.edu/} +\cardsFinishedMsg{You've seen all the Presidents, at least the ones presented + in these cards.} +\renewcommand\noHintJSAction{app.alert("No hints provided!")} +% end ecards commands + +\renewcommand{\pressBeginMsg}{Press the \"Begin\" + button to begin viewing the cards.} + + +\def\rescale{.4} % common re-scaling parameter for presidents +\parindent0pt + +\begin{document} + +\maketitle + +\ifecListing + \begin{center}\Large\bfseries + Listing of Questions, Hints, and Answers + \end{center}\bigskip +\fi + +\begin{card} + Who was the first President of the United States? +\begin{response} + \begin{hint} + Legend has it, he chopped down the cherry tree and couldn't tell a lie. + \end{hint} + \begin{answer} + \ifecListing + George Washington (1789-1797) + \else\centering + \includegraphics[scale=\rescale]{presidents/gw1}\\ + George Washington\\ + 1789-1797 + \fi + \end{answer} +\end{response} +\end{card} + +\begin{card} + Who was the second President of the United States? +\begin{response} + \begin{hint} + He was Washington's Vice President. + \end{hint} + \begin{answer} + \ifecListing + John Adams (1797-1801) + \else\centering + \includegraphics[scale=\rescale]{presidents/ja2}\\ + John Adams\\ + 1797-1801 + \fi + \end{answer} +\end{response} +\end{card} + +\begin{card} + Who was the third President of the United States? + \begin{multiChoice}{2} + \Ans0 Geo. Washington &\Ans0 Ben Franklin \\ + \Ans1 Thomas Jefferson &\Ans0 James Madison + \end{multiChoice} +\begin{response} + \begin{hint} + He was one of the authors of the Declaration of Independence. + \begin{multiChoice}{2} + \Ans0 Geo. Washington &\Ans0 Ben Franklin \\ + \Ans1 Thomas Jefferson &\Ans0 James Madison + \end{multiChoice} + \end{hint} + \begin{answer} + \ifecListing + Thomas Jefferson (1801-1809) + \else\centering + \includegraphics[scale=\rescale]{presidents/tj3}\\ + Thomas Jefferson\\ + 1801-1809 + \fi + \end{answer} +\end{response} +\end{card} + +\begin{card} + \raggedright + Who was the fourth President of the United States? \ifecListing\newline\fi + \begin{fillIn} + \RespBoxTxt[\rectW{1.5in}]{0}{0}{2}{James Madison}{Madison} + \end{fillIn} +\begin{response} + \begin{hint}\raggedright + He coauthored the \textsl{Federalists Essays} along with + John Jay and Alexander Hamilton. + \begin{fillIn} + \RespBoxTxt[\rectW{1.5in}]{0}{0}{2}{James Madison}{Madison} + \end{fillIn} + \end{hint} + \begin{answer} + \ifecListing + James Madison (1809-1817) + \else\centering + \includegraphics[scale=\rescale]{presidents/jm4}\\ + James Madison\\ + 1809-1817 + \fi + \end{answer} +\end{response} +\end{card} + +\begin{card} + Who was the fifth President of the United States? +\begin{response} + \begin{hint} + In foreign affairs, this President proclaimed a doctrine that + bears his name, ``\dots the American continents'', he stated, ``by the + free and independent condition which they have assumed and + maintain, are henceforth not to be considered as subjects for + future colonization by any European Power.'' + \end{hint} + \begin{answer} + \ifecListing + James Monroe (1817-1825) + \else\centering + \includegraphics[scale=\rescale]{presidents/jm5}\\ + James Monroe\\ + 1817-1825 + \fi + \end{answer} +\end{response} +\end{card} + +\begin{card} + Who was the sixth President of the United States? +\begin{response} + \begin{hint} + He was the first President who was the son of a President. + \end{hint} + \begin{answer} + \ifecListing + John Quincy Adams (1825-1829) + \else\centering + \includegraphics[scale=\rescale]{presidents/ja6}\\ + John Quincy Adams\\ + 1825-1829 + \fi + \end{answer} +\end{response} +\end{card} + +\end{document} diff --git a/macros/latex/contrib/ecards/examples/ecardstst_nohint.tex b/macros/latex/contrib/ecards/examples/ecardstst_nohint.tex new file mode 100644 index 0000000000..526c526af0 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/ecardstst_nohint.tex @@ -0,0 +1,243 @@ +% +% In this file, we test the nohints option and the \useHints +% +\documentclass{article} +\usepackage{amsmath} +\usepackage{graphicx} +% Use these three for onscreen presentation. +\usepackage[tight,rightpanel]{web} %,usetemplates,rightpanel,leftpanel +\usepackage{exerquiz} +\usepackage[memLogo,nohints]{ecards} + +% Use these three to get a listing of all questions, hints, and answers; useful +% for checking your work. +%\usepackage[forpaper,tight]{web} % ,usetemplates +%\usepackage[solutionsafter,proofing]{exerquiz} +%\usepackage[memLogo,listing]{ecards} + +% begin Web commands +\margins{.25in}{.25in}{24pt}{.25in} % left,right,top, bottom +\screensize{3.72in}{366.24bp} +\subject{Electronic Flash Cards} +\keywords{Flash Cards, LaTeX, PDF} +\university{THE UNIVERSITY OF AKRON\\ + Theoretical and Applied Mathematics} +\email{dpstory@uakron.edu} +\version{2.0} +\copyrightyears{\the\year} +\author{D. P. Story} +\title{The U.S. Presidents by Number\texorpdfstring{\\}{,} Numbers 1--6} + +\norevisionLabel + +\definecolor{logoblue}{rgb}{0,0,0.267} +\panelBgColor{logoblue} + +\renewcommand\hproportionwebtitle{.9} + +\newcommand\aebLogo{\parbox{1.75in}{\large \color{red}\textsl{eCards: U.S. Presidents}\\ + \small\smash{\raisebox{3pt}{\color{blue}\textsl{Acro\!\TeX{} eDucation Bundle}\hfill}}}} + +\makeatletter +\ifecListing\else + \ifnum\@panelconfig>0\relax + \optionalPageMatter{\par\minimumskip\vspace{\stretch{1}} + \begin{center} + \fcolorbox{blue}{webyellow}{ + \begin{minipage}{.85\linewidth} + \textbf{\textcolor{red}{Instructions:}} + Click on the \textcolor{webblue}{Begin} button to view the + first randomly selected card. Click on \textcolor{webblue}{FS} to view + the flash cards in full screen mode (works only outside a web browser). The + \textcolor{webblue}{Home} button on the first page goes to the + \textbf{\textcolor{red}{Acro\!\TeX}} home page; otherwise, the + \textcolor{webblue}{Home} button returns to this page. + The \textcolor{webblue}{Close} button closes the document (use + outside a web browser).\par\smallskip + \textbf{\textcolor{red}{Source:}} + \href{http://www.whitehouse.gov/history/presidents/}% + {The White House Presidents Page}\par\smallskip + \end{minipage}} + \end{center} + } + \else + \optionalPageMatter{\par\minimumskip\vspace{\stretch{1}} + \begin{center} + \fcolorbox{blue}{webyellow}{ + \begin{minipage}{.67\linewidth} + Click on the \textcolor{webblue}{Begin} button to view the + first randomly selected card. Click on + \textcolor{webblue}{FS} to put the viewer into full screen + mode (use outside a web browser). The check box on the + right toggles the delivery of the cards between random + and natural order; a check means random + order.\par\smallskip + \centering + \Begin\ \FullScreen\ \ToggleOrder + \end{minipage}} + \end{center} + } + \fi +\fi +\makeatother +% end Web commands + +% begin ecards commands +\ecLogoLink{http://www.uakron.edu/} +\cardsFinishedMsg{You've seen all the Presidents, at least the ones presented + in these cards.} +\renewcommand\noHintJSAction{app.alert("No hint provided for this question!")} +% end ecards commands + +\def\rescale{.4} % common re-scaling parameter for presidents +\parindent0pt + + +\begin{document} + +\maketitle + +\ifecListing + \begin{center}\Large\bfseries + Listing of Questions, Hints, and Answers + \end{center}\bigskip +\fi + +% This card should have no hint, which is the default with the nohints option +\begin{card} + Who was the first President of the United States? + \begin{response} + \begin{hint} + Legend has it, he chopped down the cherry tree and couldn't tell a lie. + \end{hint} + \begin{answer} + \ifecListing + George Washington (1789-1797) + \else\centering + \includegraphics[scale=\rescale]{presidents/gw1}\\ + George Washington\\ + 1789-1797 + \fi + \end{answer} + \end{response} +\end{card} + +% Start using hints by default +\useHints + +\begin{card} + Who was the second President of the United States? + \begin{response} + \begin{hint} + He was Washington's Vice President. + \end{hint} + \begin{answer} + \ifecListing + John Adams (1797-1801) + \else\centering + \includegraphics[scale=\rescale]{presidents/ja2}\\ + John Adams\\ + 1797-1801 + \fi + \end{answer} + \end{response} +\end{card} + +% local override +\begin{card}[nohint] + Who was the third President of the United States? + \begin{multiChoice}{2} + \Ans0 Geo. Washington &\Ans0 Ben Franklin \\ + \Ans1 Thomas Jefferson &\Ans0 James Madison + \end{multiChoice} + \begin{response} + \begin{hint} + He was one of the authors of the Declaration of Independence. + \begin{multiChoice}{2} + \Ans0 Geo. Washington &\Ans0 Ben Franklin \\ + \Ans1 Thomas Jefferson &\Ans0 James Madison + \end{multiChoice} + \end{hint} + \begin{answer} + \ifecListing + Thomas Jefferson (1801-1809) + \else\centering + \includegraphics[scale=\rescale]{presidents/tj3}\\ + Thomas Jefferson\\ + 1801-1809 + \fi + \end{answer} + \end{response} +\end{card} + +% this cards should have a hint, since \useHints is now the default +\begin{card} + \raggedright Who was the fourth President of the United States? \ifecListing\newline\fi + \begin{fillIn} + \RespBoxTxt{0}{0}{2}{James Madison}{Madison} + \end{fillIn} + \begin{response} + \begin{hint}\raggedright + He coauthored the \textsl{Federalists Essays} along with + John Jay and Alexander Hamilton. + \begin{fillIn} + \RespBoxTxt{0}{0}{2}{James Madison}{Madison} + \end{fillIn} + \end{hint} + \begin{answer} + \ifecListing + James Madison (1809-1817) + \else\centering + \includegraphics[scale=\rescale]{presidents/jm4}\\ + James Madison\\ + 1809-1817 + \fi + \end{answer} + \end{response} +\end{card} + +% back to ho hints as the default +\useNoHints + +\begin{card} + Who was the fifth President of the United States? + \begin{response} + \begin{hint} + In foreign affairs, this President proclaimed a doctrine that + bears his name, ``\dots the American continents'', he stated, ``by the + free and independent condition which they have assumed and + maintain, are henceforth not to be considered as subjects for + future colonization by any European Power.'' + \end{hint} + \begin{answer} + \ifecListing + James Monroe (1817-1825) + \else\centering + \includegraphics[scale=\rescale]{presidents/jm5}\\ + James Monroe\\ + 1817-1825 + \fi + \end{answer} + \end{response} +\end{card} + +% local override +\begin{card}[hint] + Who was the sixth President of the United States? + \begin{response} + \begin{hint} + He was the first President who was the son of a President. + \end{hint} + \begin{answer} + \ifecListing + John Quincy Adams (1825-1829) + \else\centering + \includegraphics[scale=\rescale]{presidents/ja6}\\ + John Quincy Adams\\ + 1825-1829 + \fi + \end{answer} + \end{response} +\end{card} + +\end{document} diff --git a/macros/latex/contrib/ecards/examples/graphics/uakron.bb b/macros/latex/contrib/ecards/examples/graphics/uakron.bb new file mode 100644 index 0000000000..e00464d043 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/graphics/uakron.bb @@ -0,0 +1,5 @@ +%%Title: uakron.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 124 124 +%%CreationDate: Fri Jul 29 05:04:04 2016 + diff --git a/macros/latex/contrib/ecards/examples/graphics/uakron.eps b/macros/latex/contrib/ecards/examples/graphics/uakron.eps Binary files differnew file mode 100644 index 0000000000..935fd6944c --- /dev/null +++ b/macros/latex/contrib/ecards/examples/graphics/uakron.eps diff --git a/macros/latex/contrib/ecards/examples/graphics/uakron.jpg b/macros/latex/contrib/ecards/examples/graphics/uakron.jpg Binary files differnew file mode 100644 index 0000000000..aa1165f51c --- /dev/null +++ b/macros/latex/contrib/ecards/examples/graphics/uakron.jpg diff --git a/macros/latex/contrib/ecards/examples/graphics/uakron.pdf b/macros/latex/contrib/ecards/examples/graphics/uakron.pdf Binary files differnew file mode 100644 index 0000000000..b802baca96 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/graphics/uakron.pdf diff --git a/macros/latex/contrib/ecards/examples/graphics/uakron.png b/macros/latex/contrib/ecards/examples/graphics/uakron.png Binary files differnew file mode 100644 index 0000000000..82c460899f --- /dev/null +++ b/macros/latex/contrib/ecards/examples/graphics/uakron.png diff --git a/macros/latex/contrib/ecards/examples/presidents/gw1.bb b/macros/latex/contrib/ecards/examples/presidents/gw1.bb new file mode 100644 index 0000000000..4ca97df598 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/gw1.bb @@ -0,0 +1,5 @@ +%%Title: gw1.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 178 259 +%%CreationDate: Fri Jul 29 05:12:40 2016 + diff --git a/macros/latex/contrib/ecards/examples/presidents/gw1.eps b/macros/latex/contrib/ecards/examples/presidents/gw1.eps Binary files differnew file mode 100644 index 0000000000..9e8c86f0db --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/gw1.eps diff --git a/macros/latex/contrib/ecards/examples/presidents/gw1.jpg b/macros/latex/contrib/ecards/examples/presidents/gw1.jpg Binary files differnew file mode 100644 index 0000000000..3fcbf88575 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/gw1.jpg diff --git a/macros/latex/contrib/ecards/examples/presidents/gw1.pdf b/macros/latex/contrib/ecards/examples/presidents/gw1.pdf Binary files differnew file mode 100644 index 0000000000..2e54ef71b0 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/gw1.pdf diff --git a/macros/latex/contrib/ecards/examples/presidents/gw1.png b/macros/latex/contrib/ecards/examples/presidents/gw1.png Binary files differnew file mode 100644 index 0000000000..796c2b26b7 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/gw1.png diff --git a/macros/latex/contrib/ecards/examples/presidents/ja2.bb b/macros/latex/contrib/ecards/examples/presidents/ja2.bb new file mode 100644 index 0000000000..1ba54b5b0d --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/ja2.bb @@ -0,0 +1,5 @@ +%%Title: ja2.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 193 262 +%%CreationDate: Fri Jul 29 05:13:54 2016 + diff --git a/macros/latex/contrib/ecards/examples/presidents/ja2.eps b/macros/latex/contrib/ecards/examples/presidents/ja2.eps Binary files differnew file mode 100644 index 0000000000..2f9c8ffb7e --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/ja2.eps diff --git a/macros/latex/contrib/ecards/examples/presidents/ja2.jpg b/macros/latex/contrib/ecards/examples/presidents/ja2.jpg Binary files differnew file mode 100644 index 0000000000..a3b53c66a2 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/ja2.jpg diff --git a/macros/latex/contrib/ecards/examples/presidents/ja2.pdf b/macros/latex/contrib/ecards/examples/presidents/ja2.pdf Binary files differnew file mode 100644 index 0000000000..db0ba8d9de --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/ja2.pdf diff --git a/macros/latex/contrib/ecards/examples/presidents/ja2.png b/macros/latex/contrib/ecards/examples/presidents/ja2.png Binary files differnew file mode 100644 index 0000000000..f5a648b0d0 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/ja2.png diff --git a/macros/latex/contrib/ecards/examples/presidents/ja6.bb b/macros/latex/contrib/ecards/examples/presidents/ja6.bb new file mode 100644 index 0000000000..4886575758 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/ja6.bb @@ -0,0 +1,5 @@ +%%Title: ja6.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 179 256 +%%CreationDate: Fri Jul 29 05:14:07 2016 + diff --git a/macros/latex/contrib/ecards/examples/presidents/ja6.eps b/macros/latex/contrib/ecards/examples/presidents/ja6.eps Binary files differnew file mode 100644 index 0000000000..46716f96a7 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/ja6.eps diff --git a/macros/latex/contrib/ecards/examples/presidents/ja6.jpg b/macros/latex/contrib/ecards/examples/presidents/ja6.jpg Binary files differnew file mode 100644 index 0000000000..5935bbb0e1 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/ja6.jpg diff --git a/macros/latex/contrib/ecards/examples/presidents/ja6.pdf b/macros/latex/contrib/ecards/examples/presidents/ja6.pdf Binary files differnew file mode 100644 index 0000000000..4698214b29 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/ja6.pdf diff --git a/macros/latex/contrib/ecards/examples/presidents/ja6.png b/macros/latex/contrib/ecards/examples/presidents/ja6.png Binary files differnew file mode 100644 index 0000000000..fed5e3e7ac --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/ja6.png diff --git a/macros/latex/contrib/ecards/examples/presidents/jm4.bb b/macros/latex/contrib/ecards/examples/presidents/jm4.bb new file mode 100644 index 0000000000..9d9d509462 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/jm4.bb @@ -0,0 +1,5 @@ +%%Title: jm4.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 178 261 +%%CreationDate: Fri Jul 29 05:14:17 2016 + diff --git a/macros/latex/contrib/ecards/examples/presidents/jm4.eps b/macros/latex/contrib/ecards/examples/presidents/jm4.eps Binary files differnew file mode 100644 index 0000000000..eeb3113d69 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/jm4.eps diff --git a/macros/latex/contrib/ecards/examples/presidents/jm4.jpg b/macros/latex/contrib/ecards/examples/presidents/jm4.jpg Binary files differnew file mode 100644 index 0000000000..dc4d258594 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/jm4.jpg diff --git a/macros/latex/contrib/ecards/examples/presidents/jm4.pdf b/macros/latex/contrib/ecards/examples/presidents/jm4.pdf Binary files differnew file mode 100644 index 0000000000..70b37487ad --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/jm4.pdf diff --git a/macros/latex/contrib/ecards/examples/presidents/jm4.png b/macros/latex/contrib/ecards/examples/presidents/jm4.png Binary files differnew file mode 100644 index 0000000000..ccc4aea30e --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/jm4.png diff --git a/macros/latex/contrib/ecards/examples/presidents/jm5.bb b/macros/latex/contrib/ecards/examples/presidents/jm5.bb new file mode 100644 index 0000000000..6787f051d5 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/jm5.bb @@ -0,0 +1,5 @@ +%%Title: jm5.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 171 260 +%%CreationDate: Fri Jul 29 05:14:28 2016 + diff --git a/macros/latex/contrib/ecards/examples/presidents/jm5.eps b/macros/latex/contrib/ecards/examples/presidents/jm5.eps Binary files differnew file mode 100644 index 0000000000..342d3deb00 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/jm5.eps diff --git a/macros/latex/contrib/ecards/examples/presidents/jm5.jpg b/macros/latex/contrib/ecards/examples/presidents/jm5.jpg Binary files differnew file mode 100644 index 0000000000..bba5e98b19 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/jm5.jpg diff --git a/macros/latex/contrib/ecards/examples/presidents/jm5.pdf b/macros/latex/contrib/ecards/examples/presidents/jm5.pdf Binary files differnew file mode 100644 index 0000000000..b3f35edf35 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/jm5.pdf diff --git a/macros/latex/contrib/ecards/examples/presidents/jm5.png b/macros/latex/contrib/ecards/examples/presidents/jm5.png Binary files differnew file mode 100644 index 0000000000..1f5d8fdc1a --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/jm5.png diff --git a/macros/latex/contrib/ecards/examples/presidents/tj3.bb b/macros/latex/contrib/ecards/examples/presidents/tj3.bb new file mode 100644 index 0000000000..ac3efd23c8 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/tj3.bb @@ -0,0 +1,5 @@ +%%Title: tj3.pdf +%%Creator: extractbb 20160307 +%%BoundingBox: 0 0 174 256 +%%CreationDate: Fri Jul 29 05:14:49 2016 + diff --git a/macros/latex/contrib/ecards/examples/presidents/tj3.eps b/macros/latex/contrib/ecards/examples/presidents/tj3.eps Binary files differnew file mode 100644 index 0000000000..482667370f --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/tj3.eps diff --git a/macros/latex/contrib/ecards/examples/presidents/tj3.jpg b/macros/latex/contrib/ecards/examples/presidents/tj3.jpg Binary files differnew file mode 100644 index 0000000000..8fc75c7d67 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/tj3.jpg diff --git a/macros/latex/contrib/ecards/examples/presidents/tj3.pdf b/macros/latex/contrib/ecards/examples/presidents/tj3.pdf Binary files differnew file mode 100644 index 0000000000..d2d7493d98 --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/tj3.pdf diff --git a/macros/latex/contrib/ecards/examples/presidents/tj3.png b/macros/latex/contrib/ecards/examples/presidents/tj3.png Binary files differnew file mode 100644 index 0000000000..78aa51b77d --- /dev/null +++ b/macros/latex/contrib/ecards/examples/presidents/tj3.png |