]> git.donarmstrong.com Git - lilypond.git/blob - tex/lily-ps-defs.tex
d3c4fc07c675c2fb66f720c9af621933664aebb1
[lilypond.git] / tex / lily-ps-defs.tex
1 % lily-ps-defs.tex
2 %
3 \edef\lilypsdefsELC{\the\endlinechar}%
4 \endlinechar -1\relax
5
6 % Header info (macros/defs, etc) should go into a \special{! ... };
7 % note the ! sign.  See dvips.info for details.
8 %
9 % We protect punctuation characters with \string to avoid problems with
10 % language specific shorthands (e.g. `:' for French, `"' for German, etc.).
11
12 \gdef\lilypondsetdimen#1{
13   \expandafter\gdef\csname #1ps\endcsname{}
14   \special{
15     \string!
16     /#1 (\csname #1\endcsname) set_tex_dimen
17   }
18 }
19
20 \gdef\lilypondspace{ }
21
22 \gdef\lilypondpostscript{
23   % A document processed with lilypond-book can contain music fragments in
24   % different sizes.  To reduce overhead, we define `lyscaleXXX' PS macros
25   % only once.
26   \lilypondifundefined{lyscale\lilypondpaperoutputscale}
27     {
28       \expandafter\gdef\csname lyscale\lilypondpaperoutputscale\endcsname{}
29       % This sets CTM so that you get to the currentpoint
30       % by executing a 0 0 moveto
31       \special{
32         \string!
33         /lyscale\lilypondpaperoutputscale
34           {\lilypondpaperoutputscale\lilypondspace\scaletounit %
35            dup scale} def
36       }
37     }
38     {}
39                       
40   \def\embeddedps##1{
41     \special{
42       \string"
43       lyscale\lilypondpaperoutputscale\lilypondspace ##1}
44   }
45 }
46
47 \gdef\lilypondexperimentalfeatures{}
48
49 \endlinechar \lilypsdefsELC
50 \endinput