Instantly share code, notes, and snippets.

Embed
What would you like to do?
draw fireworks on pages using http://hanno-rein.de/archives/349 method.
%%% draw fireworks on pages using http://hanno-rein.de/archives/349 method.
\usepackage{eso-pic}
\usepackage{pstricks}
\newcommand\fireworksPS[1]{
\psset{xunit=#1,yunit=#1,runit=#1}
\begin{pspicture}(744.09448242,1052.36218262)
{
\newrgbcolor{curcolor}{1.0 0.25 0.75}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(260.62,490.97)
\rcurveto(0,-0.01)(-14.86,13.19)(-40.75,36.09)
\rcurveto(-25.89,22.9)(-62.82,55.47)(-107.08,94.03)
\rcurveto(-44.25,38.54)(-95.84,83.07)(-150.92,130.06)
\rcurveto(-55.06,47.01)(-113.62,96.45)(-171.59,145.34)
\rcurveto(-57.96,48.9)(-115.3,97.2)(-167.72,142.4)
\rcurveto(-52.4,45.23)(-99.86,87.34)(-137.86,124.23)
\rcurveto(-37.99,36.9)(-66.51,68.59)(-80.96,93)
\rcurveto(-14.47,24.4)(-14.86,41.56)(3.29,48.9)
\rcurveto(18.13,7.32)(45.72,1.07)(79.95,-15.83)
\rcurveto(34.23,-16.9)(75.09,-44.45)(119.71,-79.66)
\rcurveto(44.63,-35.21)(93.03,-78.1)(142.42,-125.47)
\rcurveto(49.4,-47.37)(99.79,-99.22)(148.59,-152.1)
\rcurveto(48.8,-52.87)(96.01,-106.78)(139.25,-158)
\rcurveto(43.25,-51.22)(82.53,-99.73)(115.65,-141.68)
\rcurveto(33.13,-41.95)(60.11,-77.31)(78.83,-102.15)
\rcurveto(18.72,-24.84)(29.19,-39.16)(29.19,-39.16)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.25 0.50}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(337.95,553.44)
\rcurveto(0,0)(-0.83,11.15)(-2.35,30.59)
\rcurveto(-1.53,19.44)(-3.8,47.13)(-6.78,80.22)
\rcurveto(-2.95,33.07)(-6.63,71.53)(-10.71,112.47)
\rcurveto(-4.06,40.96)(-8.52,84.41)(-12.66,127.57)
\rcurveto(-4.11,43.16)(-7.87,86.03)(-10.17,125.92)
\rcurveto(-2.3,39.88)(-3.1,76.77)(-1.19,107.91)
\rcurveto(1.9,31.11)(6.57,56.49)(14.9,73.02)
\rcurveto(8.32,16.5)(20.36,24.18)(36.07,19.35)
\rcurveto(15.71,-4.85)(26.96,-19.76)(34.22,-41.45)
\rcurveto(7.29,-21.72)(10.64,-50.27)(11.28,-83.04)
\rcurveto(0.64,-32.77)(-1.4,-69.82)(-4.75,-108.84)
\rcurveto(-3.37,-39.02)(-8.04,-80.03)(-12.85,-120.79)
\rcurveto(-4.83,-40.75)(-9.8,-81.26)(-14.22,-119.14)
\rcurveto(-4.45,-37.89)(-8.34,-73.16)(-11.43,-103.35)
\rcurveto(-3.11,-30.2)(-5.42,-55.3)(-6.98,-72.86)
\rcurveto(-1.55,-17.58)(-2.38,-27.58)(-2.38,-27.58)
\closepath
\moveto(368.03,521.93)
\rcurveto(0.01,0)(9.27,15.57)(25.8,42.46)
\rcurveto(16.53,26.88)(40.38,65.06)(69.69,110.16)
\rcurveto(29.3,45.09)(64.11,97.09)(102.44,151.66)
\rcurveto(38.3,54.57)(80.16,111.68)(123.26,167.18)
\rcurveto(43.1,55.53)(87.44,109.42)(130.45,157.82)
\rcurveto(42.98,48.41)(84.59,91.32)(121.96,125.09)
\rcurveto(37.36,33.77)(70.43,58.43)(96.22,70.53)
\rcurveto(25.81,12.1)(44.31,11.65)(52.65,-4.82)
\rcurveto(8.36,-16.48)(2.41,-40.69)(-14.16,-70.56)
\rcurveto(-16.57,-29.88)(-43.75,-65.44)(-77.79,-104.88)
\rcurveto(-34.05,-39.44)(-74.94,-82.78)(-119.07,-128.14)
\rcurveto(-44.15,-45.33)(-91.52,-92.69)(-138.75,-139.8)
\rcurveto(-47.24,-47.11)(-94.34,-93.99)(-138.24,-138.01)
\rcurveto(-43.91,-44.02)(-84.63,-85.19)(-119.34,-120.56)
\rcurveto(-34.73,-35.38)(-63.48,-64.95)(-83.57,-85.63)
\rcurveto(-20.09,-20.7)(-31.54,-32.5)(-31.55,-32.5)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.25 0.27}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(367.11,407.56)
\rcurveto(0,-0.02)(19.28,8.54)(52.73,22.91)
\rcurveto(33.44,14.36)(81.01,34.49)(137.37,57.41)
\rcurveto(56.37,22.94)(121.53,48.64)(190.34,74.41)
\rcurveto(68.83,25.77)(141.33,51.58)(212.76,75.19)
\rcurveto(71.45,23.62)(141.84,45.07)(206.94,62.6)
\rcurveto(65.12,17.56)(124.96,31.23)(175.64,39.7)
\rcurveto(50.67,8.47)(92.24,11.77)(120.84,8.75)
\rcurveto(28.58,-3.05)(44.24,-12.41)(42.69,-29.48)
\rcurveto(-1.58,-17.1)(-19.7,-33.37)(-50.59,-49.05)
\rcurveto(-30.89,-15.68)(-74.55,-30.82)(-127.06,-45.81)
\rcurveto(-52.51,-15)(-113.87,-29.89)(-179.93,-44.92)
\rcurveto(-66.05,-15.03)(-136.78,-30.21)(-207.85,-45.39)
\rcurveto(-71.04,-15.18)(-142.41,-30.34)(-209.55,-44.87)
\rcurveto(-67.13,-14.51)(-130,-28.35)(-184,-40.44)
\rcurveto(-54.01,-12.08)(-99.11,-22.39)(-130.7,-29.62)
\rcurveto(-31.58,-7.25)(-49.63,-11.4)(-49.63,-11.39)
\closepath
\moveto(448.96,309.21)
\rcurveto(-0.02,-0.01)(17.43,-7.21)(47.64,-20.25)
\rcurveto(30.2,-13.05)(73.18,-32.01)(124.21,-55.75)
\rcurveto(51.04,-23.72)(110.12,-52.24)(172.54,-84.2)
\rcurveto(62.44,-31.94)(128.21,-67.32)(192.69,-104.25)
\rcurveto(64.47,-36.93)(127.65,-75.39)(185.03,-113)
\rcurveto(57.39,-37.59)(108.97,-74.33)(150.39,-107.36)
\rcurveto(41.4,-33.06)(72.65,-62.44)(89.41,-85.31)
\rcurveto(16.77,-22.88)(19.07,-39.23)(2.56,-46.69)
\rcurveto(-16.49,-7.49)(-43.57,-2.46)(-78.42,11.76)
\rcurveto(-34.83,14.2)(-77.47,37.57)(-125.08,66.81)
\rcurveto(-47.63,29.24)(-100.27,64.3)(-155.08,102.08)
\rcurveto(-54.82,37.78)(-111.81,78.27)(-168,118.57)
\rcurveto(-56.19,40.33)(-111.6,80.48)(-163.17,117.88)
\rcurveto(-51.58,37.42)(-99.28,72.08)(-139.99,101.64)
\rcurveto(-40.71,29.56)(-74.41,54.06)(-97.91,71.18)
\rcurveto(-23.52,17.11)(-36.84,26.88)(-36.82,26.89)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.25 0}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(385.79,099.68)
\rcurveto(-0.02,-0.01)(10.75,-16.61)(28.61,-45.89)
\rcurveto(17.86,-29.28)(42.76,-71.28)(70.62,-122.16)
\rcurveto(27.88,-50.87)(58.68,-110.65)(88.84,-175.2)
\rcurveto(30.17,-64.53)(59.68,-133.83)(85.91,-203.37)
\rcurveto(26.28,-69.54)(49.29,-139.29)(67.48,-204.5)
\rcurveto(18.25,-65.22)(31.71,-125.88)(39.63,-177.2)
\rcurveto(7.93,-51.33)(10.37,-93.29)(6.56,-121.3)
\rcurveto(-3.85,-28.03)(-13.87,-42.07)(-31.96,-37.94)
\rcurveto(-18.12,4.11)(-35.49,24.31)(-52.89,56.45)
\rcurveto(-17.37,32.15)(-34.75,76.26)(-52.49,128.22)
\rcurveto(-17.71,51.95)(-35.78,111.76)(-54.06,175.29)
\rcurveto(-18.26,63.54)(-36.76,130.81)(-54.93,197.76)
\rcurveto(-18.16,66.93)(-35.99,133.52)(-52.65,195.75)
\rcurveto(-16.63,62.22)(-32.08,120.08)(-45.25,169.56)
\rcurveto(-13.18,49.49)(-24.1,90.6)(-31.66,119.36)
\rcurveto(-7.57,28.76)(-11.77,45.16)(-11.76,45.17)
\closepath
\moveto(341.85,312.34)
\rcurveto(0.01,0)(-4.97,-17.56)(-13.74,-48.12)
\rcurveto(-8.75,-30.58)(-21.26,-74.18)(-36.09,-126.34)
\rcurveto(-14.83,-52.18)(-31.96,-112.9)(-50,-177.71)
\rcurveto(-18.07,-64.8)(-37.04,-133.69)(-55.89,-202.09)
\rcurveto(-18.86,-68.41)(-37.58,-136.32)(-55.58,-199.12)
\rcurveto(-18.01,-62.82)(-35.31,-120.52)(-51.8,-168.45)
\rcurveto(-16.51,-47.92)(-32.23,-86.07)(-47.53,-109.76)
\rcurveto(-15.31,-23.7)(-30.21,-32.93)(-45.39,-23.06)
\rcurveto(-15.14,9.87)(-23.12,33.98)(-25.27,68.81)
\rcurveto(-2.12,34.81)(1.66,80.36)(10.65,132.75)
\rcurveto(8.99,52.4)(23.25,111.64)(41.89,173.77)
\rcurveto(18.63,62.12)(41.67,127.1)(67.54,190.99)
\rcurveto(25.84,63.89)(54.52,126.66)(83.54,184.64)
\rcurveto(28.99,57.99)(58.3,111.16)(84.65,156.17)
\rcurveto(26.33,45.02)(49.67,81.88)(66.35,107.5)
\rcurveto(16.69,25.61)(26.69,40.01)(26.67,40.02)
\closepath
\moveto(229.7,313.38)
\rcurveto(0,-0.01)(-12.77,-12.24)(-35.13,-33.54)
\rcurveto(-22.36,-21.32)(-54.28,-51.77)(-92.49,-88.36)
\rcurveto(-38.21,-36.6)(-82.71,-79.36)(-130.27,-125.21)
\rcurveto(-47.56,-45.85)(-98.18,-94.77)(-148.79,-143.42)
\rcurveto(-50.62,-48.62)(-101.23,-96.96)(-148.95,-141.3)
\rcurveto(-47.73,-44.33)(-92.57,-84.65)(-131.84,-116.99)
\rcurveto(-39.26,-32.32)(-72.95,-56.65)(-98.42,-68.83)
\rcurveto(-25.48,-12.17)(-42.76,-12.19)(-49.11,4.01)
\rcurveto(-6.33,16.18)(1.44,40.51)(20.06,70.58)
\rcurveto(18.61,30.05)(48.07,65.8)(85.12,104.56)
\rcurveto(37.05,38.78)(81.69,80.52)(130.58,122.69)
\rcurveto(48.88,42.16)(102,84.7)(155.86,125.35)
\rcurveto(53.85,40.67)(108.43,79.42)(160.07,114.43)
\rcurveto(51.64,35.03)(100.33,66.31)(142.32,92.38)
\rcurveto(41.98,26.06)(77.25,46.94)(102,61.33)
\rcurveto(24.75,14.37)(38.99,22.31)(38.99,22.32)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.25 0.27}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(235.61,421.43)
\rcurveto(-0.01,0)(-16.55,-2.44)(-45.96,-6.7)
\rcurveto(-29.42,-4.26)(-71.78,-10.39)(-123.71,-18.01)
\rcurveto(-51.9,-7.6)(-113.41,-16.75)(-180.64,-26.91)
\rcurveto(-67.19,-10.15)(-140.12,-21.33)(-214.06,-32.64)
\rcurveto(-73.9,-11.3)(-148.79,-22.7)(-219.1,-32.76)
\rcurveto(-70.29,-10.02)(-135.94,-18.67)(-190.91,-23.88)
\rcurveto(-54.98,-5.2)(-99.2,-6.95)(-126.84,-3)
\rcurveto(-27.68,3.94)(-38.7,13.63)(-28.42,30.89)
\rcurveto(10.25,17.24)(36.37,33.38)(73.47,48.03)
\rcurveto(37.12,14.65)(85.27,27.77)(140.29,38.92)
\rcurveto(55.04,11.15)(116.97,20.32)(182,27.25)
\rcurveto(65.03,6.95)(133.19,11.69)(200.71,14.36)
\rcurveto(67.53,2.68)(134.45,3.32)(196.97,2.5)
\rcurveto(62.52,-0.8)(120.64,-3.05)(170.41,-5.75)
\rcurveto(49.77,-2.69)(91.2,-5.8)(120.21,-8.21)
\rcurveto(29,-2.41)(45.58,-4.09)(45.58,-4.09)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.75 0.50}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(283.74,561.48)
\rcurveto(-0.01,-0.01)(-11.85,19.19)(-32.68,52.53)
\rcurveto(-20.83,33.33)(-50.71,80.8)(-87.04,137.11)
\rcurveto(-36.31,56.31)(-79.1,121.47)(-125.46,190.38)
\rcurveto(-46.33,68.93)(-96.26,141.6)(-146.28,213.43)
\rcurveto(-49.99,71.84)(-100.06,142.82)(-146.1,208.98)
\rcurveto(-46.02,66.17)(-87.99,127.53)(-121.33,180.57)
\rcurveto(-33.34,53.05)(-58.03,97.83)(-69.4,130.87)
\rcurveto(-11.39,33)(-9.41,54.32)(10.15,59.65)
\rcurveto(19.55,5.31)(46.82,-8.18)(79.11,-36.24)
\rcurveto(32.28,-28.07)(69.56,-70.7)(109.18,-123.54)
\rcurveto(39.64,-52.84)(81.6,-115.87)(123.52,-184.49)
\rcurveto(41.93,-68.61)(83.82,-142.8)(123.62,-217.74)
\rcurveto(39.83,-74.93)(77.59,-150.59)(111.64,-221.99)
\rcurveto(34.06,-71.37)(64.43,-138.48)(89.75,-196.21)
\rcurveto(25.32,-57.73)(45.61,-106.09)(59.6,-139.98)
\rcurveto(13.99,-33.89)(21.72,-53.34)(21.72,-53.33)
\closepath
\moveto(368.03,553.44)
\rcurveto(0.01,0)(4.37,21.9)(12.46,59.93)
\rcurveto(8.12,38.04)(20,92.2)(35.27,156.66)
\rcurveto(15.27,64.45)(33.96,139.19)(55.54,218.33)
\rcurveto(21.55,79.14)(46.02,162.69)(72.41,244.84)
\rcurveto(26.38,82.14)(54.71,162.88)(83.5,236.54)
\rcurveto(28.78,73.67)(58.02,140.26)(85.79,194.31)
\rcurveto(27.75,54.07)(54.02,95.6)(76.56,119.36)
\rcurveto(22.56,23.76)(41.38,29.75)(54.3,12.8)
\rcurveto(12.93,-16.96)(13.48,-48.29)(4.84,-90.08)
\rcurveto(-8.61,-41.82)(-26.36,-94.15)(-49.73,-153.54)
\rcurveto(-23.39,-59.39)(-52.37,-125.9)(-83.64,-196)
\rcurveto(-31.27,-70.08)(-64.82,-143.77)(-97.85,-217.19)
\rcurveto(-33.03,-73.41)(-65.54,-146.56)(-95.34,-215.17)
\rcurveto(-29.82,-68.59)(-56.95,-132.66)(-79.76,-187.6)
\rcurveto(-22.82,-54.94)(-41.35,-100.78)(-54.22,-132.84)
\rcurveto(-12.86,-32.07)(-20.12,-50.36)(-20.13,-50.35)
\closepath
\moveto(395.36,493.91)
\rcurveto(0,-0.02)(22.51,17.56)(62,47.73)
\rcurveto(39.48,30.14)(95.93,72.84)(163.83,122.82)
\rcurveto(67.89,50.02)(147.21,107.3)(232.39,166.81)
\rcurveto(85.18,59.53)(176.24,121.27)(267.6,180.65)
\rcurveto(91.36,59.41)(183.02,116.42)(269.47,167)
\rcurveto(86.46,50.6)(167.67,94.78)(238.22,128.95)
\rcurveto(70.54,34.16)(130.39,58.33)(174.12,69.1)
\rcurveto(43.73,10.77)(71.33,8.17)(77.33,-11.38)
\rcurveto(5.99,-19.57)(-12.65,-46.3)(-49.9,-78.39)
\rcurveto(-37.24,-32.1)(-93.11,-69.6)(-161.56,-110.97)
\rcurveto(-68.45,-41.36)(-149.5,-86.6)(-237.04,-134.04)
\rcurveto(-87.55,-47.4)(-181.6,-96.99)(-276.01,-146.56)
\rcurveto(-94.42,-49.55)(-189.2,-99.1)(-278.24,-145.88)
\rcurveto(-89.03,-46.74)(-172.3,-90.7)(-243.74,-128.63)
\rcurveto(-71.45,-37.93)(-131.08,-69.79)(-172.84,-92.09)
\rcurveto(-41.73,-22.35)(-65.63,-35.14)(-65.63,-35.12)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.75 0.27}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(438.63,367.92)
\rcurveto(0,-0.02)(38.22,-0.11)(104.66,-0.94)
\rcurveto(66.45,-0.85)(161.07,-2.47)(274.08,-5.8)
\rcurveto(113.01,-3.33)(244.38,-8.4)(384.57,-15.89)
\rcurveto(140.18,-7.48)(289.19,-17.36)(437.76,-29.78)
\rcurveto(148.59,-12.4)(296.75,-27.33)(435.37,-44.19)
\rcurveto(138.6,-16.84)(267.68,-35.62)(377.82,-55.18)
\rcurveto(110.1,-19.55)(201.3,-39.84)(263.24,-59.44)
\rcurveto(61.87,-19.61)(94.58,-38.47)(85.85,-55.37)
\rcurveto(-8.71,-16.93)(-55.08,-23.41)(-130.03,-22.25)
\rcurveto(-74.88,1.16)(-178.18,9.9)(-298.95,23.15)
\rcurveto(-120.76,13.25)(-258.85,30.96)(-403.17,50.37)
\rcurveto(-144.34,19.41)(-294.84,40.51)(-441.43,61.18)
\rcurveto(-146.66,20.7)(-289.39,40.99)(-419.84,59.46)
\rcurveto(-130.49,18.48)(-248.74,35.18)(-347.98,49.15)
\rcurveto(-99.27,14)(-179.66,25.32)(-235.3,33.19)
\rcurveto(-55.61,7.86)(-86.61,12.33)(-86.65,12.34)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.75 1}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(385.79,289.06)
\rcurveto(-0.02,-0.01)(27.51,-30.14)(74.37,-83.48)
\rcurveto(46.82,-53.35)(112.88,-129.98)(189.41,-223.32)
\rcurveto(76.55,-93.32)(163.52,-203.41)(252.66,-323.04)
\rcurveto(89.17,-119.63)(180.47,-248.84)(266.79,-379.56)
\rcurveto(86.38,-130.71)(167.79,-262.89)(238.43,-387.7)
\rcurveto(70.68,-124.78)(130.65,-242.14)(175.15,-342.77)
\rcurveto(44.5,-100.65)(73.64,-184.55)(82.89,-242.54)
\rcurveto(9.21,-58.05)(-1.35,-90.13)(-37.22,-88.05)
\rcurveto(-35.91,2.05)(-79.35,37.08)(-128.91,96.43)
\rcurveto(-49.52,59.34)(-105.17,142.99)(-165.36,242.36)
\rcurveto(-60.16,99.37)(-124.9,214.44)(-192.04,336.8)
\rcurveto(-67.14,122.37)(-136.7,252.03)(-205.77,380.85)
\rcurveto(-69.04,128.81)(-137.62,256.78)(-202,376.09)
\rcurveto(-64.37,119.32)(-124.51,229.98)(-176.19,324.45)
\rcurveto(-51.68,94.5)(-94.82,172.83)(-124.95,227.55)
\rcurveto(-30.17,54.75)(-47.27,85.92)(-47.26,85.93)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.8 0.27}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(352.04,39.21)
\rcurveto(-0.02,0)(0,-45.76)(-6.52,-127.04)
\rcurveto(-1.08,-60.12)(-8.16,-90.78)(-7.65,-185.5)
\rcurveto(2.03,-120.42)(-2.65,-183.39)(0,-297.12)
\rcurveto(-2.62,-117.62)(-14.84,-253.83)(-18.64,-373.25)
\rcurveto(-3.76,-119.42)(-9.47,-220.09)(-9.47,-346.75)
\rcurveto(-9.95,-109.14)(-2.04,-166.11)(-7.27,-258.09)
\rcurveto(-1.84,-95.41)(6.27,-174.88)(-12.29,-216.7)
\rcurveto(-18.7,-41.86)(-39.53,-59.15)(-66.8,-44.69)
\rcurveto(-27.28,14.42)(-48.37,53.39)(-65.69,111.18)
\rcurveto(-17.2,57.76)(-30.41,134.32)(-39.08,223.44)
\rcurveto(-8.65,89.11)(-12.61,190.79)(-10.85,298.49)
\rcurveto(1.71,107.68)(9.24,221.36)(22.41,334.16)
\rcurveto(13.1,112.81)(31.87,224.74)(54.12,328.88)
\rcurveto(22.17,104.15)(47.77,200.52)(72.59,282.5)
\rcurveto(24.78,82)(48.68,149.64)(66.29,196.74)
\rcurveto(17.65,47.12)(28.88,73.75)(28.85,73.75)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.75 0.27}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(165.2,97.45)
\rcurveto(0.01,-0.01)(-21.23,-30.07)(-58.27,-82.52)
\rcurveto(-37.04,-52.45)(-89.84,-127.29)(-152.61,-217.14)
\rcurveto(-62.79,-89.82)(-135.5,-194.68)(-212.65,-306.88)
\rcurveto(-77.16,-112.19)(-158.73,-231.78)(-239.83,-350.66)
\rcurveto(-81.14,-118.85)(-161.82,-237.01)(-238,-345.91)
\rcurveto(-76.21,-108.88)(-147.94,-208.5)(-211.88,-289.89)
\rcurveto(-63.95,-81.39)(-120.14,-144.56)(-165.63,-180.34)
\rcurveto(-45.46,-35.77)(-80.28,-44.16)(-101.18,-16.02)
\rcurveto(-20.87,28.12)(-17.41,78.79)(5.22,145.9)
\rcurveto(22.63,67.09)(64.48,150.55)(120.63,243.67)
\rcurveto(56.13,93.12)(126.59,195.86)(206.13,301.52)
\rcurveto(79.5,105.65)(168.07,214.2)(259.71,319.41)
\rcurveto(91.6,105.25)(186.26,207.13)(277.13,300.25)
\rcurveto(90.85,93.13)(177.9,177.48)(253.69,248.38)
\rcurveto(75.77,70.9)(140.23,128.4)(185.69,168.22)
\rcurveto(45.46,39.81)(71.86,61.99)(71.85,62.01)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.8 0.27}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(203.59,354.34)
\rcurveto(-0.01,-0.04)(-31.28,-17.1)(-86.36,-47.03)
\rcurveto(-55.09,-29.94)(-134.02,-72.78)(-229.52,-124.68)
\rcurveto(-95.49,-51.91)(-207.58,-112.91)(-328.69,-178.9)
\rcurveto(-121.11,-65.95)(-251.26,-136.88)(-382.46,-207.95)
\rcurveto(-131.18,-71.05)(-263.39,-142.2)(-388.2,-207.7)
\rcurveto(-124.78,-65.49)(-242.14,-125.28)(-343.34,-172.84)
\rcurveto(-101.2,-47.54)(-186.21,-82.78)(-246.35,-98.82)
\rcurveto(-60.15,-16.05)(-95.39,-12.85)(-97.44,16.1)
\rcurveto(-2.05,28.91)(30.02,69.07)(87.4,116.64)
\rcurveto(57.39,47.56)(140.07,102.5)(239.38,160.65)
\rcurveto(99.31,58.17)(215.25,119.52)(339.29,180.29)
\rcurveto(124.03,60.77)(256.17,120.96)(388,177.49)
\rcurveto(131.84,56.58)(263.39,109.52)(386.45,156.63)
\rcurveto(123.06,47.13)(237.63,88.47)(335.66,122.51)
\rcurveto(98.05,34.06)(179.56,60.89)(236.59,79.26)
\rcurveto(57.04,18.36)(89.59,28.31)(89.59,28.35)
\closepath
}
}{
\newrgbcolor{curcolor}{1.0 0.75 0.5}
\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor]{
\newpath
\moveto(284.14,465.83)
\rcurveto(0.01,-0.01)(-38.34,6.98)(-104.95,19.05)
\rcurveto(-66.6,12.04)(-161.46,29.09)(-274.22,48.88)
\rcurveto(-112.77,19.79)(-243.43,42.3)(-381.67,65.58)
\rcurveto(-138.25,23.3)(-284.05,47.34)(-427.32,70.89)
\rcurveto(-143.3,23.57)(-284.05,46.64)(-412.61,68.7)
\rcurveto(-128.58,22.07)(-244.97,43.16)(-340.06,63.31)
\rcurveto(-95.1,20.13)(-168.91,39.38)(-212.79,57.92)
\rcurveto(-43.9,18.51)(-57.91,36.35)(-33.68,53.24)
\rcurveto(24.23,16.84)(74.43,24.22)(143.97,23.8)
\rcurveto(69.54,-0.43)(158.49,-8.69)(260.83,-23.25)
\rcurveto(102.32,-14.57)(218.11,-35.41)(341.1,-60.8)
\rcurveto(122.97,-25.37)(253.2,-55.28)(383.73,-87.47)
\rcurveto(130.51,-32.17)(261.34,-66.64)(384.67,-100.59)
\rcurveto(123.3,-33.94)(239.1,-67.34)(338.83,-96.88)
\rcurveto(99.72,-29.54)(183.33,-55.18)(241.96,-73.41)
\rcurveto(58.64,-18.23)(92.23,-28.98)(92.21,-28.97)
\closepath
}
}
\end{pspicture}
}
\newcommand{\fireworks}[1][0.1pt]{
\AddToShipoutPicture*{
\put(0,0){
\parbox[b][\paperheight]{\paperwidth}{%
\vfill
\centering
\fireworksPS{#1}
\vfill
}}}}
\documentclass{jsarticle}
\usepackage{fireworks}
\begin{document}
\title{\TeX\ がむかついたので実装したけど挫折してる話}
\author{k16.shikano}
\renewcommand{\today}{December 24, 2012}
\maketitle
\fireworks
いきなり私見ですが、「\TeX\ むかつく」という声の大半は、「インストールが苦痛」または「マクロが意味不明で思い通りならない」に分類できるんじゃないでしょうか。 でもまあ、便利なインストーラ付属の分かりやすい\LaTeXe\ の入門書が改訂を重ねて書店で売ってたりするのだし、これらは普通の用途においては解決策がある問題ということにしておきましょう。
インストールの壁をクリアして、ちょっと凝ったページの出力もできるようになると、 基本的な組版機能に不足はないし、数式にいたってはほぼ唯一無二だし、自作マクロでちょっとした自動化さえできるわけで、 「とにかく\TeX\ むかつく」という心境から、「いっけん意味不明な制約やなぞの挙動には目をつぶるとして \TeX\ しかないな」という心境に至る人も多いはずです。 わたし自身も、組版に関しては、だいたいそういう心境です。残念ながら \TeX\ しかない。
しかし、それでも \TeX\ には実際むかつくことがある! それは、「\TeX\ がドキュメントシステムに向いてない」ことです。「自由すぎる」ともいえます。
ドキュメントというのは、木構造になっているべきです。 キーワードやフォント指定用語などのインライン要素から構成される章、節、段落、図、数式といったブロック要素が、根っこで一つのドキュメントへと束ねられてるようなイメージです。 散文一般とドキュメントに区別があるとしたら、この木構造が必須か否かという点かもしれません。 ドキュメントは、なんらかの木構造と一対一対応がないと、最悪、読み手によって意味が変わってしまいます。 小説ならそれでいいんですが、たとえばジェット機の整備マニュアルなんかだと、それではまずい。 だから、まっとうなドキュメントには木構造が求められるわけです。XMLとかSGMLが重宝されるゆえんです。
だからドキュメントをシステマチックに扱うには、木構造を反映できるファイル形式が不可欠です。 さらに、ドキュメントを木として編集するための仕組みもあればうれしいでしょう。
\TeX\ がドキュメントシステムに向いてないと思うのは、この木構造の観点が欠落しているからです。 もちろん、書き手が注意して執筆することで、 \TeX\ を使って木構造のドキュメントを作ることはできます。 しかし、 \TeX\ で執筆された原稿を扱う汎用の仕組みを作ろうとすると、構文解析すら無理ゲーなことに気づきます。 ドキュメントシステムの処理系を作ろうとしたら、原稿から木を作ってそれを内部表現として扱うと思うのですが、 \TeX\ の場合、原稿を書くための基本的な構文も内臓のマクロ言語によって提供されているため、原稿から木を作りたいだけなのに、原理的にはこのマクロ言語の処理系を書かないと完全なものにならない。そこで実践では「サポートする \TeX\ の構文」を決めうちすることで \TeX\ マクロ言語処理系を実装する手間は省くことになってしまい、だから世の中には「汎用の \LaTeX\ →XML コンバーター」のような仕組みが見当たらないのです。
\end{document}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment