@section Input structure
The main format of input for LilyPond are text files. By convention,
-these files end with @file{@/.ly}.
+these files end with @file{.ly}.
@menu
* Structure of a score::
is implicitly enclosed in a \book block. A \book block in a source
file produces at least one output file, and by default the name of the
output file produced is derived from the name of the input file, so
-@file{fandangoforelephants@/.ly} will produce
-@file{fandangoforelephants@/.pdf}.
+@file{fandangoforelephants.ly} will produce
+@file{fandangoforelephants.pdf}.
(For more details about @code{\book} blocks, see
@ref{Multiple scores in a book},
@funindex \book
-All the movements and texts which appear in the same @file{@/.ly} file
+All the movements and texts which appear in the same @file{.ly} file
will normally be typeset in the form of a single output file.
@example
@node Multiple output files from one input file
@subsection Multiple output files from one input file
-If you want multiple output files from the same @file{@/.ly} file,
+If you want multiple output files from the same @file{.ly} file,
then you can add multiple @code{\book} blocks, where each
such \book block will result in a separate output file.
If you do not specify any @code{\book} block in the
@}
@end example
-in source file @file{eightminiatures@/.ly}
+in source file @file{eightminiatures.ly}
will produce
@itemize
@item
-@file{eightminiatures@/.pdf},
+@file{eightminiatures.pdf},
@item
-@file{eightminiatures@/-1@/.pdf} and
+@file{eightminiatures-1.pdf} and
@item
-@file{eightminiatures@/-2@/.pdf}.
+@file{eightminiatures-2.pdf}.
@end itemize
@node Output file names
producing several ouputs from a single source file. You also have the
ability to specify your own suffixes for each @code{\book} block, so
for example you can produce files called
-@file{eightminiatures@/-Romanze@/.pdf}, @file{eightminiatures@/-Menuetto@/.pdf}
-and @file{eightminiatures@/-Nocturne@/.pdf} by adding a
+@file{eightminiatures-Romanze.pdf}, @file{eightminiatures-Menuetto.pdf}
+and @file{eightminiatures-Nocturne.pdf} by adding a
@code{\bookOutputSuffix} declaration inside each @code{\book} block.
@example
@itemize
@item
-@file{Romanze@/.pdf},
+@file{Romanze.pdf},
@item
-@file{Menuetto@/.pdf} and
+@file{Menuetto.pdf} and
@item
-@file{Nocturne@/.pdf}.
+@file{Nocturne.pdf}.
@end itemize
@funindex \book
@funindex \bookpart
-A @file{@/.ly} file may contain any number of toplevel expressions, where a
+A @file{.ly} file may contain any number of toplevel expressions, where a
toplevel expression is one of the following:
@itemize
toplevel scores, and combined as a single @code{\book}.
This behavior can be changed by setting the variable
@code{toplevel-score-handler} at toplevel. The default handler is
-defined in the init file @file{@/.@/./@/scm/@/lily@/.scm}.
+defined in the init file @file{../scm/lily.scm}.
@item
A @code{\book} block logically combines multiple movements
are a number of @code{\score}s, one output file will be created
for each @code{\book} block, in which all corresponding movements
are concatenated. The only reason to explicitly specify
-@code{\book} blocks in a @file{@/.ly} file is if you wish to create
+@code{\book} blocks in a @file{.ly} file is if you wish to create
multiple output files from a single input file. One exception is
within lilypond-book documents, where you explicitly have to add
a @code{\book} block if you want more than a single @code{\score}
or @code{\markup} in the same example. This behavior can be
changed by setting the variable @code{toplevel-book-handler} at
toplevel. The default handler is defined in the init file
-@file{@/.@/./@/scm/@/lily@/.scm}.
+@file{../scm/lily.scm}.
@item
A @code{\bookpart} block. A book may be divided into several parts,
This behavior can be changed by setting the variable
@code{toplevel-music-handler} at toplevel. The default handler is
-defined in the init file @file{@/.@/./@/scm/@/lily@/.scm}.
+defined in the init file @file{../scm/lily.scm}.
@item
A markup text, a verse for example
A more advanced option is to change the definitions of the following
variables in the @code{\paper} block. The init file
-@file{@/.@/./@/ly/@/titling@/-init@/.ly} lists the default layout.
+@file{../ly/titling-init.ly} lists the default layout.
@table @code
@funindex bookTitleMarkup
The header and footer are created by the functions
@code{make-header} and @code{make-footer}, defined in
@code{\paper}. The default implementations are in
-@file{ly/@/paper@/-defaults@/-init@/.ly} and
-@file{ly/@/titling@/-init@/.ly}.
+@file{ly/paper-defaults-init.ly} and
+@file{ly/titling-init.ly}.
This example centers page numbers at the bottom of every page.
@seealso
-Init files: @file{@/.@/./@/ly/@/toc@/-init@/.ly}.
+Init files: @file{../ly/toc-init.ly}.
@predefined
@end example
The line @code{\include "otherfile.ly"} is equivalent to pasting the
-contents of @file{otherfile@/.ly} into the current file at the place
+contents of @file{otherfile.ly} into the current file at the place
where the @code{\include} appears. For example, in a large
project you might write separate files for each instrument part
and create a @qq{full score} file which brings together the
Files in other locations may be included by giving either a full
path reference or a relative path reference (but use the UNIX
forward slash, /, rather than the DOS/Windows back slash, \, as the
-directory separator.) For example, if @file{stuff@/.ly} is located
+directory separator.) For example, if @file{stuff.ly} is located
one directory higher than the current working directory, use
@example
Files can also be included from a directory in a search path
specified as an option when invoking LilyPond from the command
line. The included files are then specified using just their
-file name. For example, to compile @file{main@/.ly} which includes
+file name. For example, to compile @file{main.ly} which includes
files located in a subdirectory called @file{parts} by this method,
-cd to the directory containing @file{main@/.ly} and enter
+cd to the directory containing @file{main.ly} and enter
@example
lilypond --include=parts main.ly
@end example
Files which are to be included in many scores may be placed in
-the LilyPond directory @file{@/.@/./ly}. (The location of this
+the LilyPond directory @file{../ly}. (The location of this
directory is installation-dependent - see
@rlearning{Other sources of information}). These files can then
be included simply by naming them on an @code{\include} statement.
-This is how the language-dependent files like @file{english@/.ly} are
+This is how the language-dependent files like @file{english.ly} are
included.
LilyPond includes a number of files by default when you start
Context definitions follow precisely the same syntax as those
within a @code{\layout} block. Translation modules for sound are
called performers. The contexts for MIDI output are defined in
-@file{@/.@/./@/ly/@/performer@/-init@/.ly},
+@file{../ly/performer-init.ly},
see @rlearning{Other sources of information}.
For example, to remove the effect of dynamics
from the MIDI output, insert the following lines in the
MIDI volume range. The default fractions range from 0.25 for
@notation{ppppp} to 0.95 for @notation{fffff}. The set of dynamic
marks and the associated fractions can be seen in
-@file{@/.@/./@/scm/@/midi@/.scm}, see @rlearning{Other sources of information}.
+@file{../scm/midi.scm}, see @rlearning{Other sources of information}.
This set of fractions may be changed or extended by providing a
function which takes a dynamic mark as its argument and returns the
required fraction, and setting
Alternatively, if the whole table of fractions needs to be
redefined, it would be better to use the
@notation{default-dynamic-absolute-volume} procedure in
-@file{@/.@/./@/scm/@/midi@/.scm} and the associated table as a model.
+@file{../scm/midi.scm} and the associated table as a model.
The final example in this section shows how this might be done.
@unnumberedsubsubsec Overall MIDI volume
LilyPond will, by default, apply a small degree of equalization
to a few instruments. The instruments and the equalization
applied are shown in the table @notation{instrument-equalizer-alist}
-in @file{@/.@/./@/scm/@/midi@/.scm}.
+in @file{../scm/midi.scm}.
This basic default equalizer can be replaced by setting
@code{instrumentEqualizer} in the @code{Score} context to a new
is done in the same way as shown for resetting the
@code{dynamicAbsoluteVolumeFunction} at the start of this section.
The default equalizer, @notation{default-instrument-equalizer}, in
-@file{@/.@/./@/scm/@/midi@/.scm} shows how such a procedure might be written.
+@file{../scm/midi.scm} shows how such a procedure might be written.
The following example sets the relative flute and clarinet volumes
to the same values as the previous example.