% Crepbook Package -- version 0.1 for LaTeX2e
%
% This package is intended to be used with the songbook Python program (and its
% interfaces).
% It defines some layout for automatic songbook generation.
% See http://github.com/patacrep/songbook-core/

\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{crepbook}[2014/04/13 Crepbook Package, version 0.1]

% fancy-capo: TODO
\newif{\iffancycapo}
\DeclareOption{fancy-capo}{\fancycapotrue}

% nocustomtitle: Disable title page fancy definition (back to LaTeX default)
\newif{\ifcustomtitle}
\customtitletrue
\DeclareOption{nocustomtitle}{\customtitlefalse}

% nocustomfonts: Disable fancy fonts definition (back to LaTeX default)
\newif{\ifcustomfonts}
\customfontstrue
\DeclareOption{nocustomfonts}{\customfontsfalse}

% Remaining options are passed to the SongbookUtils package
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{SongbookUtils}}

\ProcessOptions\relax

\RequirePackage{SongbookUtils}

\ifpictures
    \fancycapotrue
\fi

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Layout tweaks

% Configuration of the songs package
% Horizontal space reserved to verse number
\setlength{\versenumwidth}{1em}
% Modifier to the space between consecutive lines of lyrics
\baselineadj=-6pt plus 0pt minus 2pt
% Space between verses and chorus
\versesep=6pt plus 2pt minus 2pt



% Paragraph indentation space
\setlength{\parindent}{0.3cm}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Multilanguage management

\AtBeginDocument{
    % Default names (english)
    \def\labelversionname{Version:}
    \def\labeldatename{Date:}
    \def\labelauthorname{Authors:}
    \def\labelwebname{Web:}
    \def\labelmailname{Email:}
    
    \IfStrEq{\mainlanguage}{french}{
        % French names
        \def\labelversionname{Version~:}
        \def\labeldatename{Date~:}
        \def\labelauthorname{Auteurs~:}
        \def\labelwebname{Web~:}
        \def\labelmailname{Mail~:}
    }{}
}

% End of multilanguage management
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Title page
\long\def\subtitle#1{\long\def\@subtitle{#1}}
\def\version#1{\def\@version{#1}}
\def\web#1{\def\@web{#1}}
\def\mail#1{\def\@mail{#1}}
\def\email#1{\def\@email{#1}}
\def\picture#1{\def\@picture{#1}}
\def\picturecopyright#1{\def\@picturecopyright{#1}}
\def\footer#1{\def\@footer{#1}}

\def\clearheadinfo{
    \author{}%
    \title{No title}%
    \subtitle{}%
    \version{}%
    \web{}%
    \mail{}%
    \email{}%
    \picture{}%
    \picturecopyright{}%
}

\clearheadinfo

\ifcustomtitle
  \def\maketitle{
      \@maketitle
      \clearheadinfo
  }
\fi


\newcounter{@inst}
\newcounter{@auth}
\newcounter{auco}

\ifcustomtitle
  \def\@titlefont{\Huge\bfseries\boldmath}
  \def\@subtitlefont{\large\bfseries\boldmath}


  \def\@getelement#1{\csname @#1\endcsname}
  \def\@labelelement#1{\csname label#1name\endcsname}
  \def\@insertelement#1{\if!\@getelement{#1}!
                        \else %
                        \@labelelement{#1}& %
                        \@getelement{#1} \cr %
                        \fi %
                        }

  \def\@maketitle{
      \def\and{\unskip,\cr&}
      \begin{titlepage}
          \thispagestyle{empty}
          \begin{center}
              {\rule{\textwidth}{1mm}}
              {\@titlefont\@title\par}
              \if!\@subtitle!\else 
                  {\hfil\@subtitlefont\@subtitle\par}
              \fi
              {\rule{\textwidth}{1mm}}
          \end{center}
          \vfil
          \ialign{
              \bf{##} \hfil & ## \hfil \cr % Lines definition
              \@insertelement{version} %
              \@insertelement{date} %
              \@insertelement{author} %
              \@insertelement{web} %
              \@insertelement{mail} %
          }
          \vfil
          \begin{center}
              \includegraphics[keepaspectratio=true, width=12cm, height=12cm]{\@picture}
              \vskip1em
              {\hfil\hbox{\small \@picturecopyright}}
          \end{center}
          \begin{flushright}
          \vfil
          {\hfil\rule{.4\textwidth}{.75pt}\par}
          \@footer
          \end{flushright}
      \end{titlepage}
  }
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Fancy capo
\iffancycapo %
    \newlength{\capoheight}
    \setlength{\capoheight}{1.5cm}
    \renewcommand\capo[1]{%
        \iftranscapos%
            \transpose{#1}%
        \fi%
        \mbox{%
            \includegraphics[height=\capoheight]{capodastre}%
            \put(-22,8){\Large #1}
            }%
    }
\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Fonts definitions
\ifcustomfonts
  \def\chordfont#1{\gdef\@chordfont{#1}}
  \def\@chordfont{\small\it}

  \renewcommand{\idxtitlefont}{\sffamily\bfseries}
  \renewcommand{\idxauthfont}{\sffamily\bfseries}
  \renewcommand{\idxheadfont}{\sffamily\it\LARGE}
  \renewcommand{\idxrefsfont}{\bfseries}
  \renewcommand{\stitlefont}{\LARGE\bf}
  \renewcommand{\printchord}[1]{\@chordfont #1}
  \renewcommand{\chorusfont}{\it}
  \renewcommand{\lyricfont}{\normalfont\normalsize}
  \renewcommand{\showauthors}{%
      \hbox{\normalsize\songauthors}%
  }
\fi

\titleprefixword{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\endinput
