Songs LaTeX Package Revision History: Version 2.7 [2009/01/08]: Third CTAN release * Constructions like "\[A]\[B]\[C]lyric" now typeset the same as "\[A B C]lyric", but the chords in the sequence can be replayed separately (e.g., with "^^^lyric"). * Added support for begin- and end-repeat signs (\lrep and \rrep). * Column and page breaks can now be inserted into partial song lists created with \includeonlysongs. * Fixed a bug that caused sharp symbols to be doubled within echo parts on eTeX. Version 2.6 [2008/04/02]: * \newchords and \replay macros added, optional argument added to \memorize * new "Quick Chords" mode for Vim users to make chord-entry a snap * Windows uninstaller reworked to avoid deleting files modified since installation * Last pages of multicolumn indexes are now vertically balanced. * Fixed a bug that occasionally produced empty pages when \topskip was non-zero * Fixed a bug that produced duplicate verse numbers when the first line of a verse was contained in a group * \echo macro no longer introduces a spurious line-break on eTeX. * \DeclareLyricChar and friends now perform macro-tests based on macro name rather than macro definition. * Extended mark register classes are now allocated safely so as to cooperate with other eTeX-aware packages. Version 2.5 [2008/02/08]: * Unix version now uses the GNU automake system to configure and build itself * Support for more than two columns added (use \songcolumns to set the number of columns). * Chord replaying system now works properly in choruses. * Added \stitlefont to allow users to customize the song title font without having to redefine \makeprelude. * Added \baselineadj to allow users to customize the \baselineskip without having to redefine \everychorus and \everyverse. * Superscript ("^") now works again in math mode even when chord replaying system is active. (It can therefore be used to typeset chord names if desired.) * hyphchk utility renamed to sbdchk * sbdchk utility updated to report column numbers in reports and error messages * sbdchk and songidx sources updated to better adhere to GNU coding standards Version 2.4 [2007/10/09]: Second CTAN release * Added \titleprefixword, \authsepword, \authbyword, \authignoreword, and \idxcont to support automatic index-generation for non-English languages. * songidx program now supports piping to/from stdin/stdout (specify a filename of "-" to use this feature) and will infer an output filename when none is specified on the command line. * Unix makefiles and Windows batch files for the sample books have been updated to allow users to add new indexes without changing any of the make/batch files. Version 2.3 [2007/09/23]: * \indexentry and \indextitleentry now accept an optional argument specifying which indexes to add the new entry to (overriding the defaults for the current songs environment) * \ch and \mch macros can now replay chords by using "^" as the chord name * Renamed the .dat and .tex intermediate files produced during index generation to .sxd (Song indeX Data) and .sbx (Song Book indeX), respectively, to avoid conflicts with other software. Unix users can now write Makefiles that recognize these unique file extensions. Version 2.2 [2007/08/09]: * The page-layout algorithm now honors \maxdepth, fixing a bug that occasionally produced overfilled vbox warnings during output. * Fixed compiler warnings for systems that won't implicitly cast between integer and wide-characters. Version 2.1 [2007/08/02]: * "Overheads" mode renamed to "slides" to reflect some substantial changes to that mode (see below). * \sepverses can now be used in slides mode to put each verse and chorus on a separate slide. This seems to be the norm in churches that use a digital projector, since it allows worship leaders to repeat previous verses or choruses without having extraneous lyrics up on the screen. * Choruses in slides mode are no longer surrounded by vertical rules, but are instead italicized by default. The rules looked nice, but they made it impossible to correctly break large choruses that couldn't fit on a single slide. * To make echo parts stand out in italicized choruses, \echo now toggles between oblique and upright shapes (like \emph) instead of forcing the former. * \repchoruses can now be used to repeat choruses automatically in songs that span more than one slide. This is very useful when creating foils for an overhead projector. * \versemark and \chorusmark added to allow page headers that match the current verse or chorus rather than just the current song. * \everyverse and \everychorus added so that users can make choruses begin with "Chorus:" and the like if they wish. (Personally I think that wastes too much space, but it's a common style.) * \ifvnumbered conditional added to allow code that checks to see if the current verse is numbered or not. * New \begin...only and \begin...never conditionals introduced that are just like \if... and \if...\else except that they avoid certain "runaway argument" errors raised by the latter. * Added \versefont, \chorusfont, \versejustify, and \chorusjustify to allow users to customize font and/or justification of verses and choruses all independently. This reduces slides mode to a set of customizations that can all be manually duplicated (or undone) by the user. * \baselineskip logic improved to better handle large fonts. * Indexes now work properly when using \includeonlysongs to generate a partial list. * \brk can now be used in vertical mode to suggest column- and page-breaks in verses and choruses that are too long to fit on a single slide. * Added \DeclareNonLyric and \DeclareNoHyphen for better support of \inputenc. * \tablature macro shortened to \gtab and with only two mandatory arguments instead of four. * Automatic transposition now recognizes alternate note names, such as solfedge note names. Version 2.0 [2007/06/20]: * Introduced keyval syntax for \beginsong. * Added chord-replaying system (^, \memorize, \[^...]). * Removed in-package code that loads hyperref. Users must now load hyperref manually. * \songsection and \songchapter now support optional arguments like \section and \chapter do. * Non-output-producing tokens (like \relax) can now appear between the last \Acolon or \Bcolon line and the \endscripture line without messing up the scripture citation that gets appended to the last line. * Fewer macros are declared \outer, allowing authors to embed them within their own macro definitions. * Lyric-scanner code is now faster. * songidx was not recognizing apostrophes as intra-word characters. * When a guitar tablature diagram with a fret number appeared above a lyric, subsequent chords that did not include tablature diagrams were being spaced incorrectly (as if they had invisible fret numbers). * Fixed a bug that caused songs environments to occasionally generate pages slightly larger than \textheight. Version 1.22 [2007/05/15]: First CTAN release * \chordson and \chordsoff modified to update interline spacing, so that they can now be used within a song. * \MultiwordChords added to allow spaces to be included under chords. * \DeclareLyricChar added to allow user-specified macros to be treated as lyric characters. * Added support for UTF-8 encoded source files. Version 1.21 [2006/09/17]: * Changed \rep so that it does not enter math mode when making the "times" symbol. (This helps quell missing font size warnings.) * \echo now preserves existing font selection and merely italicizes it. Version 1.20 [2006/03/12]: * Added \noversenumbers to turn off automatic verse numbering Version 1.19 [2005/10/24]: * Added book sectioning commands (\songchapter and \songsection). * Fixed song numbering so that it now starts at 1 by default in each song section. Version 1.18 [2005/09/29]: * Automatic verse numbering added. Version 1.17 [2005/09/24]: First release as a style package instead of a class * Code massively reorganized to function as a .sty package instead of a .cls class. * Added \songmark so that users can add marks to affect page headers/footers Version 1.16 [2005/07/23]: * First rollout of the new \[] syntax for producing chords. Lyrics are parsed as an implicit second argument. Version 1.15 [2005/05/26]: * Added song title iterators: \songtitle, \songtitletoks, \nexttitle, \foreachtitle, \resettitles * Added \makeprelude and \makepostlude to allow users to customize song headers/footers Version 1.14 [2005/05/15]: * Introduced the scripture reference parser, to prevent odd linebreaks in scripture references. * Choruses now stretch and shrink like verses do. Version 1.13 [2005/05/12]: * Added kerning correction for double-quote ligatures in the Zaph Chancery font. * Added \Acolon, \Bcolon, and \strophe for typesetting biblical poetry. * Chords now preserve the \spacefactor so that subsequent text is spaced appropriately. Version 1.12 [2005/05/10]: * Redid intra-song spacing and penalties to eliminate superfluous vbox items. Improved performance. * Improved inter-song penalties for better page- and column-breaking. * \parindent now controls the amount of indentation for wrapped lines within a song or scripture. * Multiline textnotes now work right. * Fixed chord macros to avoid introducing hyphenation when lyric ends in punctuation. Version 1.11 [2005/04/21]: Begin tracking revision history * Renamed various macros to avoid naming clashes with other packages. * Adjusted the \\ index-separator macro so that its scope is now limited to the indexes. Version 1.1 [2005/04/03]: First release as a .cls documentclass * First release as a self-documenting .dtx file Version 1.0 [2001/12/01]: Initial release