]> git.donarmstrong.com Git - lilypond.git/blob - tex/lily-ps-defs.tex
* Merge from stable:
[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   \lilypondifundefined{lilypondpaperblotdiameterps}
47     {\lilypondsetdimen{lilypondpaperblotdiameter}}
48     {}
49 }
50
51 \gdef\lilypondexperimentalfeatures{}
52
53 \endlinechar \lilypsdefsELC
54 \endinput