diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/ticket/ticket.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/ticket/ticket.sty | 133 |
1 files changed, 98 insertions, 35 deletions
diff --git a/Master/texmf-dist/tex/latex/ticket/ticket.sty b/Master/texmf-dist/tex/latex/ticket/ticket.sty index 36bed4738ce..507ac40ee23 100644 --- a/Master/texmf-dist/tex/latex/ticket/ticket.sty +++ b/Master/texmf-dist/tex/latex/ticket/ticket.sty @@ -2,8 +2,8 @@ %% %% This is file `ticket.sty', %% -%% File: ticket.sty Copyright (c) 1999,2000, Thomas Emmel -%% <emmel@mechanik.tu-darmstadt.de> +%% File: ticket.sty Copyright (c) 1999,2000,2005 Thomas Emmel +%% <thomas@family-emmel.de> %% %% % This package may be distributed and/or modified under the @@ -25,21 +25,36 @@ % v0.3a checking for an old calc-package % v0.3b use internal values if tdf-file is not specified % v0.3c \ticketreset added. - -\def\fileversion{v0.3c} -\def\filedate{2000/10/10} +% v0.3d added option emptycrossmark as provided by +% Rafal Bielski <rafal dot bielski at dhl dot com> +% Similar option was provided by +% Ivan Lloro Boada <antispam at wanadoo dot es> +% +% v0.4a added the flashcard-style invented by +% Santiago Mejia <san_tico at yahoo dot com> +% +% Many thanks for all contributions +% +% +\def\fileversion{v0.4a} +\def\filedate{2006/01/30} \ProvidesPackage{ticket}[\filedate\space\fileversion] \typeout{Package: `ticket' \fileversion\space <\filedate> (Thomas Emmel)} -\newif\if@crossmark \@crossmarkfalse -\newif\if@circlemark \@circlemarkfalse -\newif\if@boxed \@boxedfalse -\newif\if@extern \@externfalse +\newif\if@crossmark \@crossmarkfalse +\newif\if@circlemark \@circlemarkfalse +\newif\if@emptycrossmark \@emptycrossmarkfalse +\newif\if@cutmark \@cutmarkfalse +\newif\if@boxed \@boxedfalse +\newif\if@extern \@externfalse +\newif\if@backside \@backsidefalse \DeclareOption{boxed}{\@boxedtrue} \DeclareOption{crossmark}{\@crossmarktrue} \DeclareOption{circlemark}{\@circlemarktrue} +\DeclareOption{emptycrossmark}{\@emptycrossmarktrue} +\DeclareOption{cutmark}{\@cutmarktrue} \DeclareOption*{\edef\ticketToUse{\CurrentOption.tdf}\@externtrue}% @@ -63,6 +78,7 @@ \headheight=0pt \headsep=0pt \oddsidemargin=0pt +\evensidemargin=0pt \footskip=0pt \voffset=0pt \hoffset=0pt @@ -81,7 +97,6 @@ \def\ticketNumbers#1#2{\setcounter{ticket@num@X}{#1}% \setcounter{ticket@num@Y}{#2}} - % \newdimen\ticketWidth% width of a ticket @@ -115,10 +130,27 @@ %% temporary length \newdimen\ticket@shift@x \newdimen\ticket@shift@y - -\def\ticketreset{\setcounter{ticket@x}{1}\setcounter{ticket@y}{1}% - \setlength{\ticket@shift@y}{0pt}% - \setlength{\ticket@shift@x}{0pt}} +\newdimen\back@shift + +\setlength{\back@shift}{(\ticketWidth+\ticket@dis@X)*(\theticket@num@X-1)}% + +%% a restart +\def\ticketreset{% + \if@backside% + \setcounter{ticket@x}{1}\setcounter{ticket@y}{1}% + \setlength{\ticket@shift@y}{0pt}% + \setlength{\ticket@shift@x}{\back@shift}% + \else% + \setcounter{ticket@x}{1}\setcounter{ticket@y}{1}% + \setlength{\ticket@shift@y}{0pt}% + \setlength{\ticket@shift@x}{0pt}% + \fi} + +%% backsides should be handled different for flashcards +\def\backside{% + \@backsidetrue% + \ticketreset% + \clearpage}% % the heart: a "counter" \newcommand{\ticket@counter}{% @@ -129,58 +161,89 @@ {\stepcounter{ticket@x}\\[-\baselineskip]}% {\setcounter{ticket@x}{1}\setcounter{ticket@y}{1}\newpage}}% \setlength{\ticket@shift@y}{(\ticketHeight+\ticket@dis@Y)*(\theticket@y-1)}% - \setlength{\ticket@shift@x}{(\ticketWidth+\ticket@dis@X)*(\theticket@x-1)}% - }% + \if@backside% + \setlength{\ticket@shift@x}{\back@shift-(\ticketWidth+\ticket@dis@X)*(\theticket@x-1)}% + \else% + \setlength{\ticket@shift@x}{(\ticketWidth+\ticket@dis@X)*(\theticket@x-1)}% + \fi}% % default content... % users should renew this command \newcommand{\ticketdefault}{% % -\put( 5, 5){Ticket....} -} +\put( 5, 5){Ticket....}% +}% % the main command: \ticket % users should define a command like \myticket to get more than one parameter \newcommand{\ticket}[1]{% % position global +\noindent% \raisebox{-\ticket@shift@y}[0mm][0mm]{% \raisebox{-\ticketHeight}[0mm][0mm]{% \hspace*{\ticket@shift@x}% % % open a picture of zero size and place some crosses \begin{picture}(0,0)% -\if@crossmark +\if@crossmark% \put(0,0){\ticket@cross}% \put(0,\ticket@size@Y){\ticket@cross}% \put(\ticket@size@X,0){\ticket@cross}% \put(\ticket@size@X,\ticket@size@Y){\ticket@cross}% -\fi -\if@circlemark +\fi% +\if@circlemark% \put(0,0){\circle{1}}% \put(0,\ticket@size@Y){\circle{1}}% \put(\ticket@size@X,0){\circle{1}}% \put(\ticket@size@X,\ticket@size@Y){\circle{1}}% -\fi -\if@boxed - \put(0,0){\line(1,0){\ticket@size@X}} - \put(0,0){\line(0,1){\ticket@size@Y}} - \put(\ticket@size@X,\ticket@size@Y){\line(-1,0){\ticket@size@X}} - \put(\ticket@size@X,\ticket@size@Y){\line(0,-1){\ticket@size@Y}} -\fi +\fi% +\if@boxed% + \put(0,0){\line(1,0){\ticket@size@X}}% + \put(0,0){\line(0,1){\ticket@size@Y}}% + \put(\ticket@size@X,\ticket@size@Y){\line(-1,0){\ticket@size@X}}% + \put(\ticket@size@X,\ticket@size@Y){\line(0,-1){\ticket@size@Y}}% +\fi% +\if@emptycrossmark% + \put(0,0){\begin{picture}(0,0)% + \put(-1,0){\line(-1,0){1}}% + \put(0,-1){\line(0,-1){1}}\end{picture}}% + \put(0,\ticket@size@Y){\begin{picture}(0,0)% + \put(-1,0){\line(-1,0){1}}% + \put(0,1){\line(0,1){1}}\end{picture}}% + \put(\ticket@size@X,0){\begin{picture}(0,0)% + \put(1,0){\line(1,0){1}}% + \put(0,-1){\line(0,-1){1}}\end{picture}}% + \put(\ticket@size@X,\ticket@size@Y){\begin{picture}(0,0)% + \put(1,0){\line(1,0){1}}% + \put(0,1){\line(0,1){1}}\end{picture}}% +\fi% +\if@cutmark% + \ifthenelse{\value{ticket@x}=1}% + {\put(-1,0){\line(-1,0){1}}\put(-1,\ticket@size@Y){\line(-1,0){1}}}{}% + \ifthenelse{\value{ticket@y}=1}% + {\put(0,\ticket@size@Y){\begin{picture}(0,0)% + \put(0,1){\line(0,1){1}}\end{picture}}% + \put(\ticket@size@X,\ticket@size@Y){\begin{picture}(0,0)% + \put(0,1){\line(0,1){1}}\end{picture}}}{}% + \ifthenelse{\value{ticket@x}=\value{ticket@num@X}}% + {\put(\ticket@size@X,0){\begin{picture}(0,0)% + \put(1,0){\line(1,0){1}}\end{picture}}% + \put(\ticket@size@X,\ticket@size@Y){\begin{picture}(0,0)% + \put(1,0){\line(1,0){1}}\end{picture}}}{}% + \ifthenelse{\value{ticket@y}=\value{ticket@num@Y}}% + {\put(0,-1){\line(0,-1){1}}\put(\ticket@size@X,-1){\line(0,-1){1}}}{}% +\fi% % put the default content into the ticket \ticketdefault% % put the variable content into the ticket #1% -\end{picture}}}\ticket@counter} - +\end{picture}}}\ticket@counter}% +% \def\ticket@cross{% \begin{picture}(0,0)% \put(-1,0){\line(1,0){2}}\put(0,-1){\line(0,1){2}}% - \end{picture}} - - - - + \end{picture}}% +% \endinput |