summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/elzcards/elzcards.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/elzcards/elzcards.sty')
-rw-r--r--Master/texmf-dist/tex/latex/elzcards/elzcards.sty414
1 files changed, 414 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/elzcards/elzcards.sty b/Master/texmf-dist/tex/latex/elzcards/elzcards.sty
new file mode 100644
index 00000000000..cd73ddea302
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/elzcards/elzcards.sty
@@ -0,0 +1,414 @@
+%%
+%% This is file `elzcards.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% elzcards.dtx (with options: `package')
+%%
+%% 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.sty and
+%% elzcards-example.tex.
+%%
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{elzcards}[2015/04/26 v1.20 ELZ cards]
+
+\RequirePackage{calc}
+\RequirePackage{xparse}
+\RequirePackage{keyval}
+
+\newif\if@elzc@guias
+\newif\if@elzc@puntos
+\newif\if@elzc@lineas
+\newif\if@elzc@tarjeta
+\newif\if@elzc@tarjetaconreverso
+\newif\if@elzc@fichaconreverso
+\newif\if@elzc@conreverso
+\newif\if@elzc@reverso
+
+\newlength{\elzc@TarjXdim}
+\newlength{\elzc@TarjYdim}
+\newlength{\elzc@SeparaX}
+\newlength{\elzc@SeparaY}
+\newlength{\elzc@TempLen}
+\newlength{\elzc@TempUnitLength}
+\newlength{\elzc@DefTPXdim}
+\newlength{\elzc@DefTPYdim}
+\newlength{\elzc@DefFichaXdim}
+\newlength{\elzc@DefFichaYdim}
+\newlength{\elzc@DefSeparaX}
+\newlength{\elzc@DefSeparaY}
+\newlength{\elzc@DefArista}
+\newlength{\elzc@DefPunto}
+\newlength{\elzc@DefLinea}
+
+\newcounter{elzc@TarjXdim}
+\newcounter{elzc@TarjYdim}
+\newcounter{elzc@PapelX}
+\newcounter{elzc@PapelY}
+\newcounter{elzc@NumX}
+\newcounter{elzc@NumY}
+\newcounter{elzc@NumXY}
+\newcounter{elzc@ContX}
+\newcounter{elzc@ContY}
+\newcounter{elzc@PosX}
+\newcounter{elzc@PosY}
+\newcounter{elzc@SeparaX}
+\newcounter{elzc@SeparaY}
+\newcounter{elzc@XInicial}
+\newcounter{elzc@RestoX}
+\newcounter{elzc@Punto}
+\newcounter{elzc@Arista}
+\newcounter{elzc@Fichas}
+\newcounter{elzc@FichaActual}
+\newcounter{elzc@TempNumX}
+\newcounter{elzc@TempNumY}
+\newcounter{elzc@TempMarcaX}
+\newcounter{elzc@TempMarcaY}
+\newcounter{elzc@TempFichaActualRev}
+\newcounter{elzc@TempInfo}
+
+\define@key{ELZc}{hsize}{\setlength{\elzc@TarjXdim}{#1}}
+\define@key{ELZc}{vsize}{\setlength{\elzc@TarjYdim}{#1}}
+\define@key{ELZc}{hgap}{\setlength{\elzc@SeparaX}{#1}}
+\define@key{ELZc}{vgap}{\setlength{\elzc@SeparaY}{#1}}
+\define@key{ELZc}{segment length}{%
+ \setlength{\elzc@TempLen}{#1}\setcounter{elzc@Arista}{\elzc@TempLen}}
+\define@key{ELZc}{dot size}{\setlength{\elzc@TempLen}{#1}\setcounter{elzc@Punto}{\elzc@TempLen}}
+\define@key{ELZc}{line thickness}{\linethickness{#1}}
+\define@key{ELZc}{crosses}[true]{\@elzc@guiastrue\@elzc@puntosfalse\@elzc@lineasfalse}
+\define@key{ELZc}{dots}[true]{\@elzc@guiasfalse\@elzc@puntostrue\@elzc@lineasfalse}
+\define@key{ELZc}{lines}[true]{\@elzc@guiasfalse\@elzc@puntosfalse\@elzc@lineastrue}
+
+\newcommand*{\CurrentIC}{\arabic{elzc@FichaActual}}
+\let\CurrentFC\CurrentIC
+
+\newcommand*{\TotalIC}{\arabic{elzc@Fichas}}
+\let\TotalFC\TotalIC
+
+\newcommand*{\BCdim}[2]{\setlength{\elzc@DefTPXdim}{#1}\setlength{\elzc@DefTPYdim}{#2}}
+
+\newcommand*{\ICdim}[2]{\setlength{\elzc@DefFichaXdim}{#1}\setlength{\elzc@DefFichaYdim}{#2}}
+\let\FCdim\ICdim
+
+\NewDocumentCommand{\BCgap}{m g}{%
+ \setlength{\elzc@DefSeparaX}{#1}%
+ \IfValueTF{#2}{\setlength{\elzc@DefSeparaY}{#2}}{\setlength{\elzc@DefSeparaY}{#1}}}%
+\let\ICgap\BCgap
+\let\FCgap\BCgap
+
+\newcommand*{\CrossSegment}[1]{\setlength{\elzc@DefArista}{#1}}
+
+\newcommand*{\DotSize}[1]{\setlength{\elzc@DefPunto}{#1}}
+
+\newcommand*{\LineThickness}[1]{\setlength{\elzc@DefLinea}{#1}}
+
+\newcommand*{\CropDots}{%
+ \def\elzc@DefMarcasCorte{\@elzc@guiasfalse\@elzc@puntostrue\@elzc@lineasfalse}}
+
+\newcommand*{\CropCrosses}{%
+ \def\elzc@DefMarcasCorte{\@elzc@guiastrue\@elzc@puntosfalse\@elzc@lineasfalse}}
+
+\newcommand*{\CropLines}{%
+ \def\elzc@DefMarcasCorte{\@elzc@guiasfalse\@elzc@puntosfalse\@elzc@lineastrue}}
+
+\NewDocumentCommand{\MakeBC}{s o}{%
+ \ifx\undefined\@elzc@TarjetaAnverso
+ \PackageError{elzcards}{There are no business cards defined}{}%
+ \else
+ \@elzc@tarjetatrue
+ \if@elzc@tarjetaconreverso \@elzc@conreversotrue \else \@elzc@conreversofalse \fi
+ \elzc@Predeterminados
+ \setlength{\elzc@TarjXdim}{\elzc@DefTPXdim}%
+ \setlength{\elzc@TarjYdim}{\elzc@DefTPYdim}%
+ \IfValueT{#2}{\setkeys{ELZc}{#2}}%
+ \elzc@Tarjetas
+ \IfBooleanF{#1}{\elzc@TodoCero}%
+ \fi}
+
+\NewDocumentCommand{\MakeIC}{s o}{%
+ \ifnum \value{elzc@Fichas} = 0
+ \PackageError{elzcards}{There are no index/flash cards in stack}{}%
+ \else
+ \@elzc@tarjetafalse
+ \if@elzc@fichaconreverso \@elzc@conreversotrue \else \@elzc@conreversofalse \fi
+ \elzc@Predeterminados
+ \setlength{\elzc@TarjXdim}{\elzc@DefFichaXdim}%
+ \setlength{\elzc@TarjYdim}{\elzc@DefFichaYdim}%
+ \IfValueT{#2}{\setkeys{ELZc}{#2}}%
+ \elzc@Tarjetas
+ \IfBooleanF{#1}{\elzc@TodoCero*}%
+ \fi}
+\let\MakeFC\MakeIC
+
+\NewDocumentCommand{\BusinessCard}{+m +o}{%
+ \def\@elzc@TarjetaAnverso{#1}%
+ \IfValueTF{#2}{%
+ \@elzc@tarjetaconreversotrue
+ \def\@elzc@TarjetaReverso{#2}%
+ \immediate\write\@auxout{\string\@twosidetrue\string\@mparswitchtrue}}
+ {\def\@elzc@TarjetaReverso{}}}
+
+\NewDocumentCommand{\IndexCard}{+m +o}{%
+ \addtocounter{elzc@Fichas}{1}%
+ \expandafter\def\csname @elzc@FichaAnverso\romannumeral\value{elzc@Fichas}\endcsname{#1}%
+ \IfValueTF{#2}{%
+ \@elzc@fichaconreversotrue
+ \expandafter\def\csname @elzc@FichaReverso\romannumeral\value{elzc@Fichas}\endcsname{#2}%
+ \immediate\write\@auxout{\string\@twosidetrue\string\@mparswitchtrue}}
+ {\expandafter\def\csname @elzc@FichaReverso\romannumeral\value{elzc@Fichas}\endcsname{}}}
+\let\FlashCard\IndexCard
+
+\newcommand*{\elzc@Cuadricula}{%
+ \setlength{\elzc@TempUnitLength}{\unitlength}%
+ \setlength{\unitlength}{1sp}%
+ \setlength{\parindent}{0pt}%
+ \thispagestyle{empty}%
+ \setcounter{elzc@NumX}{0}%
+ \setcounter{elzc@NumY}{0}%
+ \setcounter{elzc@TempNumX}{0}%
+ \setcounter{elzc@TempNumY}{0}%
+ \setcounter{elzc@TarjXdim}{\elzc@TarjXdim}%
+ \setcounter{elzc@TarjYdim}{\elzc@TarjYdim}%
+ \setcounter{elzc@SeparaX}{\elzc@SeparaX}%
+ \setcounter{elzc@SeparaY}{\elzc@SeparaY}%
+ \setcounter{elzc@PapelX}{\textwidth}%
+ \setcounter{elzc@PapelY}{\textheight}%
+ \loop \ifnum\value{elzc@TempNumX} < \value{elzc@PapelX}%
+ \advance\value{elzc@TempNumX} by \value{elzc@TarjXdim}{%
+ \addtocounter{elzc@NumX}{1}%
+ \addtocounter{elzc@TempNumX}{\value{elzc@SeparaX}}}%
+ \repeat
+ \loop \ifnum\value{elzc@TempNumY} < \value{elzc@PapelY}%
+ \advance\value{elzc@TempNumY} by \value{elzc@TarjYdim}{%
+ \addtocounter{elzc@NumY}{1}%
+ \addtocounter{elzc@TempNumY}{\value{elzc@SeparaY}}}%
+ \repeat
+ \addtocounter{elzc@TempNumX}{-\value{elzc@SeparaX}}%
+ \addtocounter{elzc@TempNumY}{-\value{elzc@SeparaY}}%
+ \ifnum\value{elzc@TempNumX} > \value{elzc@PapelX}%
+ \addtocounter{elzc@NumX}{-1}%
+ \fi
+ \ifnum\value{elzc@TempNumY} > \value{elzc@PapelY}%
+ \addtocounter{elzc@NumY}{-1}%
+ \fi
+ \setcounter{elzc@NumXY}{\value{elzc@NumX} * \value{elzc@NumY}}%
+ \setcounter{elzc@ContX}{-1}%
+ \setcounter{elzc@ContY}{-1}%
+ \setcounter{elzc@RestoX}{- \value{elzc@PapelX} + \value{elzc@NumX} *
+ (\value{elzc@TarjXdim} + \value{elzc@SeparaX}) - \value{elzc@SeparaX}}%
+ \elzc@Informacion
+ \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@reverso
+ \setcounter{elzc@PosX}{(\value{elzc@NumX} - \value{elzc@ContX} - 1) * \value{elzc@TarjXdim}%
+ + (\value{elzc@NumX} - \value{elzc@ContX} - 1) * \value{elzc@SeparaX}}%
+ \else
+ \setcounter{elzc@PosX}{\value{elzc@ContX} * (\value{elzc@TarjXdim} + \value{elzc@SeparaX})}%
+ \fi
+ \setcounter{elzc@PosY}{\value{elzc@ContY} * (\value{elzc@TarjYdim} + \value{elzc@SeparaY})}%
+ \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}){%
+ \setlength{\unitlength}{\elzc@TempUnitLength}%
+ \parbox[t][\elzc@TarjYdim]{\elzc@TarjXdim}{%
+ \if@elzc@tarjeta
+ \if@elzc@reverso \@elzc@TarjetaReverso \else \@elzc@TarjetaAnverso \fi
+ \else
+ \ifnum\value{elzc@FichaActual} < \value{elzc@Fichas}%
+ \addtocounter{elzc@FichaActual}{1}%
+ \addtocounter{elzc@TempFichaActualRev}{1}%
+ \if@elzc@reverso
+ \expandafter\csname @elzc@FichaReverso\romannumeral\value{elzc@FichaActual}\endcsname
+ \else
+ \expandafter\csname @elzc@FichaAnverso\romannumeral\value{elzc@FichaActual}\endcsname
+ \fi
+ \fi
+ \fi}}}%
+ \fi
+ \fi
+ \if@elzc@reverso \else \elzc@CalculaMarcas \fi
+ }\repeat
+ }\repeat
+ \end{picture}}
+
+\newcommand*{\elzc@Tarjetas}{%
+ {\pagestyle{empty}\cleardoublepage}%
+ \elzc@Cuadricula
+ \if@elzc@conreverso
+ \@elzc@reversotrue
+ \if@elzc@tarjeta \else \addtocounter{elzc@FichaActual}{-\value{elzc@TempFichaActualRev}}\fi
+ \setcounter{elzc@XInicial}{\value{elzc@RestoX}}%
+ \clearpage
+ \elzc@Cuadricula
+ \setcounter{elzc@XInicial}{0}%
+ \@elzc@reversofalse
+ \fi
+ \if@elzc@tarjeta
+ \else
+ \setcounter{elzc@TempFichaActualRev}{0}%
+ \ifnum\value{elzc@FichaActual} < \value{elzc@Fichas}%
+ \elzc@Tarjetas%
+ \fi
+ \setcounter{elzc@FichaActual}{0}%
+ \fi
+ \clearpage}
+
+\NewDocumentCommand{\elzc@TodoCero}{s}{%
+ \IfBooleanTF{#1}{%
+ \setcounter{elzc@Fichas}{0}%
+ \@elzc@fichaconreversofalse}
+ {\let\@elzc@TarjetaAnverso\undefined
+ \let\@elzc@TarjetaReverso\undefined
+ \@elzc@tarjetaconreversofalse}}
+
+\newcommand*{\elzc@Predeterminados}{%
+ \elzc@DefMarcasCorte
+ \setlength{\elzc@SeparaX}{\elzc@DefSeparaX}%
+ \setlength{\elzc@SeparaY}{\elzc@DefSeparaY}%
+ \setlength{\elzc@TempLen}{\elzc@DefArista}\setcounter{elzc@Arista}{\elzc@TempLen}%
+ \setlength{\elzc@TempLen}{\elzc@DefPunto}\setcounter{elzc@Punto}{\elzc@TempLen}%
+ \linethickness{\elzc@DefLinea}}
+
+\newcommand*{\elzc@CalculaMarcas}{%
+ \setcounter{elzc@TempMarcaX}{\value{elzc@PosX}}%
+ \setcounter{elzc@TempMarcaY}{\value{elzc@PosY}}%
+ \ifnum \value{elzc@ContX} = \value{elzc@NumX}%
+ \else
+ \ifnum \value{elzc@ContY} = \value{elzc@NumY}%
+ \else
+ \elzc@DibujaMarcas{\value{elzc@TempMarcaX}}{\value{elzc@TempMarcaY}}%
+ \fi
+ \fi
+ \addtocounter{elzc@TempMarcaX}{-\value{elzc@SeparaX}}%
+ \ifnum \value{elzc@ContX} = 0%
+ \else
+ \ifnum \value{elzc@ContY} = \value{elzc@NumY}%
+ \else
+ \elzc@DibujaMarcas{\value{elzc@TempMarcaX}}{\value{elzc@TempMarcaY}}%
+ \fi
+ \fi
+ \addtocounter{elzc@TempMarcaY}{-\value{elzc@SeparaY}}%
+ \ifnum \value{elzc@ContX} = 0%
+ \else
+ \ifnum \value{elzc@ContY} = 0%
+ \else
+ \elzc@DibujaMarcas{\value{elzc@TempMarcaX}}{\value{elzc@TempMarcaY}}%
+ \fi
+ \fi
+ \addtocounter{elzc@TempMarcaX}{\value{elzc@SeparaX}}%
+ \ifnum \value{elzc@ContY} = 0%
+ \else
+ \ifnum \value{elzc@ContX} = \value{elzc@NumX}%
+ \else
+ \elzc@DibujaMarcas{\value{elzc@TempMarcaX}}{\value{elzc@TempMarcaY}}%
+ \fi
+ \fi}
+
+\newcommand*{\elzc@DibujaMarcas}[2]{%
+ \ifnum \value{elzc@ContX} = 0%
+ \if@elzc@guias\put(#1,#2){\line(-1,0){\value{elzc@Arista}}}\fi
+ \if@elzc@puntos\put(#1,#2){\circle*{\value{elzc@Punto}}}\fi
+ \else
+ \ifnum \value{elzc@ContX} = \value{elzc@NumX}%
+ \if@elzc@guias\put(#1,#2){\line(2,0){\value{elzc@Arista}}}\fi
+ \if@elzc@puntos\put(#1,#2){\circle*{\value{elzc@Punto}}}\fi
+ \else
+ \if@elzc@guias
+ \put(#1,#2){\line(-1,0){\value{elzc@Arista}}}%
+ \put(#1,#2){\line(2,0){\value{elzc@Arista}}}%
+ \fi
+ \if@elzc@puntos\put(#1,#2){\circle*{\value{elzc@Punto}}}\fi
+ \if@elzc@lineas
+ \put(#1,#2){\line(-1,0){\value{elzc@TarjXdim}}}%
+ \put(#1,#2){\line(2,0){\value{elzc@TarjXdim}}}%
+ \fi
+ \fi
+ \fi
+ \ifnum \value{elzc@ContY} = 0%
+ \if@elzc@guias\put(#1,#2){\line(0,-1){\value{elzc@Arista}}}\fi
+ \if@elzc@puntos\put(#1,#2){\circle*{\value{elzc@Punto}}}\fi
+ \else
+ \ifnum \value{elzc@ContY} = \value{elzc@NumY}%
+ \if@elzc@guias\put(#1,#2){\line(0,0){\value{elzc@Arista}}}\fi
+ \if@elzc@puntos\put(#1,#2){\circle*{\value{elzc@Punto}}}\fi
+ \else
+ \if@elzc@guias
+ \put(#1,#2){\line(0,0){\value{elzc@Arista}}}%
+ \put(#1,#2){\line(0,-1){\value{elzc@Arista}}}%
+ \fi
+ \if@elzc@puntos\put(#1,#2){\circle*{\value{elzc@Punto}}}\fi
+ \if@elzc@lineas
+ \put(#1,#2){\line(0,0){\value{elzc@TarjYdim}}}%
+ \put(#1,#2){\line(0,-1){\value{elzc@TarjYdim}}}%
+ \fi
+ \fi
+ \fi}
+
+\newcommand*{\elzc@Informacion}{%
+ \message{^^JProcessing}%
+ \if@elzc@tarjeta
+ \message{business cards,}%
+ \else
+ \message{index/flash cards,}%
+ \setcounter{elzc@TempInfo}{\value{elzc@NumXY} + \value{elzc@FichaActual}}%
+ \ifnum \value{elzc@TempInfo} > \value{elzc@Fichas}%
+ \setcounter{elzc@TempInfo}{\value{elzc@Fichas}}%
+ \fi
+ \addtocounter{elzc@FichaActual}{1}%
+ \message{current=\arabic{elzc@FichaActual}-\arabic{elzc@TempInfo},
+ total=\arabic{elzc@Fichas},}%
+ \addtocounter{elzc@FichaActual}{-1}%
+ \fi
+ \if@elzc@reverso\message{back side,^^J}\else\message{front side,^^J}\fi
+ \message{ per page: \arabic{elzc@NumXY} (\arabic{elzc@NumX}x\arabic{elzc@NumY}),}%
+ \message{ hsize=\the\elzc@TarjXdim, vsize=\the\elzc@TarjYdim,
+ hgap=\the\elzc@SeparaX, vgap=\the\elzc@SeparaY,^^J}%
+ \if@elzc@guias
+ \message{ with crosses,}%
+ \setlength{\elzc@TempLen}{\value{elzc@Arista}sp}%
+ \message{segment length=\the\elzc@TempLen, line thickness=\the\@wholewidth.^^J}%
+ \fi
+ \if@elzc@puntos
+ \message{ with dots,}%
+ \setlength{\elzc@TempLen}{\value{elzc@Punto}sp}%
+ \message{dot size=\the\elzc@TempLen.^^J}%
+ \fi
+ \if@elzc@lineas
+ \message{ with lines, line thickness=\the\@wholewidth.^^J}%
+ \fi}
+
+\setlength{\elzc@DefTPXdim}{3.5in}
+\setlength{\elzc@DefTPYdim}{2in}
+\setlength{\elzc@DefFichaXdim}{5in}
+\setlength{\elzc@DefFichaYdim}{3in}
+\setlength{\elzc@DefSeparaX}{0cm}
+\setlength{\elzc@DefSeparaY}{0cm}
+\setlength{\elzc@DefArista}{1mm}
+\setlength{\elzc@DefPunto}{1pt}
+\setlength{\elzc@DefLinea}{0.1mm}
+\CropCrosses
+
+\InputIfFileExists{\jobname.aux}{}\relax
+
+\endinput
+%%
+%% End of file `elzcards.sty'.