\documentclass[a4paper,10pt,landscape]{article}
\usepackage[empty,cm]{fullpage}
\usepackage[latin1]{inputenc}
\usepackage[italian,english]{babel}
\usepackage[OT1]{fontenc}
\usepackage{pgfkeys}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{shapes.multipart}

%%%% fullpage
\setlength{\headheight}{0pt}
\setlength{\headsep}{0pt}
\setlength{\footskip}{0pt}
\setlength{\textwidth}{\paperwidth}
\setlength{\oddsidemargin}{-2.68cm}
\setlength{\evensidemargin}{\oddsidemargin}
\setlength{\textheight}{1.1\paperheight}
\setlength{\topmargin}{0pt}
\addtolength{\topmargin}{-2.68cm}
\addtolength{\oddsidemargin}{0.45cm} % per centrare le etichette
\addtolength{\evensidemargin}{0.45cm} % per centrare le etichette
%%%%
\setlength{\parindent}{0pt}

%%%%
\newlength{\cardtextwidth}
\setlength{\cardtextwidth}{4.33cm}

%\fontseries{c}\fontshape{sc}

\tikzstyle{carta}=[rectangle,minimum width=4.8cm,minimum height=7cm,outer sep=0,use as bounding box
%  ,ultra thin,draw %uncomment to show card boxes!
]

\tikzstyle{title label}=[rectangle,text=blue!80!green!75!black,minimum height=2\baselineskip,font={\small},inner sep=1mm,text width=4.6cm,align=flush center]

\tikzstyle{side label}=[rectangle,text=green!25!black,minimum height=3mm,font=\tiny,inner sep=0.5mm,rotate=270]

\tikzstyle{subt label}=[text=magenta!25!black,font=\scriptsize,inner xsep=2pt,inner ysep=0.2em,text width=\cardtextwidth]

\tikzstyle{descr label}=[rectangle,text=red!50!black,font={\sffamily\footnotesize},inner xsep=2pt,inner ysep=1mm,text width=\cardtextwidth,align=justify]

\tikzstyle{trg label}=[rectangle,text=red!70!blue!90!yellow,font={\sffamily\footnotesize},inner xsep=2pt,inner ysep=1mm,align=#1]

\tikzstyle{above angles label}=[text=blue!50!black,font=\scriptsize,minimum height=\baselineskip,align=justify]

\tikzstyle{angles label}=[rectangle split,rectangle split parts=2,rectangle split part align=left,text=blue!50!black,font=\tiny,align=justify]

\tikzstyle{prep label}=[rectangle split,rectangle split parts=2,rectangle split part align=left,draw,ultra thin,minimum width=0.333*4.8cm,text=yellow!10!black,inner xsep=0.1em,inner ysep=0.293em,font={\it\tiny}]%inner ysep is set to have 7mm overall heigh

%%%%

\pgfkeys{/spells/.is family}
\tikzset{/spells/type/.initial=spell}
\tikzset{/spells/st/.initial=None}
\tikzset{/spells/sr/.initial=No}
\tikzset{/spells/specialcomp/.initial={}}
\tikzset{/spells/note/.initial={}}
\tikzset{/spells/ref/.initial={}}
\tikzset{/spells/tempo/.initial={1 a}}
\tikzset{/spells/level/.initial={Must be passed in}}
\tikzset{/spells/name/.initial={Must be passed in}}
\tikzset{/spells/scuola/.initial={Must be passed in}}
\tikzset{/spells/durata/.initial={Must be passed in}}
\tikzset{/spells/components/.initial={Must be passed in}}
\tikzset{/spells/descrizione/.initial={Must be passed in}}
\tikzset{/spells/target/.initial={Must be passed in}}
\tikzset{/spells/range/.initial={Must be passed in}}

\newcommand{\incantesimo}[1]{%
%\begin{scope}[every node/.style={draw,ultra thin},/spells/.cd,#1]
\begin{scope}[/spells/.cd,#1]
\node[carta] (card) {};

% titolo
\node [anchor=north,title label] (name) at (card.north)
      {\usefont{OT1}{ptm}{bx}{sc}\pgfkeysvalueof{/spells/name}};

%angolo nord est
\node [anchor=north west,side label] (type) at ($(card.east |- name.south) - (0mm,0.0mm)$)
      {\textsl{\pgfkeysvalueof{/spells/type}}};

%lato sud
\node [anchor=south,prep label] (prep) at (card.south)
      {Prep:\nodepart{two}Used:};

%lato sud ovest
\node [anchor=south west,above angles label] (durata) at (card.west |- prep.north)
      {\textsf{Duration: \pgfkeysvalueof{/spells/durata}}};

%lato sud est
\node [anchor=south east,above angles label] (tempo) at (card.east |- prep.north)
      {\textsf{CT: \pgfkeysvalueof{/spells/tempo}}};

\node [anchor=north east,side label] (ref) at ($(tempo.north east) + (0,3mm)$)
      {\pgfkeysvalueof{/spells/ref}};


%angolo sud ovest
\node [anchor=south west,angles label] (sr) at (card.south west)
      {\textsc{SR:}\nodepart{two}\textsc{\pgfkeysvalueof{/spells/sr}}};

%angolo sud est
\node [anchor=south east,angles label] (st) at (card.south east)
      {\textsc{ST:}\nodepart{two}\textsc{\pgfkeysvalueof{/spells/st}}};


%sottotitoli
\node [anchor=north east,align=flush right,rectangle,subt label] (scuola) at (type.south west)
      {\emph{\pgfkeysvalueof{/spells/scuola}}};

\node [anchor=north west,rectangle split,rectangle split parts=2,rectangle split part align={left,flushright},subt label]
      (components) at ($(scuola.south -| card.west) - (0mm,0mm)$)
      {\textsc{\pgfkeysvalueof{/spells/components}}\nodepart{two}{\tiny\pgfkeysvalueof{/spells/specialcomp}}};


%centro
\node [anchor=west,descr label] (description) at ($0.70*(card.west)+0.3*(card.south west)$)
      {\pgfkeysvalueof{/spells/descrizione}};

\node [anchor=north,descr label] (notes) at (description.south)
      {\tiny\fontseries{e}\pgfkeysvalueof{/spells/note}};

% sopra il centro
\node [anchor=south west,trg label=flush left] (target) at ($(description.north west) + (0,1mm)$)
      {{\tiny{}Target/Effect/Area:}\\{\slshape\pgfkeysvalueof{/spells/target}}};

\node [anchor=south east,trg label=flush right] (range) at (target.north -| type.south)
      {{\tiny{}Range:} \textnormal{\itshape\pgfkeysvalueof{/spells/range}}};

%lato est
\node [anchor=north west,side label] (lvl) at ($0.8*(card.east)+0.2*(card.north east)$)
      {\textbf{LVL \pgfkeysvalueof{/spells/level}}};


\end{scope}%
}
