\ProvidesPackage{abilities} \RequirePackage{extractable} \RequirePackage[double,.25cm]{cards} \newcommand\transfer{Non-Transferable} \newcommand\abiltext{Ability Card} \newcommand\efftext{Ability Effect} \newdimen\abil@width \newdimen\abil@height % We use an \fbox for each side to get margins (but no frame --- the % cards style will automatically frame it), within which is a % \vbox to stack things vertically. The vbox is height \abil@height % and width \abil@width and is separated from the invisible frame on all % sides by a margin (\fboxsep). % \fboxrule=0pt % invisible frame (cards.sty will make visible one) \fboxsep=.25in % margin between text and frame \abil@width=3.0in % total width this + twice \fboxsep \abil@height=2.5in % total height this + twice \fboxsep % center all text \centering % On the front, we have the first the charname (\me{}) and ``Ability Card.'' % Then after ``an appropriate amount of vertical space'' (\vfil) we % have argument #1, the ability title, followed by vertical space. % Then we have arg #2, the ability text, followed by double the space, % and finally the gamename and ``Non-Transferable.'' % The back has ``Ability Effect'' at the top, gamename and ``Non-Transferable'' % at the bottom, and the visible ability effect (arg #3) boxed between. \newdef\ability[3]{\makecard {\fbox{% \vbox to \abil@height{\hsize=\abil@width \me{}\hfill \abiltext \break \vfil #1\break \vfil #2\break \vfil \vfil \gamename \hfill \transfer }% }}% {\fbox{% \vbox to \abil@height{\hsize=\abil@width \efftext \break \vfil % now frame the effect \fboxsep=.1in \fboxrule=.5pt \framebox[\hsize]{% \vbox{% \advance\hsize by -2\fboxsep\relax \advance\hsize by -2\fboxrule\relax #3\relax }% }% \break \vfil \gamename \hfill \transfer }% }}% }% \input Lists/abilities.tex