|
|
|
% Tabs Package -- version 0.1 for LaTeX2e
|
|
|
|
%
|
|
|
|
% This package provide macros for tablatures creations
|
|
|
|
|
|
|
|
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
|
|
|
|
\ProvidesPackage{tabs}[2014/04/13 Tabs Package, version 0.1]
|
|
|
|
|
|
|
|
\RequirePackage{tikz}
|
|
|
|
|
|
|
|
% Counters
|
|
|
|
\newcounter{tab-string}
|
|
|
|
\newcounter{tab-tempo}
|
|
|
|
\newcounter{tab-line}
|
|
|
|
% Length
|
|
|
|
\newlength{\tablen}
|
|
|
|
% Variables
|
|
|
|
\def\chordtuning{E,A,D,G,B,e}
|
|
|
|
\def\xunit{0.35}
|
|
|
|
\def\yunit{0.2}
|
|
|
|
% The tab environmant
|
|
|
|
% \begin{tab}
|
|
|
|
\newenvironment{tab}
|
|
|
|
{
|
|
|
|
\normalsize
|
|
|
|
\setcounter{tab-line}{0}
|
|
|
|
\setcounter{tab-tempo}{0}
|
|
|
|
|
|
|
|
\setlength{\tablen}{\xunit cm}
|
|
|
|
|
|
|
|
% A single note
|
|
|
|
% \single <string> <fret>
|
|
|
|
\newcommand{\single}[2]{
|
|
|
|
% draw tuning if we are at the beginining of a new tab line
|
|
|
|
\ifnum\value{tab-tempo}=0
|
|
|
|
\setcounter{tab-string}{6}
|
|
|
|
\foreach \tuning in \chordtuning
|
|
|
|
{
|
|
|
|
\node at (-1,\value{tab-line}+\value{tab-string}) {\tuning};
|
|
|
|
\addtocounter{tab-string}{-1}
|
|
|
|
}
|
|
|
|
\fi
|
|
|
|
|
|
|
|
% draw the 6 strings
|
|
|
|
\foreach \string in {1,...,6}
|
|
|
|
{
|
|
|
|
\draw[xshift=-0.5cm] (\value{tab-tempo},\value{tab-line}+\string) -- +(1,0);
|
|
|
|
}
|
|
|
|
\draw node[single] at (\value{tab-tempo},\value{tab-line}+##1) {##2};
|
|
|
|
\addtocounter{tab-tempo}{1}
|
|
|
|
\addtolength{\tablen}{\xunit cm}
|
|
|
|
\ifnum\hsize<\tablen
|
|
|
|
\addtocounter{tab-line}{8}
|
|
|
|
\setlength{\tablen}{\xunit cm}
|
|
|
|
\setcounter{tab-tempo}{0}
|
|
|
|
\end{tikzpicture}
|
|
|
|
\begin{tikzpicture}[
|
|
|
|
single/.style={},
|
|
|
|
cm={\xunit,0,0,-\yunit,(0,0)}
|
|
|
|
]
|
|
|
|
\fi
|
|
|
|
}
|
|
|
|
% A mesure bar
|
|
|
|
% \bar
|
|
|
|
\renewcommand{\bar}{
|
|
|
|
\draw[xshift=-0.5cm] (\value{tab-tempo},\value{tab-line}+1) --+(0,5);
|
|
|
|
}
|
|
|
|
|
|
|
|
\hspace{-\parindent}
|
|
|
|
\begin{tikzpicture}[
|
|
|
|
single/.style={},
|
|
|
|
cm={\xunit,0,0,-\yunit,(0,0)}
|
|
|
|
]
|
|
|
|
|
|
|
|
% draw the first bar
|
|
|
|
\draw[xshift=-0.5cm] (0,1) --+(0,5);
|
|
|
|
}
|
|
|
|
{
|
|
|
|
\end{tikzpicture}
|
|
|
|
}
|
|
|
|
\fi%
|
|
|
|
|
|
|
|
\endinput
|