This commit is contained in:
Steve Krulewitz 2022-05-27 16:58:44 -07:00
parent f4640c011a
commit 15c2f9c551
3 changed files with 163 additions and 2 deletions

View File

@ -0,0 +1,88 @@
\documentclass{skrul-leadsheet-chords}[20pt]
\begin{document}
\begin{song}[transpose-capo=true]{title={Bad Day}, band={R.E.M.}, bpm={98}, key={F}}
\begin{intr}
\instruction{4 bar guitar riff intro over these (unplayed) chords} \\
\chordtable{
\\[-0.5ex]
\xb{F} & \xb{C} & \xb{Bb} & \xb{Bb} & &
}
\end{intr}
\begin{v1}
\chordtable{
\xb{F} & \xb{C} & \xb{Bb} & \xbb{Bb}[\textbf{...}]{C}[\textbf{.}] & & \\
\xb{F} & \xb{C} & \xb{Gm} & \xb{Gm} & & \\
\xb{F} & \xb{C} & \xb{Bb} & \xbb{Bb}[\textbf{...}]{C}[\textbf{.}] & & \\
\xb{F} & \xb{C} & \xb{Gm} & \xb{Gm} & & \\
}
\end{v1}
\begin{b1}
\chordtable{
\xb{C} & \xb{C} & \xb{Dm} & \xb{Bb} & & \\
\xb{C} & \xb{C} & \xb{Dm} & \xb{Bb} & & \\
\xb{Am} & \xb{C} & & & \\
}
\end{b1}
\begin{v2}
\instruction{Repeat Verse}
\end{v2}
\begin{b2}
\instruction{Repeat Bridge}
\end{b2}
\begin{c1}
\chordtable{
\xb{F} & \xb{C} & \xb{Gm} & \xb{Gm} & repeat 4x & \\
}
\end{c1}
\begin{v3}
\instruction{Repeat Verse}
\end{v3}
\begin{b3}
\instruction{Repeat Bridge}
\end{b3}
\begin{c2}
\instruction{Repeat Chorus}
\end{c2}
\begin{s1}
\instruction{Guitar bends for 2 bars}
\end{s1}
\begin{c3}
\instruction{Repeat Chorus with doo doo doo doo doo ahhh}
\end{c3}
\begin{b4}
\instruction{Repeat Bridge}
\end{b4}
\begin{c4}
\instruction{Repeat Chorus}
\end{c4}
\begin{c5}
\instruction{Repeat Chorus}
\end{c5}
\begin{c6}
\instruction{Repeat Chorus with doo doo doo doo doo ahhh}
\end{c6}
\begin{out}
\chordtable{
\xb{Gm}[ $\Diamond$ ] & & & &
}
\end{out}
\end{song}
\end{document}

View File

@ -36,11 +36,11 @@
\begin{song}[transpose-capo=true]{title={The One I Love}, band={R.E.M.}, bpm={128}, key={Em}}
\begin{intr}
\adjustbox{valign=t}{
%\adjustbox{valign=t}{
\begin{tabularx}{\textwidth}{XXXXX}
\xb{Em} & \xb{Dsus2} & \xb{Em} & \xb{Em} &
\end{tabularx}
}
%}
\end{intr}
\begin{v1}

View File

@ -3,6 +3,7 @@
\usepackage{savesym}
\usepackage{gchords}
\savesymbol{chord}
\RequirePackage{leadsheets}
@ -24,6 +25,11 @@
\usepackage[dvipsnames]{xcolor}
\usepackage{tabularx}
\usepackage{xparse}
\usepackage{adjustbox}
\usepackage{amssymb}
\definesongproperty{bpm}
\definesongproperty{meter}
\definesongproperty{note}
@ -132,6 +138,53 @@
\ExplSyntaxOff
\makeatletter
\newcommand\cellwidth{\TX@col@width}
\makeatother
\NewDocumentCommand \xb { m O{\space} }{{
\smash{%
\raisebox{10pt}{%
\begin{tabular}{@{}c}
#2 \\
\writechord{#1} \\
\end{tabular}
}
}
}}
\NewDocumentCommand \xbb { m O{\space} m O{\space} }{{
\smash{%
\raisebox{10pt}{%
\begin{tabular}{@{}cc@{}}
#2 & #4 \\
\writechord{#1} & \writechord{#3} \\ \hline
\end{tabular}
}
}
}}
\NewDocumentCommand \xbbbb { m o m o m o m o }{{
\begin{tabular}{@{}lll}
\IfNoValueTF{#2}{}{#2} & \IfNoValueTF{#4}{}{#4} & \IfNoValueTF{#6}{}{#6} & \IfNoValueTF{#8}{}{#8} \\[-1ex]
\writechord{#1} & \writechord{#3} & \writechord{#5} & \writechord{#7} \\ \hline
\end{tabular}}
}
% Globally smashes the row height of all tabularx rows. However, this
% messes with the baseline of the first row so compensate for it later.
\setlength{\extrarowheight}{-1.5ex}
\NewDocumentCommand \chordtable { m }{{
\adjustbox{valign=t}{
\begin{tabularx}{\textwidth}{XXXXXX}
\\[0.4ex] % row height compensation
#1
\end{tabularx}
}
\vspace*{-4ex} % remote some extra padding on bottom?
}}
\setleadsheets{
title-template = leadsheet,
align-chords=l,
@ -155,7 +208,27 @@
\provideversetype{v4}[name=V4]
\provideversetype{c1}[name=C1]
\provideversetype{c2}[name=C2]
\provideversetype{c3}[name=C3]
\provideversetype{c4}[name=C4]
\provideversetype{c5}[name=C5]
\provideversetype{c6}[name=C6]
\provideversetype{b0}[name=B]
\provideversetype{b1}[name=B1]
\provideversetype{b2}[name=B2]
\provideversetype{b3}[name=B3]
\provideversetype{b4}[name=B4]
\provideversetype{s1}[name=S1]
\provideversetype{s2}[name=S2]
\provideversetype{i1}[name=I1]
\provideversetype{i2}[name=I2]
\provideversetype{intr}[name=In]
\provideversetype{out}[name=Out]
\provideversetype{s}[name=S]
\providerobustcmd*\lsenparen[1]{%