From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001
From: Norbert Preining <norbert@preining.info>
Date: Mon, 2 Sep 2019 13:46:59 +0900
Subject: Initial commit

---
 .../guitarchordschemes/guitarchordschemes_en.tex   | 403 +++++++++++++++++++++
 1 file changed, 403 insertions(+)
 create mode 100644 macros/latex/contrib/guitarchordschemes/guitarchordschemes_en.tex

(limited to 'macros/latex/contrib/guitarchordschemes/guitarchordschemes_en.tex')

diff --git a/macros/latex/contrib/guitarchordschemes/guitarchordschemes_en.tex b/macros/latex/contrib/guitarchordschemes/guitarchordschemes_en.tex
new file mode 100644
index 0000000000..7112b93b01
--- /dev/null
+++ b/macros/latex/contrib/guitarchordschemes/guitarchordschemes_en.tex
@@ -0,0 +1,403 @@
+% arara: pdflatex
+% arara: biber
+% arara: pdflatex
+% arara: pdflatex
+% --------------------------------------------------------------------------
+% the GUITARCHORDSCHEMES package
+% 
+%   Guitar Chord and Scale Tablatures with TikZ
+% 
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web:    https://bitbucket.org/cgnieder/guitarchordschemes/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2013--2016 Clemens Niederberger
+% 
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%   http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+% 
+% This work has the LPPL maintenance status `maintained'.
+% 
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% The guitarchordschemes package consists of the files
+%  - guitarchordschemes.sty,
+%  - guitarchordschemes_en.tex,
+%  - guitarchordschemes_en.pdf,
+%  - README
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass[load-preamble+]{cnltx-doc}
+\usepackage{guitarchordschemes}
+\usepackage[chords]{leadsheets}
+
+\setcnltx{
+  package = guitarchordschemes ,
+  authors = Clemens Niederberger ,
+  email   = contact@mychemistry.eu ,
+  url     = https://bitbucket.org/cgnieder/guitarchordschemes/ ,
+  info    = guitar chord schemes and fingering scales with \TikZ ,
+  add-cmds = {
+    chordscheme,
+    setchordscheme,
+    setfingering ,
+    scales
+  } ,
+  add-silent-cmds = textsuperscript ,
+  abstract = {%
+    \centering
+    \chordscheme[
+      name      = Gmi7 ,
+      position  = II ,
+      barre     = {2/2-4:3} ,
+      show-root = {4/4} ,
+      root      = {2/6:2} ,
+      mute      = {1,5}
+    ]%
+  } ,
+  index-setup = {
+     othercode = \footnotesize ,
+     level = \addsec ,
+     noclearpage
+  } ,
+  makeindex-setup = {
+     columns = 3 ,
+     columnsep = 1em
+  }
+}
+
+\addbibresource{\jobname.bib}
+\begin{filecontents}{\jobname.bib}
+@online{web:pietsch:fonts,
+  author  = {Jochen Pietsch} ,
+  title   = {Jazz Fonts} ,
+  url     = {http://notation.jochenpietsch.de/index_e.html} ,
+  urldate = {2012-05-10}
+}
+@book{leavitt:mmfg:1,
+  author    = {William G. Leavitt},
+  title     = {A Modern Method for Guitar},
+  volume    = {1},
+  publisher = {Berklee Press Publications, Boston},
+  year      = {1966}
+}
+\end{filecontents}
+
+\usepackage{ccicons}
+
+\setchordscheme{
+  finger-format+ = \biolinumLF ,
+  name-format+   = \libertineLF ,
+  chord-name-cs  = \chordname
+}
+
+\newcommand*\TikZ{Ti\textit{k}Z}
+
+\begin{document}
+
+\section{License and Requirements}
+
+\license
+
+\guitarchordschemes{} loads the packages \TikZ~\cite{pkg:pgf},
+\pkg{etoolbox}~\cite{pkg:etoolbox} and \pkg{pgfopts}~\cite{pkg:pgfopts}.  It
+also loads the \TikZ{} libraries \code{shapes.misc}, \code{arrows} and
+\code{calc}.
+
+% Depending on an option it also loads
+% \pkg{realbookchords}~\cite{pkg:realbookchords}.  This package is not yet
+% published on \CTAN{} and thus not part of any \TeX{} distribution. Until it is
+% you can find it at \url{https://bitbucket.org/cgnieder/realbookchords/}.  See
+% section~\ref{sec:realbookchords} for details on this option.
+
+\section{The Commands}
+This package mainly provides two commands:
+\begin{commands}
+  \command{chordscheme}[\oarg{options}]
+    Typeset a guitar chord scheme.
+  \command{scales}[\oarg{option}]
+    Typeset a fingering scale.
+\end{commands}
+These commands set the frame for the chord and scale tablatures and can be used
+to create sheets for manually writing down tablatures:
+\begin{example}[side-by-side]
+  \chordscheme
+\end{example}
+
+Similarly \cs{scales} creates a frame with two more frets:
+\begin{example}
+  \scales
+\end{example}
+
+\subsection{Options for \cs*{chordscheme}}
+The \meta{options} argument is where the actual details for a chord
+happen. These are the available ones for \cs{chordscheme}:
+\begin{options}
+  \keyval{fret-number}{number}\Default{4}
+    \sinceversion{0.6}The number of frets that are drawn.  This number must be
+    at least 4.  The option should be set as first option since it influences
+    other options.
+  \keyval{name}{chordsymbol}
+    Set the chord symbol. This option accepts a comma separated list of
+    entries.
+  \keyval{position}{position}
+    Set the position for the first of the four frets.
+  \keychoice{finger}{\meta{fret}/\meta{string}:\meta{label}}
+    Specify the finger positions for a chord.  This option accepts a comma
+    separated list of entries.  The \code{:\meta{label}} is optional.
+  \keychoice{root}{\meta{fret}/\meta{string}:\meta{label}}
+    The same as finger but uses a square instead of a circle to indicate that
+    this finger is playing the root of the chord.  This option accepts a comma
+    separated list of  entries. The \code{:\meta{label}} is optional.
+  \keychoice{show-root}{\meta{fret}/\meta{string}}
+    Specify positions of the root that are \emph{not} part of the actual chord
+    but are somewhere in the vicinity of it on the guitar neck.  This option
+    accepts a comma separated list of entries.
+  \keychoice{barre}{\meta{fret}/\meta{string range}:\meta{label}}
+    Specify a barr\'e position for a chord.  The \meta{string range} part must
+    contain a two string numbers separated with a dash.  This option accepts a
+    list of entries. The \code{:\meta{label}} is optional.
+  \keyval{ring}{string}
+    Specify open strings.  This option accepts a comma separatedlist of
+    entries.
+  \keyval{mute}{string}
+    Specify muted/un-played strings.  This option accepts a comma separated
+    list of entries.
+\end{options}
+
+Let's take a look at a few examples:
+
+\begin{example}[side-by-side]
+  \chordscheme[
+    name      = G ,
+    position  = I ,
+    finger    = {2/5:1} ,
+    root      = {3/6:2, 3/1:4} ,
+    ring      = {2,3,4}
+  ]
+\end{example}
+\makeatletter
+\setchordscheme{chord-name-cs=\@firstofone}
+\makeatother
+
+Or a more "`jazzy"' chord:
+\begin{example}[side-by-side]
+  \chordscheme[
+    name      = G\textsuperscript{6} ,
+    position  = II ,
+    finger    = {1/4:1, 3/3:4, 2/2:3} ,
+    root      = 2/6:2 ,
+    show-root = 4/4 ,
+    mute      = {1,5}
+  ]
+\end{example}
+
+One with a barr\'e:
+
+\begin{example}[side-by-side]
+  \chordscheme[
+    name      = Gmi\textsuperscript{7} ,
+    position  = II ,
+    barre     = 2/2-4:3 ,
+    show-root = 4/4 ,
+    root      = 2/6:2 ,
+    mute      = {1,5}
+  ]
+\end{example}
+
+\subsection{Options for \cs*{scales}}
+The \meta{options} argument for \cs{scales} are similar to the ones for
+\cs{chordscheme}:
+\begin{options}
+  \keyval{fret-number}{number}\Default{6}
+    \sinceversion{0.6}The number of frets that are drawn.  This number must be
+    at least 6.  The option should be set as first option since it influences
+    other options.
+  \keyval{name}{title}
+    Set a title for the scale.
+  \keyval{position}{position}
+    Set the position for the first of the six frets.
+  \keychoice{finger}{\meta{fret}/\meta{string}:\meta{label}}
+    Specify the finger positions for the scale.  This option accepts a comma
+    separated list of entries.  The \code{:\meta{label}} is optional.
+  \keychoice{root}{\meta{fret}/\meta{string}:\meta{label}}
+    The same as finger but uses a square instead of a circle to indicate that
+    this finger is playing the root of the scale.  This option accepts a comma
+    separated list of entries.  The \code{:\meta{label}} is optional.
+  \keyval{fret number}{integer}\Default{6}
+    The number of frets displayed for a scale.  The minimum number is 6.
+  \keychoice{fingering}{type 1,type 1A,type 2,type 3,type 4}
+    Set a whole predefined fingering.  The types correspond to ones taught
+    in \citeauthor{leavitt:mmfg:1}'s
+    \citetitle{leavitt:mmfg:1}~\cite{leavitt:mmfg:1}.  This option assumes an
+    ionic scale and places the roots correspondingly.
+  \keychoice{fingering*}{type 1,type 1A,type 2,type 3,type 4}
+    The same as \option{fingering} but no scale is assumed and no roots are
+    indicated.
+  \keychoice{fingering?}{type 1,type 1A,type 2,type 3,type 4}
+    The same as \option{fingering*} but also no labels for the fingers are given.
+\end{options}
+
+Let's see an example:
+\begin{example}
+  \scales[
+    name      = F-major (Fingering Type~1A) ,
+    position  = I ,
+    fingering = type 1A
+  ]
+\end{example}
+
+An example for \option{fingering*}:
+\begin{example}
+  \scales[
+    name       = Fingering Type~3 ,
+    fingering* = type 3
+  ]
+\end{example}
+
+Now an example for \option{fingering?}:
+\begin{example}
+  \scales[
+    name       = Fingering Type~2 ,
+    fingering? = type 2
+  ]
+\end{example}
+
+At last an example for an explicitly set scale:
+\begin{example}
+  \scales[
+    finger = {
+      2/1:1,               5/1:4,
+      2/2:1,               5/2:4,
+      2/3:1,        4/3:3, 5/3:4,
+      2/4:1,        4/4:3,
+      2/5:1, 3/5:2, 4/5:3,      
+      2/6:1,               5/6:4
+    }
+  ]
+\end{example}
+
+You can add other predefined fingerings or change the existing ones with the
+following command:
+\begin{commands}
+  \command{setfingering}[\marg{name}\marg{fingers}\marg{roots}]
+    \sinceversion{0.7}\marg{name} sets the name as chosen by
+    \option{fingering}, \option{fingering*} or \option{fingering?},
+    \meta{fingers} is passed to the \option{finger} option and \meta{roots}
+    either to the \option{finger} option or the \option{root} option depending
+    if the fingering is called by \option{fingering}, \option{fingering*} or
+    \option{fingering?}.
+\end{commands}
+As an example here is how fingering type 1A has been defined:
+\begin{sourcecode}
+  \setfingering{type 1A}{
+                   3/1:2,        5/1:4,
+                   3/2:2,        5/2:4,
+            2/3:1, 3/3:2,        5/3:4,
+            2/4:1,               5/4:4,
+    1/5:1s,        3/5:2,        5/5:4,
+                   3/6:2,        5/6:4
+  }{1/1:1s, 3/4:2, 1/6:1s}
+\end{sourcecode}
+
+\section{Options}
+There are quite a number of options determining the layout of the tablatures.
+They can either be set as package options or via the setup command:
+\begin{commands}
+  \command{setchordscheme}[\marg{options}]
+    The setup command for \guitarchordschemes.
+\end{commands}
+
+Below every option and its corresponding default setting is described.
+\begin{options}
+  \keyval{x-unit}{dim}\Default{.8cm}
+    The basic $x$ unit for the \TikZ{} picture the chord scheme is set in.
+  \keyval{y-unit}{dim}\Default{.8cm}
+    The basic $y$ unit for the \TikZ{} picture the chord scheme is set in.
+  \keyval{rotate}{angle}\Default{0}
+    \sinceversion{0.7}Rotates the diagram counter-clockwise by \meta{angle}.
+  \keyval{finger-format}{\TeX{} code}\Default{\cs*{sffamily}\cs*{small}}
+    The format the numbers for the fingers are typeset with.
+  \keyval{finger-format+}{\TeX{} code}\Default
+    Code to be appended to \option{finger-format}.
+  \keyval{position-format}{\TeX{} code}\Default{\cs*{sffamily}}
+    The format the number for the position is typeset with.
+  \keyval{position-format+}{\TeX{} code}\Default
+    Code to be appended to \option{position-format}.
+  \keyval{name-format}{\TeX{} code}\Default{\cs*{large}}
+    The format the chord name/symbol is typeset with.
+  \keyval{name-format+}{\TeX{} code}\Default
+    Code to be appended to \option{name-format}.
+  \keybool{name-below}\Default{false}
+    \sinceversion{0.7}If set to \code{true} the name will be written below
+    instead of above the diagram.
+  \keyval{name-distance}{dim}\Default{.5em}
+    \sinceversion{0.7}The distance between name and chord diagram.
+  \keyval{chord-name-cs}{cs}\Default{\cs*{@firstofone}}
+    \sinceversion{0.5}The command that is used to parse the chord name.
+    \meta{cs} needs to be a command that takes a mandatory argument.
+  \keyval{scales-name-cs}{cs}\Default{\cs*{@firstofone}}
+    \sinceversion{0.5}The command that is used to parse the scales name.
+    \meta{cs} needs to be a command that takes a mandatory argument.
+  \keyval{string-name-format}{\TeX{} code}\Default{\cs*{sffamily}\cs*{small}}
+    The format the names of the strings are typeset with.
+  \keyval{string-name-format+}{\TeX{} code}\Default
+    Code to be appended to \option{string-name-format}.
+  \keyval{strings}{num}\Default{6}
+    \sinceversion{0.7}Sets the number of strings.
+  \keyval{chord-frets}{number}\Default{4}
+    \sinceversion{0.6}The default number of frets of a chord scheme.
+    \meta{number} must be at least 4. 
+  \keyval{scales-frets}{number}\Default{6}
+    \sinceversion{0.6}The default number of frets of a scales scheme.
+    \meta{number} must be at least 6.
+  \keyval{line-width}{dim}\Default{1pt}
+    The line width used for all lines drawn in the chord scheme.
+  \keyval{finger-radius}{num}\Default{.1875}
+    The radius of the circles that represent the fingers in multiples of
+    \option{x-unit}.  Also determines the size of the root markers and the
+    barr\'e.
+  \keyval{finger-x-offset}{num}\Default{.375}
+    The $x$ offset of the number with respect to the circle in multiples of
+    \option{x-unit}.
+  \keyval{finger-y-offset}{num}\Default{.375}
+    The $y$ offset of the number with respect to the circle in multiples of
+    \option{y-unit}.
+  \keyval{finger-style}{\TikZ{} style}\Default{fill}
+    The \TikZ{} style the circles representing the fingers are drawn with.
+    This is equivalent to \cs*{tikzset}\Marg{finger
+      style/.style=\{\meta{\TikZ{} style}\}}.
+  \keyval{root-style}{\TikZ{} style}\Default{fill}
+    The \TikZ{} style the squares representing the roots are drawn with.
+    This is equivalent to \cs*{tikzset}\Marg{root style/.style=\{\meta{\TikZ{}
+        style}\}}.
+  \keyval{show-root-style}{\TikZ{} style}\Default{draw}
+    The \TikZ{} style the squares representing the "`ghost roots"' are drawn
+    with.  This is equivalent to \cs*{tikzset}\Marg{show root
+      style/.style=\{\meta{\TikZ{} style}\}}.
+  \keyval{ringing-style}{\TikZ{} style}\Default{draw}
+    The \TikZ{} style the circles representing the open string markers are
+    drawn with.  This is equivalent to \cs*{tikzset}\Marg{ringing
+      style/.style=\{\meta{\TikZ{} style}\}}.
+  \keyval{muted-style}{\TikZ{} style}\Default{cross out,draw}
+    The \TikZ{} style the nodes representing muted strings are drawn with.
+    This is equivalent to \cs*{tikzset}\Marg{muted style/.style=\{\meta{\TikZ{}
+        style}\}}.
+  \keyval{tuning}{comma separated list of string names}\Default{E,B,G,D,A,E}
+    The tuning.  The strings are named from first to sixth string.  If you
+    want to remove all names use \keyis{tuning}{,,,,,}.
+  \keybool{restrict-bounding-box}\Default{false}
+    \sinceversion{0.7}If set to \code{true} the bounding box of the \TikZ{}
+    picture is not extended by string names, position labels etc.\@ but
+    restricted (more or less) only to the chord scheme diagram itself.
+\end{options}
+
+\end{document}
-- 
cgit v1.2.3

