release commit
[lilypond.git] / tex / lily-ps-defs.tex
blob8a4522a2e72048a8fe547e359ee2afc80d890ccf
1 % lily-ps-defs.tex
3 \edef\lilypsdefsELC{\the\endlinechar}%
4 \endlinechar -1\relax
6 % Header info (macros/defs, etc) should go into a \special{! ... };
7 % note the ! sign. See dvips.info for details.
9 % We protect punctuation characters with \string to avoid problems with
10 % language specific shorthands (e.g. `:' for French, `"' for German, etc.).
12 \gdef\lilypondsetdimen#1{
13 \expandafter\gdef\csname #1ps\endcsname{}
14 \special{
15 \string!
16 /#1 (\csname #1\endcsname) set_tex_dimen
20 \gdef\lilypondspace{ }
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}
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
40 \def\embeddedps##1{
41 \special{
42 \string"
43 lyscale\lilypondpaperoutputscale\lilypondspace ##1}
46 \lilypondifundefined{lilypondpaperblotdiameterps}
47 {\lilypondsetdimen{lilypondpaperblotdiameter}}
51 \gdef\lilypondexperimentalfeatures{}
53 \endlinechar \lilypsdefsELC
54 \endinput