\documentclass{article} \usepackage{gchords} \usepackage{geometry} \usepackage{rotating} \begin{document} \begin{center} {\Large GCHORDS, a \LaTeXe\ package to draw guitar chord diagrams}\\ \vskip 0.2cm {\large by Kasper Peeters, kasper.peeters@aei.mpg.de} \end{center} \vskip 4cm GCHORDS is a \LaTeXe\ package to draw those familiar guitar chord diagrams. Options are available to draw them in any size, using any number of strings, produce black dotes or numbered circles to denote fingers, add chordnames, show the number of the top fret, specify fonts for almost any symbol occuring in the diagram and many more. There is also a macro to typeset chords above lyrics. A small TCL script for graphical construction of chord symbols is also included. This is a short guide to show how the commands work, with a few examples included. Feel free to contact me if you want other features included. \medskip Note that, in order for this to work, you need the \LaTeX\ `lcircle' font in various sizes. \medskip The homepage for this macro package is {\tt http://www.damtp.cam.ac.uk/user/kp229/gchords/}. \renewcommand\topfretsiz{3pt} %------------------------------------------------------------------------- \section{Quick guide} The main macro is called {\tt$\backslash$chord}, and should be used as follows: \bigskip {$\backslash${\tt chord}\{{\it modifiers}\/\}\{$x_1,x_2,\ldots$\}\{{\it name}\/\}}, where \begin{itemize} \item {\it modifiers}\/: Currently, there are two uses of this part. Putting a `t' in it draws a thick top fret. Putting in an arbitrary number (large numbers must be put in curly braces) resuls in this number being printed at the top left corner of the diagram (denoting a fret position). \item $x_1,x_2,\ldots$: Each $x_i$ contains the information for a single string. Recognized commands are \begin{itemize} \item {\tt b}: This note is a base note and will be printed a bit larger than the others, \item {\tt n}: This string does not contain any dots. \item {\tt x}: This string should be muted (a $\times$ appears above the string). \item {\tt o}: This string should be explicitly labelled as open (a $\circ$ symbol appears above the string). \item {\tt f{\it num}\/}: This note should be played with finger number {\it num}\/. The number will be put inside the (open) dot. \item {\tt p{\it num}\/}: Fret number on which the dot should be placed. If you need numbers larger than $9$, they must be enclosed in curly braces. \item {\tt t{\it txt}\/}: Adds a label to this string, to be put at the very top of the diagram (useful to add the name of the note, for instance). If you need more than one character, put the text in curly brackets (though this probably will not fit). \item {\tt s{\it num}\/}: Use a different string to put this note on. \end{itemize} \item {\it name}\/: The name of the chord. Appears underneath the diagram. \end{itemize} If you want to put more notes on one string, just add the $f$ and $p$ sequences. They {\em must}\/ appear in top-down order in order for the strings to be drawn correctly. The chord macro can be used in tables if you need a lot of diagrams neatly aligned. For a row of diagrams, the shortcut {$\backslash$\texttt{chords}$\{$ \textit{chords}$\}$} may be used (where {\it chords}\/ is a sequence of chord macros). \smallchords\def\xoff{0}\def\yoff{0} A few examples will illustrate the possibilities. First, lets put a diagram in the text itself, like \chord{t}{n,n,p2,p2,p1,n}{}, which is just A minor. The numbers of the fingers can be put in, resulting in \chord{t}{n,n,f2p2,f0p2,f1p1,n}{}. Now let's make the diagrams a bit larger and put them in a separate line, like \def\numfrets{6}\mediumchords\def\xoff{2}\def\yoff{2} \chords{\chord{t}{t{E}n,t{A}n,t{E}f{m}p2,t{A}f3p2,t{C}f1p1,t{E}n}{Am}\chord{t}{x,f3p3,f2p2,o,f1p1,n}{C}} In the first diagram you can see how to put note names at the top of the diagram. It is also possible to display a larger part of the neck, like in \def\numfrets{10} \chords{\chord{t}{p5,p7,p7,p6,p5,p5}{A}} which can also be displayed as \def\numfrets{5} \chords{\chord{{5~}}{p1,p3,p3,p2,p1,p1}{A}} Nice patterns to play are the following: \chords{\chord{}{p1p4,p1p3,p1p3,p1p3,p1p4,p1p4}{} \def\numfrets{20} \chord{}{p{10}p{13},p{10}p{12},p{10}p{12},p{10}p{12},p{10}p{13},p{10}p{13}}{}} %------------------------------------------------------------------------- \section{Gchords and lyrics} You can also typeset chords above lyrics by using the {\tt $\backslash$upchord} command, provided by Yotam Medini. You use it as follows \begin{verbatim} \begin{verse} \smallchords \newcommand{\AsevenMaj}{\chord{t}{x,n,p2,p1,p2,n}{A7+}} Getting to \upchord{\AsevenMaj}know you \end{verse} \end{verbatim} which produces the output \begin{verse} \smallchords \newcommand{\AsevenMaj}{\chord{t}{x,n,p2,p1,p2,n}{A7+}} Getting to \upchord{\AsevenMaj}know you \end{verse} See the file {\tt get2knowu.tex} for a more complicated example. There is currently no functionality for rotated diagrams, but you can rotate the diagrams using the ``rotating'' package: {\smallchords\hspace{10ex}\raisebox{-10ex}{\vbox{\begin{rotate}{90} \chord{t}{x,n,p2,p1,p2,n}{A7+} \end{rotate}}}} %------------------------------------------------------------------------- \section{Chordbox graphical chord editor} Included in the distribution is a small TCL script which provides a graphical editor for chords. This script was written by David R.~Lovell. To start it, for instance with 8 frets, type \begin{quote} \verb|wish chordbox.tcl 8| \end{quote} After constructing the chord and entering the name, press the `print' button to see the \LaTeX{} command printed on stdout. It is possible to use the `b' and `\#' symbols in the `name' field to denote `flat' and `sharp' chords. %------------------------------------------------------------------------- \section{Sizes and defaults} It's possible to change the dimensions, fonts, number of strings etc.\ by using one of the following settings. \begin{itemize} \item {$\backslash${\tt strings}\{{\it num}\/\}}: number of strings on your guitar. \item {$\backslash${\tt numfrets}\{{\it num}\/\}}: length (number of frets) of a diagram. \item {$\backslash${\tt chordsize}\{{\it dim}\/\}}: distance between two frets in some dimension known to \TeX. \item {$\backslash${\tt fingerfont}\{{\it font}\/\}}: font used for numbering of fingers. This can be any font, but if it is too large, the number will not fit into the circle, so beware. \item {$\backslash${\tt namefont}\{{\it font}\/\}}: font used when typesetting the name of the chord. \item {$\backslash${\tt fretposfont}\{{\it font}\/\}}: font used when typesetting the position of on the neck of the top fret in the diagram. \item {$\backslash${\tt dampsymbol}\{{\it symbol}\/\}}: a single symbol in any font you like, used to denote damped strings (usually a $\times$). \item {$\backslash${\tt fatsiz}\{{\it dec}\/\}}: size of a fat note (the physical size will be {$\backslash${\tt fatsiz*}$\backslash${\tt chordsize/2}}). \item {$\backslash${\tt normalsiz}\{{\it dec}\/\}}: size of a normal note. \item {$\backslash${\tt fingsiz}\{{\it dec}\/\}}: size of the circle used to produce `numbered fingers'. \item {$\backslash${\tt fatfingsiz}\{{\it dec}\/\}}: size of the circle used to produce `numbered fingers', used for the fatter notes. \item {$\backslash${\tt topfretsiz}\{{\it dim}\}}: thickness of the top fret (when the `t' modifier is used). \item {$\backslash${\tt xoff}\{{\it dec}\/\}},{$\backslash${\tt yoff}\{{\it dec}\/\}}: the left lower corner of the diagram in units of {$\backslash${\tt chordsize}}. \end{itemize} There are two sizes predefined, which can be activated by {$\backslash${\tt smallchords}} and {$\backslash${\tt mediumchords}}. \end{document}