%% This is file `dashundergaps.sty' v1.1 by Merciadri Luca.

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{dashundergaps}[2009/11/12 Dashing and underlining (phantom) text]
\PackageInfo{dashundergaps}{This is DashUnderGaps by Merciadri Luca.}

\RequirePackage{ifthen}[1994/06/01]
\PassOptionsToPackage{normalem}{ulem}
\RequirePackage{ulem}
\newboolean{dot} % false at start
\newboolean{dash} % false at start


\DeclareOption{dash}{%
\typeout{Dashing mode activated!}
\setboolean{dash}{true}
\def\dashuline{\bgroup
\ifdim\ULdepth=\maxdimen
\settodepth\ULdepth{(j}\advance\ULdepth.4pt\fi
\markoverwith{\kern.15em
\vtop{\kern\ULdepth \hrule width .3em}%
\kern.15em}\ULon}
}


\DeclareOption{dot}{%
\typeout{Dotting mode activated!}
\setboolean{dot}{true}
\def\dotuline{\bgroup
\ifdim\ULdepth=\maxdimen
\settodepth\ULdepth{(j}\advance\ULdepth.4pt\fi
\markoverwith{\begingroup
\advance\ULdepth0.08ex
\lower\ULdepth\hbox{\kern.15em .\kern.1em}%
\endgroup}\ULon}
}


\DeclareOption{phantomtext}{%
\typeout{Phantom mode activated! All the gaps will be filled.}
\newboolean{teachernotes} % false at start
\newcounter{nb-gaps}
\setcounter{nb-gaps}{1}
\newcounter{nth-gaps}
\setcounter{nth-gaps}{1}

\newcommand{\gap}[1]{%
\ifthenelse{\boolean{teachernotes}}
{\textbf{#1} (\arabic{nth-gaps})}
{\ifthenelse{\boolean{dash} \AND \boolean{dot}}{\underline{\phantom{#1}} (\arabic{nth-gaps})}{\ifthenelse{\boolean{dash}}{\dashuline{\phantom{#1}} (\arabic{nth-gaps})}{\ifthenelse{\boolean{dot}}{\dotuline{\phantom{#1}} (\arabic{nth-gaps})}{\underline{\phantom{#1}} (\arabic{nth-gaps})}}}}
\addtocounter{nb-gaps}{1}
\addtocounter{nth-gaps}{1}
}}


\DeclareOption{teachernotes}{%
\typeout{Phantom mode deactivated! All the gaps will be filled with their content.}
\setboolean{teachernotes}{true}
}


\DeclareOption{displaynbgaps}{%
\typeout{Gaps counting mode activated!}
\addtocounter{nb-gaps}{-1}
\AtEndDocument{\vfill \centering \bfseries GAPS: \arabic{nb-gaps}.}
}

\ProcessOptions\relax

