diff options
Diffstat (limited to 'macros/latex/contrib/ran_toks/examples/ran_toks.tex')
-rw-r--r-- | macros/latex/contrib/ran_toks/examples/ran_toks.tex | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/macros/latex/contrib/ran_toks/examples/ran_toks.tex b/macros/latex/contrib/ran_toks/examples/ran_toks.tex new file mode 100644 index 0000000000..e10238aa5a --- /dev/null +++ b/macros/latex/contrib/ran_toks/examples/ran_toks.tex @@ -0,0 +1,95 @@ +\documentclass{article} +\usepackage{ran_toks} +\usepackage{ifthen} + +\useThisSeed{606574325} % comment out this line, and uncomment next line to get ... +%\useLastAsSeed % a new pseudo-random sequence each time you compile. + +% Other useful switches +%\ranToksOn % the default +%\ranToksOff + +\parindent0pt \parskip6pt +\def\cs#1{\texttt{\char`\\#1}} + +\begin{document} +\begin{center}\bfseries + Test file for \textsf{ran\_toks} Package\\[3pt] + D. P. Story +\end{center} + +Test of the \verb!\ranToks! command. + +\ranToks{myPals}{% + {Jim}{Richard}{Don} + {Alex}{Tom}{J\"{u}rgen} +} +I have {\nToksFor{myPals}} pals, they are \useRanTok{1}, \useRanTok{2}, +\useRanTok{3}, \useRanTok{4}, {\useRanTok{5}} and \useRanTok{6}. (Listed +in the order of best friend to least best friend.) + +Test of the \verb!\bRTVToks!/\verb!\eRTVToks! pair of commands, which encloses +\texttt{rtVW} environments. + +\bRTVToks{myThoughts}% +\begin{rtVW} +\begin{minipage}[t]{.67\linewidth} +Roses are red and violets are blue, +I've forgotten the rest, have you too? +\end{minipage} +\end{rtVW} +\begin{rtVW} +\begin{minipage}[t]{.67\linewidth} +I gave up saying bad things like +\verb!$#%%%^*%^&#$@#! when I was just a teenager. +\end{minipage} +\end{rtVW} +\begin{rtVW} +\begin{minipage}[t]{.67\linewidth} +I am a good guy, pass it on! The code for this last sentence is, +\begin{verbatim} +%#$% I am a good guy, pass it on! ^&*&^* +\end{verbatim} +How did that other stuff get in there? +\end{minipage} +\end{rtVW} +\eRTVToks +\begin{enumerate} + \displayListRandomly[\item]{myThoughts} +\end{enumerate} +Use \verb!\useRTName! command when another list separates the current +position from the list you want to use. Here we want to use the list named +\texttt{myPals}, but since that definition, a new list named +\texttt{myThoughts} was declared. + +\useRTName{myPals} +List of pals: \useRanTok{1}, \useRanTok{2}, \useRanTok{3}, +\useRanTok{4}, \useRanTok{5}, and \useRanTok{6}. + +For mixing lists. it might be easier to use the optional parameter: +{\useRanTok[myPals]{1}} and \useRanTok[myThoughts]{1} + +The \cs{rtTokByNum} can retrieve an item from the list in its declared order; +eg, from the \texttt{myPals} list, the first and last are +{\rtTokByNum[myPals]{1}} and \rtTokByNum[myPals]{\nToksFor{myPals}}. + +We demonstrate the command \cs{reorderRanToks} and the optional parameters of \cs{displayListRandomly}: +\begin{quote}\reorderRanToks{myPals}% +List of pals: \displayListRandomly[\ifnum\i=\last\space and \fi][\ifnum\i=\last.\else,\fi\space]{myPals} +\end{quote} +The reordering is global, so \displayListRandomly[\ifnum\i=\last\space and \fi][\ifnum\i=\last\else, \fi]{myPals} +are listed in the same order as above, and different from the original random order seen in the second paragraph +of this document. + +Without the Oxford comma: My pals are +\displayListRandomly[\ifnum\i=\last and \fi][\ifnum\i=\last.\else\ifnum\i=\lessone\relax\space\else, \fi\fi]{myPals} + +The following is the same logic but uses the syntax of the \textsf{ifthen} package: My pals are +\displayListRandomly[\ifthenelse{\i=\last}{and }{}][\ifthenelse{\i=\last}{.}{\ifthenelse{\i=\lessone}{\space}{, }}]{myPals} + +Test the \cs{copyRanToks} command: +\copyRanToks{myPals}{myPals1}\displayListRandomly[\ifthenelse{\i=\last}{and }{}][\ifthenelse{\i=\last}{.}{\ifthenelse{\i=\lessone}{\space}{, }}]{myPals1} +This does not change the order of the \texttt{myPals} list, which is still +\displayListRandomly[\ifnum\i=\last\space and \fi][\ifnum\i=\last.\else,\fi\space]{myPals} + +\end{document} |