]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/input.itely
lilypond-book robustness: ensure EOL at the end of @verbatim
[lilypond.git] / Documentation / user / input.itely
index f290a3370ea920edaf490c524d935f1a0e6ec64c..ead89488c46b67a63e918c886467f8fcb8c8093f 100644 (file)
@@ -265,7 +265,7 @@ toplevel.  The default handler is defined in the init file
 @item
 A @code{\bookpart} block.  A book may be divided into several parts,
 using @code{\bookpart} blocks, in order to ease the page breaking,
-or to use different @code{\paper} settings in different parts. 
+or to use different @code{\paper} settings in different parts.
 
 @item
 A compound music expression, such as
@@ -354,6 +354,27 @@ A multi-line comment delimited by @code{%@{ .. %@}}.
 
 @end itemize
 
+@cindex whitespace
+
+Whitespace between items in the input stream is generally ignored,
+and may be freely omitted or extended to enhance readability.
+However, whitespace should always be used in the following
+circumstances to avoid errors:
+
+@itemize
+@item Around every opening and closing curly bracket.
+@item After every command or variable, i.e. every item that
+begins with a @code{\} sign.
+@item After every item that is to be interpreted as a Scheme
+expression, i.e. every item that begins with a @code{#} sign.
+@item To separate all elements of a Scheme expression.
+@item In @code{lyricmode} to separate all the terms in both
+@code{\override} and @code{\set} commands.  In particular, spaces
+must be used around the dot and the equals sign in commands like
+@code{\override Score . LyricText #'font-size = #5} and before and
+after the entire command.
+
+@end itemize
 
 @seealso
 Learning Manual:
@@ -1154,6 +1175,10 @@ than one tagged section at the same place.
 @node Text encoding
 @subsection Text encoding
 
+@cindex Unicode
+@cindex UTF-8
+@cindex non-ASCII characters
+
 LilyPond uses the character repertoire defined by the Unicode
 consortium and ISO/IEC 10646.  This defines a unique name and
 code point for the character sets used in virtually all modern
@@ -1169,7 +1194,7 @@ the mapping of a subset of the Unicode code points to glyphs.
 LilyPond uses the Pango library to layout and render multi-lingual
 texts.
 
-Lilypond does not perform any input-encoding conversions.  This
+LilyPond does not perform any input-encoding conversions.  This
 means that any text, be it title, lyric text, or musical
 instruction containing non-ASCII characters, must be encoded in
 UTF-8.  The easiest way to enter such text is by using a
@@ -1217,20 +1242,29 @@ portuguese = \lyricmode {
 \addlyrics { \portuguese }
 @end lilypond
 
-To enter a single character for which the Unicode escape sequence
-is known but which is not available in the editor being used, use
-@code{\char ##xhhhh} within a @code{\markup} block, where
-@code{hhhh} is the hexadecimal code for the character required.
-For example, @code{\char ##x03BE} enters the Unicode U+03BE
-character, which has the Unicode name @qq{Greek Small Letter Xi}.
-Any Unicode hexadecimal code may be substituted, and if all special
+To enter a single character for which the Unicode code point is
+known but which is not available in the editor being used, use
+either @code{\char ##xhhhh} or @code{\char #dddd} within a
+@code{\markup} block, where @code{hhhh} is the hexadecimal code for
+the character required and @code{dddd} is the corresponding decimal
+value.  Leading zeroes may be omitted, but it is usual to specify
+all four characters in the hexadecimal representation.  (Note that
+the UTF-8 encoding of the code point should @emph{not} be used
+after @code{\char}, as UTF-8 encodings contain extra bits indicating
+the number of octets.)
+
+For example, @code{\char ##x03BE} and @code{\char #958} would both
+enter the Unicode U+03BE character, which has the Unicode name
+@qq{Greek Small Letter Xi}.
+
+Any Unicode code point may be entered in this way and if all special
 characters are entered in this format it is not necessary to save
 the input file in UTF-8 format.  Of course, a font containing all
 such encoded characters must be installed and available to LilyPond.
 
-The following example shows UTF-8 coded characters being used in
-four places -- in a rehearsal mark, as articulation text, in lyrics
-and as stand-alone text below the score:
+The following example shows Unicode hexadecimal values being entered
+in four places -- in a rehearsal mark, as articulation text, in
+lyrics and as stand-alone text below the score:
 
 @lilypond[quote,verbatim]
 \score {
@@ -1243,6 +1277,8 @@ and as stand-alone text below the score:
 \markup { "Copyright 2008--2009" \char ##x00A9 }
 @end lilypond
 
+@cindex copyright sign
+
 To enter the copyright sign in the copyright notice use:
 
 @example
@@ -1448,6 +1484,26 @@ can be suppressed, see @ref{Metronome marks}.  An alternative way
 of specifying the inital or overall MIDI tempo is described below,
 see @ref{MIDI block}.
 
+Due to some limitations on Windows, the default extension for
+MIDI files on Windows is @code{.mid}. Other operating systems still
+use the extension @code{.midi}. If a different extension is preferred,
+insert the following line at the top-level of the input file,
+before the start of any @code{\book}, @code{\bookpart} or @code{\score} blocks:
+
+@example
+#(ly:set-option 'midi-extension "midi")
+@end example
+
+The line above will set the default extension for MIDI files to
+@code{.midi}.
+
+Alternatively, this option can also be supplied on the command line:
+
+@example
+lilypond … -dmidi-extension=midi lilyFile.ly
+@end example
+
+
 @unnumberedsubsubsec Instrument names
 
 @cindex instrument names