diff options
author | Karl Berry <karl@freefriends.org> | 2015-03-05 23:23:52 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-03-05 23:23:52 +0000 |
commit | e7fc2a9ed400064a361a84a4ec4c81d6e0ad0ba7 (patch) | |
tree | 64e957f1df59ee0a5845761a3e174bb4d41d08c2 /Master/texmf-dist/tex | |
parent | 8278dc715fcfa90c88e33d6237bcea350dc51f10 (diff) |
elzcards (5mar15)
git-svn-id: svn://tug.org/texlive/trunk@36441 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/elzcards/elzcards.cls | 234 |
1 files changed, 234 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/elzcards/elzcards.cls b/Master/texmf-dist/tex/latex/elzcards/elzcards.cls new file mode 100644 index 00000000000..6e2c4d5ec67 --- /dev/null +++ b/Master/texmf-dist/tex/latex/elzcards/elzcards.cls @@ -0,0 +1,234 @@ +%% +%% This is file `elzcards.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% elzcards.dtx (with options: `class') +%% +%% Copyright 2015 Emilio Lazo Zaia <emiliolazozaia@gmail.com> +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.{html|txt|tex|pdf} +%% and the latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3c or later is part of all distributions of +%% LaTeX version 2008/05/04 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Emilio Lazo Zaia. +%% +%% This work consists of the files README and elzcards.dtx with +%% its derived files elzcards.ins, elzcards.cls and +%% elzcards-example.tex. +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{elzcards} +[2015/03/05 v1.00 ELZ cards] +\RequirePackage{calc} +\RequirePackage{xparse} + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions\relax +\LoadClass{article} + +\newif\if@elzc@puntos +\newif\if@elzc@lineas +\newif\if@elzc@guias +\newif\if@elzc@fichaconreverso +\newif\if@elzc@reversoficha + +\newlength{\elzc@TarjXdim} +\newlength{\elzc@TarjYdim} +\newlength{\elzc@TempLen} + +\newcounter{elzc@TarjXdim} +\newcounter{elzc@TarjYdim} +\newcounter{elzc@PapelX} +\newcounter{elzc@PapelY} +\newcounter{elzc@NumX} +\newcounter{elzc@NumY} +\newcounter{elzc@ContX} +\newcounter{elzc@ContY} +\newcounter{elzc@PosX} +\newcounter{elzc@PosY} +\newcounter{elzc@RestoX} +\newcounter{elzc@XInicial} +\newcounter{elzc@Punto} +\newcounter{elzc@Arista} +\newcounter{elzc@Fichas} +\newcounter{elzc@TempFichaActual} +\newcounter{elzc@TempFichaActualII} + +\setlength{\parindent}{0pt} +\setlength{\unitlength}{1sp} +\pagestyle{empty} + +\newlength{\elzc@DefTPXdim} +\newlength{\elzc@DefTPYdim} +\newlength{\elzc@DefFichaXdim} +\newlength{\elzc@DefFichaYdim} +\newlength{\elzc@DefLinea} +\newcounter{elzc@DefArista} +\newcounter{elzc@DefPunto} + +\setlength{\elzc@DefTPXdim}{3.5in} +\setlength{\elzc@DefTPYdim}{2in} +\setlength{\elzc@DefFichaXdim}{5in} +\setlength{\elzc@DefFichaYdim}{3in} +\setlength{\elzc@DefLinea}{0.1mm} +\setcounter{elzc@DefArista}{186468} +\setcounter{elzc@DefPunto}{65536} + +\newcommand{\elzc@Cuadricula}[1]{% + \setcounter{elzc@TarjXdim}{\elzc@TarjXdim}% + \setcounter{elzc@TarjYdim}{\elzc@TarjYdim}% + \setcounter{elzc@PapelX}{\textwidth}% + \setcounter{elzc@PapelY}{\textheight}% + \setcounter{elzc@NumX}{\value{elzc@PapelX} / \value{elzc@TarjXdim}}% + \setcounter{elzc@NumY}{\value{elzc@PapelY} / \value{elzc@TarjYdim}}% + \setcounter{elzc@ContX}{-1}% + \setcounter{elzc@ContY}{-1}% + \setcounter{elzc@RestoX}{- \value{elzc@PapelX} + \value{elzc@NumX} * \value{elzc@TarjXdim}}% + \begin{picture}(\value{elzc@PapelX},\value{elzc@PapelY})(\value{elzc@XInicial},0)% + \loop \ifnum\value{elzc@ContY} < \value{elzc@NumY} \advance\value{elzc@ContY} by 1{% + \loop \ifnum\value{elzc@ContX} < \value{elzc@NumX} \advance\value{elzc@ContX} by 1{% + \if@elzc@reversoficha + \setcounter{elzc@PosX}{\value{elzc@NumX} * \value{elzc@TarjXdim} - % + \value{elzc@ContX} * \value{elzc@TarjXdim} - \value{elzc@TarjXdim}}% + \else + \setcounter{elzc@PosX}{\value{elzc@ContX} * \value{elzc@TarjXdim}}% + \fi + \setcounter{elzc@PosY}{\value{elzc@ContY} * \value{elzc@TarjYdim}}% + \ifnum \value{elzc@ContX} < \value{elzc@NumX}% + \ifnum \value{elzc@ContY} < \value{elzc@NumY}% + \put(\value{elzc@PosX},\value{elzc@PosY}){% + \makebox(\value{elzc@TarjXdim}, \value{elzc@TarjYdim}){% + \ifnum\value{elzc@TempFichaActual} < \value{elzc@Fichas}% + \addtocounter{elzc@TempFichaActual}{1}% + \addtocounter{elzc@TempFichaActualII}{1}% + \parbox[t][\elzc@TarjYdim]{\elzc@TarjXdim}{% + \if@elzc@reversoficha + \expandafter\csname FichaReverso\romannumeral\value{elzc@TempFichaActual}\endcsname + \else + \expandafter\csname Ficha\romannumeral\value{elzc@TempFichaActual}\endcsname + \fi}% + \else + \parbox[t][\elzc@TarjYdim]{\elzc@TarjXdim}{#1}% + \fi}}% + \fi + \fi + \if@elzc@guias + \ifnum \value{elzc@ContX} = 0 + \put(\value{elzc@PosX},\value{elzc@PosY}){\line(-1,0){\value{elzc@Arista}}}% + \else + \ifnum \value{elzc@ContX} = \value{elzc@NumX}% + \put(\value{elzc@PosX},\value{elzc@PosY}){\line(2,0){\value{elzc@Arista}}}% + \else + \put(\value{elzc@PosX},\value{elzc@PosY}){\line(-1,0){\value{elzc@Arista}}}% + \put(\value{elzc@PosX},\value{elzc@PosY}){\line(2,0){\value{elzc@Arista}}}% + \fi + \fi + \ifnum \value{elzc@ContY} = 0 + \put(\value{elzc@PosX},\value{elzc@PosY}){\line(0,-1){\value{elzc@Arista}}}% + \else + \ifnum \value{elzc@ContY} = \value{elzc@NumY}% + \put(\value{elzc@PosX},\value{elzc@PosY}){\line(0,0){\value{elzc@Arista}}}% + \else + \put(\value{elzc@PosX},\value{elzc@PosY}){\line(0,0){\value{elzc@Arista}}}% + \put(\value{elzc@PosX},\value{elzc@PosY}){\line(0,-1){\value{elzc@Arista}}}% + \fi + \fi + \fi + \if@elzc@lineas + \multiput(\value{elzc@PosX}, 0)(0, \value{elzc@TarjYdim})% + {\value{elzc@NumY}}{\line(0,1){\value{elzc@TarjYdim}}}% + \multiput(0, \value{elzc@PosY})(\value{elzc@TarjXdim}, 0)% + {\value{elzc@NumX}}{\line(1,0){\value{elzc@TarjXdim}}}% + \fi + \if@elzc@puntos + \put(\value{elzc@PosX}, \value{elzc@PosY}){\circle*{\value{elzc@Punto}}} + \fi}% + \repeat}% + \repeat + \end{picture}% + \@elzc@lineasfalse\@elzc@puntosfalse\@elzc@guiasfalse\@elzc@reversofichafalse} + +\NewDocumentCommand{\elzc@Tarjetas}{s s o o o m o}{% + \IfBooleanTF{#2}{\@elzc@lineastrue}{\IfBooleanTF{#1}{\@elzc@puntostrue}{\@elzc@guiastrue}}% + \setlength{\elzc@TarjXdim}{#3}% + \setlength{\elzc@TarjYdim}{#4}% + \IfValueTF{#5}{% + \IfBooleanTF{#2} + {\linethickness{#5}} + {\IfBooleanTF{#1} + {\setlength{\elzc@TempLen}{#5}\setcounter{elzc@Punto}{\elzc@TempLen}} + {\setlength{\elzc@TempLen}{#5}\setcounter{elzc@Arista}{\elzc@TempLen}% + \linethickness{\elzc@DefLinea}}}% + }{% + \IfBooleanTF{#2} + {\linethickness{\elzc@DefLinea}} + {\IfBooleanTF{#1} + {\setcounter{elzc@Punto}{\value{elzc@DefPunto}}} + {\setcounter{elzc@Arista}{\value{elzc@DefArista}}\linethickness{\elzc@DefLinea}}% + }% + }% + \elzc@Cuadricula{\setlength{\unitlength}{1mm}#6}% + \if@elzc@fichaconreverso + \addtocounter{elzc@TempFichaActual}{-\value{elzc@TempFichaActualII}}% + \newpage + \setcounter{elzc@XInicial}{\value{elzc@RestoX}}% + \@elzc@reversofichatrue + \elzc@Cuadricula{\setlength{\unitlength}{1mm}}% + \else + \IfValueT{#7}{% + \immediate\write\@auxout{\string\@twosidetrue\string\@mparswitchtrue}% + \newpage + \setcounter{elzc@XInicial}{\value{elzc@RestoX}}% + \elzc@Cuadricula{\setlength{\unitlength}{1mm}#7}}% + \fi + \cleardoublepage + \setcounter{elzc@TempFichaActualII}{0}% + \setcounter{elzc@XInicial}{0}% + \ifnum\value{elzc@TempFichaActual} < \value{elzc@Fichas}% + \IfBooleanTF{#2}{\MakeIC**[#3][#4][#5]}{\IfBooleanTF{#1}{% + \MakeIC*[#3][#4][#5]}{\MakeIC[#3][#4][#5]}}% + \fi + \setcounter{elzc@Fichas}{0}% + \setcounter{elzc@TempFichaActual}{0}% + \@elzc@fichaconreversofalse} + +\NewDocumentCommand{\MakeBC}{s s O{\elzc@DefTPXdim} O{\elzc@DefTPYdim} o m o}{% + \IfBooleanTF{#2} + {\elzc@Tarjetas**[#3][#4][#5]{#6}[#7]} + {\IfBooleanTF{#1} + {\elzc@Tarjetas*[#3][#4][#5]{#6}[#7]} + {\elzc@Tarjetas[#3][#4][#5]{#6}[#7]}}} + +\NewDocumentCommand{\MakeIC}{s s O{\elzc@DefFichaXdim} O{\elzc@DefFichaYdim} o}{% + \IfBooleanTF{#2} + {\elzc@Tarjetas**[#3][#4][#5]{}} + {\IfBooleanTF{#1} + {\elzc@Tarjetas*[#3][#4][#5]{}} + {\elzc@Tarjetas[#3][#4][#5]{}}}} + +\let\MakeFC\MakeIC + +\NewDocumentCommand{\Card}{m o}{% + \addtocounter{elzc@Fichas}{1}% + \expandafter\def\csname Ficha\romannumeral\value{elzc@Fichas}\endcsname{#1}% + \IfValueTF{#2}{% + \@elzc@fichaconreversotrue + \expandafter\def\csname FichaReverso\romannumeral\value{elzc@Fichas}\endcsname{#2}% + \immediate\write\@auxout{\string\@twosidetrue\string\@mparswitchtrue}} + {\expandafter\def\csname FichaReverso\romannumeral\value{elzc@Fichas}\endcsname{}}} + +\IfFileExists{\jobname.aux}{\input\jobname.aux} + +\endinput +%% +%% End of file `elzcards.cls'. |