From 35c3483db8ea0fe316c8b71683a07b8b29effa25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xavier=20Casta=C3=B1o?= Date: Wed, 7 Oct 2009 15:41:24 +0200 Subject: [PATCH] ItEr29S15DocumentacionFormacionItEr25S04: User document in reStructured text with some tools for making HTML and Pdf. --- doc/src/asignacion/asignacion.rst | 6 + doc/src/avances/avances.rst | 7 + doc/src/calendarios/calendarios.rst | 6 + doc/src/criterios/criterios.rst | 6 + doc/src/etiquetas/etiquetas.rst | 7 + doc/src/igaliabk.cls | 1308 +++++++++++++++++++++++ doc/src/introducion/.#introducion.rst | 1 + doc/src/introducion/introducion.rst | 18 + doc/src/lsr.css | 251 +++++ doc/src/partes/partes.rst | 7 + doc/src/parts | 20 + doc/src/pedidos/pedidos.rst | 7 + doc/src/planificacion/planificacion.rst | 7 + doc/src/recursos/recursos.rst | 7 + doc/tools/doctool | 273 +++++ doc/tools/toplevel-html | 61 ++ doc/tools/toplevel-tex | 81 ++ 17 files changed, 2073 insertions(+) create mode 100644 doc/src/asignacion/asignacion.rst create mode 100644 doc/src/avances/avances.rst create mode 100644 doc/src/calendarios/calendarios.rst create mode 100644 doc/src/criterios/criterios.rst create mode 100644 doc/src/etiquetas/etiquetas.rst create mode 100644 doc/src/igaliabk.cls create mode 120000 doc/src/introducion/.#introducion.rst create mode 100644 doc/src/introducion/introducion.rst create mode 100644 doc/src/lsr.css create mode 100644 doc/src/partes/partes.rst create mode 100644 doc/src/parts create mode 100644 doc/src/pedidos/pedidos.rst create mode 100644 doc/src/planificacion/planificacion.rst create mode 100644 doc/src/recursos/recursos.rst create mode 100755 doc/tools/doctool create mode 100755 doc/tools/toplevel-html create mode 100755 doc/tools/toplevel-tex diff --git a/doc/src/asignacion/asignacion.rst b/doc/src/asignacion/asignacion.rst new file mode 100644 index 000000000..ffa2dcdee --- /dev/null +++ b/doc/src/asignacion/asignacion.rst @@ -0,0 +1,6 @@ +Asignación de recursos +###################### + +.. contents:: + +Contidos... diff --git a/doc/src/avances/avances.rst b/doc/src/avances/avances.rst new file mode 100644 index 000000000..f00fbfb7b --- /dev/null +++ b/doc/src/avances/avances.rst @@ -0,0 +1,7 @@ +Avances +####### + +.. contents:: + +Contidos... + diff --git a/doc/src/calendarios/calendarios.rst b/doc/src/calendarios/calendarios.rst new file mode 100644 index 000000000..effaa728a --- /dev/null +++ b/doc/src/calendarios/calendarios.rst @@ -0,0 +1,6 @@ +Calendarios +########### + +.. contents:: + +Contidos... diff --git a/doc/src/criterios/criterios.rst b/doc/src/criterios/criterios.rst new file mode 100644 index 000000000..c6315bdfb --- /dev/null +++ b/doc/src/criterios/criterios.rst @@ -0,0 +1,6 @@ +Criterios +######### + +.. contents:: + +Contidos... diff --git a/doc/src/etiquetas/etiquetas.rst b/doc/src/etiquetas/etiquetas.rst new file mode 100644 index 000000000..ff0444f0e --- /dev/null +++ b/doc/src/etiquetas/etiquetas.rst @@ -0,0 +1,7 @@ +Etiquetas +######### + +.. contents:: + +Contidos... + diff --git a/doc/src/igaliabk.cls b/doc/src/igaliabk.cls new file mode 100644 index 000000000..7d6e3059d --- /dev/null +++ b/doc/src/igaliabk.cls @@ -0,0 +1,1308 @@ +%% +%% This is file `igliadoc.cls', +%% +%% The list of derived (unpacked) files belonging to the distribution +%% and covered by LPPL is defined by the unpacking scripts (with +%% extension .ins) which are part of the distribution. +%% \CharacterTable +%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +%% +%% +%% Updates from 2009/05/27, by Adrian Perez +%% +%% * Embedded logos by using TikZ/PGF figures: no need for external +%% files, high-quality vector output of our logos. TikZ code was +%% generated with the "inkscape2tikz" InkScape plugin, found here: +%% http://code.google.com/p/inkscape2tikz/ +%% + +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{igliadoc} + [2009/05/27 LaTeX class for Igalia documentation] + +\RequirePackage{ifthen} +\RequirePackage{graphics} +\RequirePackage{graphicx} +\RequirePackage{amsmath} +\RequirePackage{eso-pic} +\RequirePackage{xspace} +\RequirePackage{color} +\RequirePackage{tikz} + + +\DeclareOption{galego}{\def\igaliaBabel{galician}} +\DeclareOption{castellano}{\def\igaliaBabel{spanish}} +\DeclareOption{english}{\def\igaliaBabel{british}} +\DeclareOption{british}{\def\igaliaBabel{british}} +\DeclareOption{american}{\def\igaliaBabel{american}} +\DeclareOption{deutsche}{\def\igaliaBabel{german}} + + +\def\customer#1{\gdef\@customer{#1}} +\def\@customer{\@latex@warning@no@line{No customer given}} +\def\reference#1{\gdef\@reference{#1}} +\def\@reference{\@latex@warning@no@line{No reference given}} +\def\city#1{\gdef\@city{#1}} +\def\@city{\@latex@warning@no@line{No city given}} + +\definecolor{c3f3f3f}{RGB}{63,63,63} +\definecolor{c66accd}{RGB}{102,172,205} +\definecolor{c61a8cb}{RGB}{97,168,203} +\definecolor{cffc744}{RGB}{255,199,68} +\definecolor{cffc440}{RGB}{255,196,64} +\definecolor{cb40030}{RGB}{180,0,48} +\definecolor{cb30031}{RGB}{179,0,49} +\definecolor{cd4e314}{RGB}{212,227,20} +\definecolor{ccfe016}{RGB}{207,224,22} +\definecolor{cacd2e4}{RGB}{172,210,228} +\definecolor{cffde91}{RGB}{255,222,145} +\definecolor{cffdd91}{RGB}{255,221,145} +\definecolor{cff91af}{RGB}{255,145,175} +\definecolor{cf0f79a}{RGB}{240,247,154} +\definecolor{ceef69b}{RGB}{238,246,155} + +\newsavebox{\igaliaMiniLogo} +\sbox{\igaliaMiniLogo}{ +\scalebox{0.25}{ + \begin{tikzpicture}[y=0.80pt,x=0.80pt,yscale=-1] + \path[fill=c3f3f3f] (233.5810,47.8790) .. controls (233.5810,55.3550) and + (231.4230,56.6220) .. (224.5890,56.6220) .. controls (217.6170,56.6220) and + (215.4660,55.3540) .. (215.4660,47.8790) .. controls (215.4660,41.1650) and + (217.6170,40.1560) .. (224.5890,40.1560) .. controls (231.4230,40.1560) and + (233.5810,41.1650) .. (233.5810,47.8790) -- cycle(232.3110,113.3490) .. + controls (232.3110,123.3250) and (237.1200,128.5680) .. (237.1200,128.5680) .. + controls (237.1200,128.5680) and (230.7370,133.6050) .. (225.8170,133.6050) .. + controls (219.3530,133.6050) and (216.6020,121.9910) .. (216.6020,117.1880) .. + controls (216.6020,95.5050) and (216.6020,67.0060) .. (216.6020,67.0060) -- + (232.3110,67.0060) .. controls (232.3110,67.0060) and (232.3110,103.3840) .. + (232.3110,113.3490) -- cycle; + \path[fill=c3f3f3f] (420.9640,47.8790) .. controls (420.9640,55.3550) and + (418.8060,56.6220) .. (411.9660,56.6220) .. controls (404.9970,56.6220) and + (402.8450,55.3540) .. (402.8450,47.8790) .. controls (402.8450,41.1650) and + (404.9970,40.1560) .. (411.9660,40.1560) .. controls (418.8060,40.1560) and + (420.9640,41.1650) .. (420.9640,47.8790) -- cycle(419.6930,113.3490) .. + controls (419.6930,123.3250) and (424.5000,128.5680) .. (424.5000,128.5680) .. + controls (424.5000,128.5680) and (418.1170,133.6050) .. (413.1990,133.6050) .. + controls (406.7360,133.6050) and (403.9840,121.9910) .. (403.9840,117.1880) .. + controls (403.9840,95.5050) and (403.9840,67.0060) .. (403.9840,67.0060) -- + (419.6930,67.0060) .. controls (419.6930,67.0060) and (419.6930,103.3840) .. + (419.6930,113.3490) -- cycle; + \path[fill=c3f3f3f] (268.2870,133.0070) .. controls (250.5530,133.0070) and + (241.1760,125.6590) .. (241.1760,99.4340) .. controls (241.1760,73.0880) and + (250.9310,65.1080) .. (272.2130,65.1080) .. controls (279.0590,65.1080) and + (287.3710,66.1000) .. (294.0350,67.8710) .. controls (300.8920,69.6940) and + (300.3340,75.3750) .. (300.3340,75.3750) -- (300.3340,126.5430) .. controls + (300.3340,151.7500) and (286.2750,157.3310) .. (265.8830,157.3310) .. controls + (260.9320,157.3310) and (254.8650,156.6620) .. (249.7680,155.4300) .. controls + (243.1100,153.8230) and (245.5100,144.2890) .. (245.5100,144.2890) -- + (246.3690,140.8610) .. controls (252.3240,142.7600) and (259.6700,144.0270) .. + (265.7520,144.0270) .. controls (277.6620,144.0270) and (284.6270,140.7300) .. + (284.6270,128.8250) .. controls (281.0820,130.9750) and (275.6340,133.0070) .. + (268.2870,133.0070) -- cycle(284.6260,83.1580) .. controls (284.6260,83.1580) + and (284.9680,79.9510) .. (280.7820,79.0370) .. controls (277.9340,78.4160) + and (274.8700,78.0280) .. (272.2120,78.0280) .. controls (261.0670,78.0280) + and (257.3940,80.9420) .. (257.3940,99.3080) .. controls (257.3940,115.3940) + and (260.8100,119.4520) .. (271.8320,119.4520) .. controls (278.7970,119.4520) + and (284.6270,117.2940) .. (284.6270,113.3710) -- (284.6270,83.1580) -- + (284.6260,83.1580) -- cycle; + \path[fill=c3f3f3f] (391.9170,49.7050) -- (391.9170,113.3710) .. controls + (391.9170,119.5760) and (393.3130,123.8850) .. (396.8620,128.5730) .. controls + (396.8620,128.5730) and (384.7550,138.5030) .. (380.1140,130.4940) .. controls + (377.6140,126.1820) and (376.2100,121.0310) .. (376.2100,114.0040) -- + (376.2100,40.0250) .. controls (376.2100,40.0250) and (378.4230,40.0250) .. + (382.6920,40.0250) .. controls (392.6260,40.0250) and (391.9170,49.7050) .. + (391.9170,49.7050) -- cycle; + \path[fill=c3f3f3f] (484.5150,122.6630) .. controls (484.5150,122.6630) and + (484.5150,128.3610) .. (477.9450,130.2790) .. controls (470.7440,132.3780) and + (462.1680,133.2550) .. (455.3810,133.2550) .. controls (434.9900,133.2550) and + (428.1430,128.5730) .. (428.1430,111.7230) .. controls (428.1430,93.4810) and + (438.4070,90.5690) .. (453.4830,90.5690) .. controls (458.9320,90.5690) and + (463.9970,91.1970) .. (469.4440,92.3390) .. controls (469.4440,81.0710) and + (466.7840,78.2830) .. (453.3560,78.2830) .. controls (449.5980,78.2830) and + (445.8380,78.6120) .. (442.3560,79.2520) .. controls (433.2490,80.9140) and + (432.2470,74.3640) .. (432.2470,74.3640) -- (430.9350,68.5280) .. controls + (434.4350,67.6040) and (438.7490,66.7150) .. (443.3940,66.0710) .. controls + (447.6670,65.4840) and (452.2180,65.1080) .. (456.6540,65.1080) .. controls + (475.7790,65.1080) and (484.5170,70.9340) .. (484.5170,90.1900) -- + (484.5170,122.6630) -- (484.5150,122.6630) -- cycle(469.4430,115.9870) -- + (469.4430,102.9810) .. controls (465.8980,102.2190) and (461.3360,101.8410) .. + (456.6520,101.8410) .. controls (447.7830,101.8410) and (444.6130,102.8570) .. + (444.6130,111.0890) .. controls (444.6130,119.8280) and (447.0190,121.2240) .. + (456.5190,121.2240) .. controls (459.8220,121.2240) and (463.1950,120.7570) .. + (466.1990,120.0220) .. controls (469.5310,119.2300) and (469.4430,115.9870) .. + (469.4430,115.9870) -- cycle; + \path[fill=c3f3f3f] (365.4430,122.6630) .. controls (365.4430,122.6630) and + (365.4470,128.3610) .. (358.8710,130.2790) .. controls (351.6760,132.3780) and + (343.0980,133.2550) .. (336.3070,133.2550) .. controls (315.9160,133.2550) and + (309.0780,128.5730) .. (309.0780,111.7230) .. controls (309.0780,93.4810) and + (319.3320,90.5690) .. (334.4100,90.5690) .. controls (339.8570,90.5690) and + (344.9240,91.1970) .. (350.3710,92.3390) .. controls (350.3710,81.0710) and + (347.7130,78.2830) .. (334.2830,78.2830) .. controls (330.5310,78.2830) and + (326.7710,78.6120) .. (323.2830,79.2520) .. controls (314.1760,80.9140) and + (313.1780,74.3640) .. (313.1780,74.3640) -- (311.8600,68.5280) .. controls + (315.3560,67.6040) and (319.6740,66.7150) .. (324.3230,66.0710) .. controls + (328.5940,65.4840) and (333.1450,65.1080) .. (337.5770,65.1080) .. controls + (356.7060,65.1080) and (365.4440,70.9340) .. (365.4440,90.1900) -- + (365.4440,122.6630) -- (365.4430,122.6630) -- cycle(350.3710,115.9870) -- + (350.3710,102.9810) .. controls (346.8220,102.2190) and (342.2640,101.8410) .. + (337.5760,101.8410) .. controls (328.7110,101.8410) and (325.5430,102.8570) .. + (325.5430,111.0890) .. controls (325.5430,119.8280) and (327.9470,121.2240) .. + (337.4490,121.2240) .. controls (340.7520,121.2240) and (344.1250,120.7570) .. + (347.1270,120.0220) .. controls (350.4600,119.2300) and (350.3710,115.9870) .. + (350.3710,115.9870) -- cycle; + \path[fill=c66accd,fill opacity=0.600] (85.7504,-0.0047) .. controls + (64.2195,-0.0047) and (46.3837,8.0626) .. (33.5004,17.9640) .. controls + (32.4861,18.7435) and (31.4838,19.5395) .. (30.5316,20.3390) .. controls + (29.7818,20.9686) and (29.0548,21.5754) .. (28.3441,22.2140) .. controls + (28.1370,22.3997) and (27.9232,22.5898) .. (27.7191,22.7765) .. controls + (27.1454,23.3024) and (26.6098,23.8407) .. (26.0629,24.3702) .. controls + (25.7466,24.6764) and (25.4021,24.9684) .. (25.0941,25.2765) .. controls + (35.4721,35.6515) and (51.5026,51.8110) .. (61.0316,61.3390) .. controls + (67.3752,54.9941) and (76.4055,46.9795) .. (86.4066,39.6515) .. controls + (96.2756,46.8702) and (105.1651,54.7530) .. (111.4379,61.0265) .. controls + (120.9619,51.4935) and (136.9681,35.6262) .. (147.3441,25.2452) .. controls + (145.7462,23.6469) and (144.0063,22.0922) .. (142.1879,20.5577) .. controls + (142.1652,20.5386) and (142.1481,20.5144) .. (142.1254,20.4952) .. controls + (142.0531,20.4342) and (141.9793,20.3687) .. (141.9066,20.3077) .. controls + (141.0382,19.5816) and (140.1356,18.8884) .. (139.2191,18.1827) .. controls + (138.2235,17.4161) and (137.2077,16.6396) .. (136.1566,15.9015) .. controls + (135.2896,15.2927) and (134.4043,14.7067) .. (133.5004,14.1203) .. controls + (133.2976,13.9886) and (133.1113,13.8444) .. (132.9066,13.7140) .. controls + (132.7624,13.6211) and (132.6144,13.5251) .. (132.4691,13.4328) .. controls + (132.2271,13.2806) and (131.9637,13.1456) .. (131.7191,12.9953) .. controls + (130.8152,12.4332) and (129.9092,11.8770) .. (128.9691,11.3390) .. controls + (118.3430,5.2573) and (105.4523,0.8059) .. (90.6879,0.1202) .. controls + (90.1938,0.0930) and (89.6859,0.0769) .. (89.1879,0.0578) .. controls + (89.1150,0.0556) and (89.0421,0.0597) .. (88.9691,0.0578) .. controls + (87.8995,0.0193) and (86.8376,-0.0047) .. (85.7504,-0.0047) -- cycle; + \path[fill=c61a8cb] (86.7191,0.0265) .. controls (65.0400,0.0265) and + (46.7965,7.8178) .. (33.5004,17.9640) .. controls (32.4776,18.7445) and + (31.4954,19.5331) .. (30.5316,20.3390) .. controls (29.7856,20.9628) and + (29.0541,21.5775) .. (28.3441,22.2140) .. controls (28.1370,22.3997) and + (27.9232,22.5898) .. (27.7191,22.7765) .. controls (27.1454,23.3024) and + (26.6098,23.8407) .. (26.0629,24.3702) .. controls (40.1304,12.0064) and + (65.4735,24.3398) .. (86.4066,39.6515) .. controls (107.2643,24.3687) and + (132.3849,12.1067) .. (146.3754,24.4015) .. controls (145.0475,23.1150) and + (143.6731,21.8156) .. (142.1879,20.5577) .. controls (142.1652,20.5386) and + (142.1481,20.5144) .. (142.1254,20.4952) .. controls (142.0531,20.4342) and + (141.9793,20.3687) .. (141.9066,20.3077) .. controls (141.0382,19.5816) and + (140.1356,18.8884) .. (139.2191,18.1827) .. controls (138.2266,17.4137) and + (137.2082,16.6459) .. (136.1566,15.9015) .. controls (135.2982,15.2938) and + (134.3975,14.7081) .. (133.5004,14.1203) .. controls (133.2976,13.9886) and + (133.1113,13.8444) .. (132.9066,13.7140) .. controls (132.7624,13.6211) and + (132.6144,13.5251) .. (132.4691,13.4328) .. controls (132.2271,13.2806) and + (131.9637,13.1456) .. (131.7191,12.9953) .. controls (130.8151,12.4391) and + (129.9072,11.8698) .. (128.9691,11.3390) .. controls (118.2430,5.2692) and + (105.3234,0.9275) .. (90.6879,0.1202) .. controls (90.1938,0.0930) and + (89.6859,0.0769) .. (89.1879,0.0578) .. controls (89.1150,0.0556) and + (89.0421,0.0597) .. (88.9691,0.0578) .. controls (88.2184,0.0380) and + (87.4791,0.0265) .. (86.7191,0.0265) -- cycle; + \path[fill=cffc744,fill opacity=0.600] (147.3441,25.2765) .. controls + (136.9681,35.6575) and (120.9649,51.4642) .. (111.4379,60.9952) .. controls + (117.7778,67.3358) and (125.7924,76.3809) .. (133.0941,86.4015) .. controls + (125.7995,96.4061) and (117.8029,105.4125) .. (111.4691,111.7452) .. controls + (121.0051,121.2832) and (137.0004,137.1142) .. (147.3754,147.4952) .. controls + (148.9995,145.8702) and (150.5676,144.1284) .. (152.1254,142.2765) .. controls + (152.8017,141.4725) and (153.4664,140.6532) .. (154.1254,139.8077) .. controls + (154.2355,139.6665) and (154.3596,139.5439) .. (154.4691,139.4015) .. controls + (154.5412,139.3084) and (154.6160,139.2138) .. (154.6879,139.1202) .. controls + (155.3750,138.2196) and (156.0554,137.2843) .. (156.7191,136.3390) .. controls + (157.1546,135.7188) and (157.5761,135.0719) .. (158.0004,134.4327) .. controls + (158.2984,133.9839) and (158.6146,133.5471) .. (158.9066,133.0890) .. controls + (159.0043,132.9373) and (159.0909,132.7730) .. (159.1879,132.6202) .. controls + (166.6756,120.8276) and (172.2809,105.8530) .. (172.5941,88.4015) .. controls + (172.6081,87.8972) and (172.6199,87.3784) .. (172.6254,86.8702) .. controls + (172.6254,86.5472) and (172.6288,86.2230) .. (172.6254,85.9015) .. controls + (172.6254,85.3843) and (172.6034,84.8832) .. (172.5941,84.3702) .. controls + (172.2243,63.7599) and (164.5205,46.5983) .. (155.0004,34.0577) .. controls + (154.8979,33.9227) and (154.7908,33.7855) .. (154.6879,33.6515) .. controls + (154.6151,33.5561) and (154.5422,33.4651) .. (154.4691,33.3702) .. controls + (153.7507,32.4428) and (153.0166,31.5576) .. (152.2816,30.6827) .. controls + (152.2288,30.6195) and (152.1784,30.5582) .. (152.1254,30.4952) .. controls + (151.3664,29.5969) and (150.6154,28.7115) .. (149.8441,27.8702) .. controls + (149.8137,27.8370) and (149.7808,27.8097) .. (149.7504,27.7765) .. controls + (149.5208,27.5268) and (149.2932,27.3023) .. (149.0629,27.0577) .. controls + (148.8127,26.7918) and (148.5645,26.5369) .. (148.3129,26.2765) .. controls + (147.9894,25.9417) and (147.6697,25.6020) .. (147.3441,25.2765) -- cycle; + \path[fill=cffc440] (148.3129,26.2765) .. controls (160.5253,40.2963) and + (148.3252,65.5122) .. (133.0941,86.4015) .. controls (148.3375,107.3208) and + (160.5219,132.5586) .. (148.2191,146.5577) .. controls (149.5308,145.2043) and + (150.8437,143.7934) .. (152.1254,142.2765) .. controls (152.8003,141.4777) and + (153.4640,140.6508) .. (154.1254,139.8077) .. controls (154.2355,139.6665) and + (154.3596,139.5439) .. (154.4691,139.4015) .. controls (154.5412,139.3084) and + (154.6160,139.2138) .. (154.6879,139.1202) .. controls (155.3750,138.2196) and + (156.0554,137.2843) .. (156.7191,136.3390) .. controls (157.1556,135.7224) and + (157.5739,135.0694) .. (158.0004,134.4327) .. controls (158.2984,133.9839) and + (158.6146,133.5471) .. (158.9066,133.0890) .. controls (159.0043,132.9373) and + (159.0909,132.7730) .. (159.1879,132.6202) .. controls (166.6943,120.6811) and + (172.1166,105.6903) .. (172.5941,88.4015) .. controls (172.6081,87.8972) and + (172.6199,87.3784) .. (172.6254,86.8702) .. controls (172.6254,86.5472) and + (172.6288,86.2230) .. (172.6254,85.9015) .. controls (172.6254,85.3843) and + (172.6034,84.8832) .. (172.5941,84.3702) .. controls (172.0317,64.0006) and + (164.6123,46.8072) .. (155.0004,34.0577) .. controls (154.8979,33.9227) and + (154.7908,33.7855) .. (154.6879,33.6515) .. controls (154.6151,33.5561) and + (154.5422,33.4651) .. (154.4691,33.3702) .. controls (153.7507,32.4428) and + (153.0166,31.5576) .. (152.2816,30.6827) .. controls (152.2288,30.6195) and + (152.1784,30.5582) .. (152.1254,30.4952) .. controls (151.3664,29.5969) and + (150.6154,28.7115) .. (149.8441,27.8702) .. controls (149.8137,27.8370) and + (149.7808,27.8097) .. (149.7504,27.7765) .. controls (149.5208,27.5268) and + (149.2932,27.3023) .. (149.0629,27.0577) .. controls (148.8127,26.7918) and + (148.5645,26.5369) .. (148.3129,26.2765) -- cycle; + \path[fill=cb40030,fill opacity=0.600] (111.4379,111.7452) .. controls + (105.1307,118.0505) and (96.1832,125.9955) .. (86.2504,133.2452) .. controls + (76.3174,125.9935) and (67.3377,118.0851) .. (61.0316,111.7765) .. controls + (51.4976,121.3095) and (35.5064,137.1455) .. (25.1254,147.5265) .. controls + (25.9265,148.3273) and (26.7685,149.1147) .. (27.6254,149.9015) .. controls + (27.6693,149.9418) and (27.7063,149.9862) .. (27.7504,150.0265) .. controls + (29.4634,151.5927) and (31.2915,153.1355) .. (33.2191,154.6202) .. controls + (33.7581,155.0354) and (34.3201,155.4319) .. (34.8754,155.8390) .. controls + (35.3517,156.1907) and (35.8239,156.5555) .. (36.3129,156.9015) .. controls + (36.4371,156.9887) and (36.5629,157.0648) .. (36.6879,157.1515) .. controls + (37.7674,157.9072) and (38.8608,158.6469) .. (40.0004,159.3702) .. controls + (51.6861,166.7876) and (66.4973,172.3406) .. (83.7504,172.7452) .. controls + (84.7382,172.7781) and (85.7164,172.8077) .. (86.7191,172.8077) .. controls + (106.5343,172.8070) and (123.2357,165.9586) .. (135.8129,157.1515) .. controls + (136.8935,156.4016) and (137.9462,155.6192) .. (138.9691,154.8390) .. controls + (139.9124,154.1140) and (140.8297,153.3939) .. (141.7191,152.6515) .. controls + (141.7922,152.5905) and (141.8652,152.5251) .. (141.9379,152.4640) .. controls + (142.0011,152.4112) and (142.0624,152.3607) .. (142.1254,152.3077) .. controls + (143.0233,151.5489) and (143.9095,150.7975) .. (144.7504,150.0265) .. controls + (144.7832,149.9965) and (144.8114,149.9628) .. (144.8441,149.9327) .. controls + (145.3861,149.4343) and (145.8889,148.9033) .. (146.4066,148.4015) .. controls + (146.7211,148.0973) and (147.0691,147.8013) .. (147.3754,147.4952) .. controls + (137.0004,137.1142) and (120.9649,121.2742) .. (111.4379,111.7452) -- cycle; + \path[fill=cb30031] (86.2504,133.2452) .. controls (65.3490,148.5007) and + (40.1257,160.7318) .. (26.0941,148.4015) .. controls (26.6082,148.8993) and + (27.0875,149.4069) .. (27.6254,149.9015) .. controls (27.6693,149.9418) and + (27.7063,149.9862) .. (27.7504,150.0265) .. controls (29.4553,151.5877) and + (31.2826,153.1204) .. (33.2191,154.6202) .. controls (33.7581,155.0354) and + (34.3201,155.4319) .. (34.8754,155.8390) .. controls (35.3517,156.1907) and + (35.8239,156.5555) .. (36.3129,156.9015) .. controls (36.4371,156.9887) and + (36.5629,157.0648) .. (36.6879,157.1515) .. controls (37.7686,157.9016) and + (38.8634,158.6554) .. (40.0004,159.3702) .. controls (51.8238,166.8033) and + (66.6679,172.1781) .. (83.7504,172.7452) .. controls (84.4186,172.7609) and + (85.0749,172.7765) .. (85.7504,172.7765) .. controls (105.7596,172.7765) and + (122.8457,166.1498) .. (135.8129,157.1515) .. controls (136.8935,156.4016) and + (137.9462,155.6192) .. (138.9691,154.8390) .. controls (139.9146,154.1179) and + (140.8240,153.3944) .. (141.7191,152.6515) .. controls (141.7922,152.5905) and + (141.8652,152.5251) .. (141.9379,152.4640) .. controls (142.0011,152.4112) and + (142.0624,152.3607) .. (142.1254,152.3077) .. controls (143.0233,151.5489) and + (143.9095,150.7975) .. (144.7504,150.0265) .. controls (144.7832,149.9965) and + (144.8114,149.9628) .. (144.8441,149.9327) .. controls (145.3861,149.4343) and + (145.8889,148.9033) .. (146.4066,148.4015) .. controls (132.3797,160.7373) and + (107.1514,148.5044) .. (86.2504,133.2452) -- cycle; + \path[fill=cd4e314,fill opacity=0.600] (25.1254,25.2765) .. controls + (24.3244,26.0776) and (23.5364,26.9185) .. (22.7504,27.7765) .. controls + (22.7101,27.8205) and (22.6656,27.8574) .. (22.6254,27.9015) .. controls + (21.0557,29.6227) and (19.5161,31.4607) .. (18.0316,33.4015) .. controls + (17.3973,34.2309) and (16.7711,35.0958) .. (16.1566,35.9640) .. controls + (15.9829,36.2077) and (15.7976,36.4358) .. (15.6254,36.6827) .. controls + (15.4418,36.9479) and (15.2757,37.2266) .. (15.0941,37.4952) .. controls + (14.4940,38.3761) and (13.8914,39.2628) .. (13.3129,40.1827) .. controls + (5.8643,52.0274) and (0.3375,67.0919) .. (0.0316,84.5577) .. controls + (0.0228,85.0644) and (0.0004,85.5783) .. (0.0004,86.0890) .. controls + (0.0004,86.2473) and (-0.0004,86.3999) .. (0.0004,86.5577) .. controls + (-0.0005,86.7241) and (0.0004,86.8910) .. (0.0004,87.0577) .. controls + (0.0058,87.5619) and (0.0180,88.0576) .. (0.0316,88.5577) .. controls + (0.3348,106.0312) and (5.8611,120.9270) .. (13.3129,132.6827) .. controls + (14.6753,134.8320) and (16.0921,136.8737) .. (17.5629,138.8077) .. controls + (17.6800,138.9628) and (17.7889,139.1228) .. (17.9066,139.2765) .. controls + (17.9381,139.3174) and (17.9689,139.3607) .. (18.0004,139.4015) .. controls + (18.7072,140.3207) and (19.4284,141.2176) .. (20.1566,142.0890) .. controls + (20.7847,142.8374) and (21.3939,143.5667) .. (22.0316,144.2765) .. controls + (22.2170,144.4834) and (22.4078,144.6977) .. (22.5941,144.9015) .. controls + (22.6236,144.9337) and (22.6584,144.9632) .. (22.6879,144.9952) .. controls + (23.1583,145.5080) and (23.6492,146.0020) .. (24.1254,146.4952) .. controls + (24.1355,146.5057) and (24.1465,146.5160) .. (24.1566,146.5265) .. controls + (24.4758,146.8568) and (24.8040,147.2051) .. (25.1254,147.5265) .. controls + (35.5054,137.1455) and (51.4976,121.3095) .. (61.0316,111.7765) .. controls + (54.7185,105.4630) and (46.7769,96.4644) .. (39.5004,86.4952) .. controls + (46.7710,76.5941) and (54.7280,67.6707) .. (61.0316,61.3702) .. controls + (51.4986,51.8332) and (35.5044,35.6545) .. (25.1254,25.2765) -- cycle; + \path[fill=ccfe016] (24.2504,26.2452) .. controls (23.7526,26.7596) and + (23.2446,27.2379) .. (22.7504,27.7765) .. controls (22.7101,27.8205) and + (22.6656,27.8574) .. (22.6254,27.9015) .. controls (21.0655,29.6089) and + (19.5268,31.4587) .. (18.0316,33.4015) .. controls (17.3913,34.2335) and + (16.7796,35.0902) .. (16.1566,35.9640) .. controls (15.9829,36.2077) and + (15.7976,36.4358) .. (15.6254,36.6827) .. controls (15.4418,36.9479) and + (15.2757,37.2266) .. (15.0941,37.4952) .. controls (14.4928,38.3850) and + (13.8903,39.2555) .. (13.3129,40.1827) .. controls (5.8485,52.1693) and + (0.5033,67.2584) .. (0.0316,84.5577) .. controls (0.0228,85.0644) and + (0.0004,85.5783) .. (0.0004,86.0890) .. controls (0.0004,86.2473) and + (-0.0004,86.3999) .. (0.0004,86.5577) .. controls (-0.0005,86.7241) and + (0.0004,86.8910) .. (0.0004,87.0577) .. controls (0.0058,87.5619) and + (0.0180,88.0576) .. (0.0316,88.5577) .. controls (0.5025,105.8431) and + (5.8554,120.7929) .. (13.3129,132.6827) .. controls (14.6634,134.8359) and + (16.0905,136.8581) .. (17.5629,138.8077) .. controls (17.6800,138.9628) and + (17.7889,139.1228) .. (17.9066,139.2765) .. controls (17.9381,139.3174) and + (17.9689,139.3607) .. (18.0004,139.4015) .. controls (18.7072,140.3207) and + (19.4284,141.2176) .. (20.1566,142.0890) .. controls (20.7786,142.8333) and + (21.3964,143.5676) .. (22.0316,144.2765) .. controls (22.2170,144.4834) and + (22.4078,144.6977) .. (22.5941,144.9015) .. controls (22.6236,144.9337) and + (22.6584,144.9632) .. (22.6879,144.9952) .. controls (23.1583,145.5080) and + (23.6492,146.0020) .. (24.1254,146.4952) .. controls (11.8853,132.4499) and + (24.2101,107.3177) .. (39.5004,86.4952) .. controls (24.2133,65.5513) and + (11.9238,40.2710) .. (24.2504,26.2452) -- cycle; + \end{tikzpicture} +}} + + +\newsavebox{\igaliaShipoutLogo} +\sbox{\igaliaShipoutLogo}{ +\scalebox{1.85}{ +\begin{tikzpicture}[y=0.80pt,x=0.80pt,yscale=-1] +\path[fill=cacd2e4,fill opacity=0.600] (240.6979,-152.9313) .. controls + (181.0604,-152.9313) and (131.6578,-130.5858) .. (95.9729,-103.1605) .. + controls (93.1635,-101.0013) and (90.3873,-98.7965) .. (87.7499,-96.5821) .. + controls (85.6729,-94.8382) and (83.6593,-93.1575) .. (81.6909,-91.3886) .. + controls (81.1170,-90.8742) and (80.5249,-90.3476) .. (79.9597,-89.8306) .. + controls (78.3704,-88.3739) and (76.8869,-86.8829) .. (75.3721,-85.4161) .. + controls (74.4960,-84.5680) and (73.5419,-83.7592) .. (72.6888,-82.9059) .. + controls (101.4344,-54.1687) and (145.8366,-9.4092) .. (172.2305,16.9820) .. + controls (189.8014,-0.5924) and (214.8139,-22.7917) .. (242.5156,-43.0892) .. + controls (269.8511,-23.0946) and (294.4737,-1.2602) .. (311.8486,16.1164) .. + controls (338.2287,-10.2886) and (382.5637,-54.2386) .. (411.3037,-82.9925) .. + controls (406.8777,-87.4198) and (402.0584,-91.7261) .. (397.0216,-95.9762) .. + controls (396.9588,-96.0292) and (396.9115,-96.0963) .. (396.8485,-96.1493) .. + controls (396.6483,-96.3185) and (396.4438,-96.4997) .. (396.2426,-96.6686) .. + controls (393.8372,-98.6799) and (391.3370,-100.6000) .. (388.7986,-102.5546) + .. controls (386.0408,-104.6781) and (383.2273,-106.8290) .. + (380.3159,-108.8733) .. controls (377.9145,-110.5596) and (375.4623,-112.1827) + .. (372.9585,-113.8071) .. controls (372.3967,-114.1716) and + (371.8808,-114.5712) .. (371.3139,-114.9324) .. controls (370.9143,-115.1896) + and (370.5044,-115.4557) .. (370.1021,-115.7114) .. controls + (369.4318,-116.1328) and (368.7020,-116.5066) .. (368.0247,-116.9232) .. + controls (365.5209,-118.4801) and (363.0114,-120.0205) .. (360.4076,-121.5108) + .. controls (330.9748,-138.3562) and (295.2692,-150.6858) .. + (254.3741,-152.5851) .. controls (253.0055,-152.6606) and (251.5986,-152.7052) + .. (250.2193,-152.7582) .. controls (250.0174,-152.7641) and + (249.8155,-152.7529) .. (249.6134,-152.7582) .. controls (246.6506,-152.8648) + and (243.7093,-152.9313) .. (240.6979,-152.9313) -- cycle; +\path[fill=cacd2e4] (243.3812,-152.8448) .. controls (183.3331,-152.8448) and + (132.8013,-131.2640) .. (95.9729,-103.1605) .. controls (93.1400,-100.9987) + and (90.4193,-98.8143) .. (87.7499,-96.5821) .. controls (85.6835,-94.8541) + and (83.6573,-93.1515) .. (81.6909,-91.3886) .. controls (81.1170,-90.8742) + and (80.5249,-90.3476) .. (79.9597,-89.8306) .. controls (78.3704,-88.3739) + and (76.8869,-86.8829) .. (75.3721,-85.4161) .. controls (114.3372,-119.6621) + and (184.5338,-85.5003) .. (242.5156,-43.0892) .. controls (300.2883,-85.4203) + and (369.8686,-119.3844) .. (408.6204,-85.3295) .. controls + (404.9423,-88.8929) and (401.1356,-92.4921) .. (397.0216,-95.9762) .. controls + (396.9588,-96.0292) and (396.9115,-96.0963) .. (396.8485,-96.1493) .. controls + (396.6483,-96.3185) and (396.4438,-96.4997) .. (396.2426,-96.6686) .. controls + (393.8372,-98.6799) and (391.3370,-100.6000) .. (388.7986,-102.5546) .. + controls (386.0496,-104.6847) and (383.2286,-106.8114) .. (380.3159,-108.8733) + .. controls (377.9382,-110.5567) and (375.4433,-112.1789) .. + (372.9585,-113.8071) .. controls (372.3967,-114.1716) and (371.8808,-114.5712) + .. (371.3139,-114.9324) .. controls (370.9143,-115.1896) and + (370.5044,-115.4557) .. (370.1021,-115.7114) .. controls (369.4318,-116.1328) + and (368.7020,-116.5066) .. (368.0247,-116.9232) .. controls + (365.5205,-118.4636) and (363.0060,-120.0404) .. (360.4076,-121.5108) .. + controls (330.6977,-138.3233) and (294.9124,-150.3492) .. (254.3741,-152.5851) + .. controls (253.0055,-152.6606) and (251.5986,-152.7052) .. + (250.2193,-152.7582) .. controls (250.0174,-152.7641) and (249.8155,-152.7529) + .. (249.6134,-152.7582) .. controls (247.5340,-152.8130) and + (245.4861,-152.8448) .. (243.3812,-152.8448) -- cycle; +\path[fill=cffde91,fill opacity=0.600] (411.3037,-82.9059) .. controls + (382.5637,-54.1521) and (338.2370,-10.3696) .. (311.8486,16.0299) .. controls + (329.4092,33.5922) and (351.6085,58.6459) .. (371.8333,86.4015) .. controls + (351.6281,114.1128) and (329.4787,139.0591) .. (311.9351,156.6000) .. controls + (338.3485,183.0189) and (382.6530,226.8685) .. (411.3903,255.6224) .. controls + (415.8890,251.1213) and (420.2321,246.2967) .. (424.5471,241.1672) .. controls + (426.4204,238.9402) and (428.2614,236.6709) .. (430.0868,234.3291) .. controls + (430.3918,233.9378) and (430.7354,233.5983) .. (431.0389,233.2038) .. controls + (431.2386,232.9461) and (431.4457,232.6840) .. (431.6448,232.4248) .. controls + (433.5479,229.9301) and (435.4326,227.3396) .. (437.2711,224.7212) .. controls + (438.4774,223.0032) and (439.6448,221.2114) .. (440.8200,219.4411) .. controls + (441.6453,218.1978) and (442.5213,216.9880) .. (443.3302,215.7191) .. controls + (443.6006,215.2989) and (443.8405,214.8439) .. (444.1092,214.4208) .. controls + (464.8491,181.7567) and (480.3750,140.2793) .. (481.2426,91.9412) .. controls + (481.2812,90.5443) and (481.3141,89.1075) .. (481.3291,87.6999) .. controls + (481.3291,86.8051) and (481.3386,85.9071) .. (481.3291,85.0166) .. controls + (481.3291,83.5840) and (481.2681,82.1960) .. (481.2426,80.7752) .. controls + (480.2181,23.6875) and (458.8798,-23.8476) .. (432.5104,-58.5831) .. controls + (432.2264,-58.9572) and (431.9299,-59.3373) .. (431.6448,-59.7084) .. controls + (431.4432,-59.9726) and (431.2412,-60.2246) .. (431.0389,-60.4874) .. controls + (429.0491,-63.0562) and (427.0157,-65.5082) .. (424.9799,-67.9314) .. controls + (424.8334,-68.1065) and (424.6938,-68.2764) .. (424.5471,-68.4507) .. controls + (422.4448,-70.9389) and (420.3645,-73.3914) .. (418.2283,-75.7216) .. controls + (418.1441,-75.8137) and (418.0530,-75.8894) .. (417.9687,-75.9813) .. controls + (417.3328,-76.6728) and (416.7024,-77.2947) .. (416.0644,-77.9721) .. controls + (415.3714,-78.7089) and (414.6840,-79.4147) .. (413.9870,-80.1361) .. controls + (413.0910,-81.0634) and (412.2056,-82.0042) .. (411.3037,-82.9059) -- cycle; +\path[fill=cffdd91] (413.9870,-80.1361) .. controls (447.8135,-41.3031) and + (414.0211,28.5411) .. (371.8333,86.4015) .. controls (414.0552,144.3449) and + (447.8041,214.2501) .. (413.7273,253.0256) .. controls (417.3603,249.2768) and + (420.9969,245.3687) .. (424.5471,241.1672) .. controls (426.4166,238.9546) and + (428.2548,236.6642) .. (430.0868,234.3291) .. controls (430.3918,233.9378) and + (430.7354,233.5983) .. (431.0389,233.2038) .. controls (431.2386,232.9461) and + (431.4457,232.6840) .. (431.6448,232.4248) .. controls (433.5479,229.9301) and + (435.4326,227.3396) .. (437.2711,224.7212) .. controls (438.4801,223.0131) and + (439.6388,221.2045) .. (440.8200,219.4411) .. controls (441.6453,218.1978) and + (442.5213,216.9880) .. (443.3302,215.7191) .. controls (443.6006,215.2989) and + (443.8405,214.8439) .. (444.1092,214.4208) .. controls (464.9009,181.3510) and + (479.9199,139.8288) .. (481.2426,91.9412) .. controls (481.2812,90.5443) and + (481.3141,89.1075) .. (481.3291,87.6999) .. controls (481.3291,86.8051) and + (481.3386,85.9071) .. (481.3291,85.0166) .. controls (481.3291,83.5840) and + (481.2681,82.1960) .. (481.2426,80.7752) .. controls (479.6846,24.3543) and + (459.1339,-23.2689) .. (432.5104,-58.5831) .. controls (432.2264,-58.9572) and + (431.9299,-59.3373) .. (431.6448,-59.7084) .. controls (431.4432,-59.9726) and + (431.2412,-60.2246) .. (431.0389,-60.4874) .. controls (429.0491,-63.0562) and + (427.0157,-65.5082) .. (424.9799,-67.9314) .. controls (424.8334,-68.1065) and + (424.6938,-68.2764) .. (424.5471,-68.4507) .. controls (422.4448,-70.9389) and + (420.3645,-73.3914) .. (418.2283,-75.7216) .. controls (418.1441,-75.8137) and + (418.0530,-75.8894) .. (417.9687,-75.9813) .. controls (417.3328,-76.6728) and + (416.7024,-77.2947) .. (416.0644,-77.9721) .. controls (415.3714,-78.7089) and + (414.6840,-79.4147) .. (413.9870,-80.1361) -- cycle; +\path[fill=cff91af,fill opacity=0.600] (311.8486,156.6000) .. controls + (294.3787,174.0647) and (269.5952,196.0713) .. (242.0828,216.1519) .. controls + (214.5699,196.0657) and (189.6974,174.1605) .. (172.2305,156.6866) .. controls + (145.8227,183.0916) and (101.5293,226.9551) .. (72.7754,255.7089) .. controls + (74.9942,257.9269) and (77.3265,260.1079) .. (79.7000,262.2873) .. controls + (79.8217,262.3990) and (79.9242,262.5220) .. (80.0463,262.6336) .. controls + (84.7912,266.9717) and (89.8547,271.2450) .. (95.1939,275.3576) .. controls + (96.6867,276.5075) and (98.2435,277.6058) .. (99.7815,278.7333) .. controls + (101.1008,279.7075) and (102.4086,280.7179) .. (103.7631,281.6763) .. controls + (104.1072,281.9178) and (104.4557,282.1285) .. (104.8019,282.3688) .. controls + (107.7921,284.4620) and (110.8204,286.5108) .. (113.9770,288.5144) .. controls + (146.3447,309.0593) and (187.3697,324.4404) .. (235.1582,325.5612) .. controls + (237.8943,325.6521) and (240.6037,325.7343) .. (243.3812,325.7343) .. controls + (298.2664,325.7323) and (344.5267,306.7632) .. (379.3638,282.3688) .. controls + (382.3569,280.2918) and (385.2727,278.1245) .. (388.1062,275.9635) .. controls + (390.7188,273.9553) and (393.2596,271.9609) .. (395.7233,269.9044) .. controls + (395.9256,269.7355) and (396.1278,269.5543) .. (396.3292,269.3851) .. controls + (396.5043,269.2388) and (396.6742,269.0989) .. (396.8485,268.9523) .. controls + (399.3357,266.8505) and (401.7903,264.7692) .. (404.1194,262.6336) .. controls + (404.2104,262.5504) and (404.2883,262.4571) .. (404.3791,262.3739) .. controls + (405.8802,260.9932) and (407.2729,259.5223) .. (408.7070,258.1325) .. controls + (409.5780,257.2900) and (410.5419,256.4701) .. (411.3903,255.6224) .. controls + (382.6530,226.8685) and (338.2370,182.9940) .. (311.8486,156.6000) -- cycle; +\path[fill=cff91af] (242.0828,216.1519) .. controls (184.1889,258.4073) and + (114.3240,292.2856) .. (75.4587,258.1325) .. controls (76.8826,259.5114) and + (78.2101,260.9174) .. (79.7000,262.2873) .. controls (79.8217,262.3990) and + (79.9242,262.5220) .. (80.0463,262.6336) .. controls (84.7687,266.9579) and + (89.8299,271.2032) .. (95.1939,275.3576) .. controls (96.6867,276.5075) and + (98.2435,277.6058) .. (99.7815,278.7333) .. controls (101.1008,279.7075) and + (102.4086,280.7179) .. (103.7631,281.6763) .. controls (104.1072,281.9178) and + (104.4557,282.1285) .. (104.8019,282.3688) .. controls (107.7953,284.4465) and + (110.8276,286.5345) .. (113.9770,288.5144) .. controls (146.7262,309.1029) and + (187.8421,323.9902) .. (235.1582,325.5612) .. controls (237.0090,325.6046) and + (238.8269,325.6477) .. (240.6979,325.6478) .. controls (296.1207,325.6478) and + (343.4466,307.2928) .. (379.3638,282.3688) .. controls (382.3569,280.2918) and + (385.2727,278.1245) .. (388.1062,275.9635) .. controls (390.7250,273.9662) and + (393.2438,271.9622) .. (395.7233,269.9044) .. controls (395.9256,269.7355) and + (396.1278,269.5543) .. (396.3292,269.3851) .. controls (396.5043,269.2388) and + (396.6742,269.0989) .. (396.8485,268.9523) .. controls (399.3357,266.8505) and + (401.7903,264.7692) .. (404.1194,262.6336) .. controls (404.2104,262.5504) and + (404.2883,262.4571) .. (404.3791,262.3739) .. controls (405.8802,260.9932) and + (407.2729,259.5223) .. (408.7070,258.1325) .. controls (369.8544,292.3010) and + (299.9755,258.4175) .. (242.0828,216.1519) -- cycle; +\path[fill=cf0f79a,fill opacity=0.600] (72.7754,-82.9059) .. controls + (70.5569,-80.6871) and (68.3741,-78.3579) .. (66.1970,-75.9813) .. controls + (66.0854,-75.8595) and (65.9622,-75.7573) .. (65.8508,-75.6351) .. controls + (61.5029,-70.8676) and (57.2383,-65.7766) .. (53.1267,-60.4008) .. controls + (51.3696,-58.1035) and (49.6353,-55.7078) .. (47.9332,-53.3031) .. controls + (47.4520,-52.6280) and (46.9389,-51.9963) .. (46.4618,-51.3123) .. controls + (45.9532,-50.5777) and (45.4932,-49.8059) .. (44.9903,-49.0618) .. controls + (43.3279,-46.6219) and (41.6589,-44.1660) .. (40.0565,-41.6178) .. controls + (19.4250,-8.8097) and (4.1164,32.9166) .. (3.2693,81.2946) .. controls + (3.2447,82.6981) and (3.1828,84.1212) .. (3.1828,85.5359) .. controls + (3.1828,85.9743) and (3.1805,86.3969) .. (3.1828,86.8343) .. controls + (3.1803,87.2950) and (3.1828,87.7574) .. (3.1828,88.2192) .. controls + (3.1977,89.6155) and (3.2316,90.9886) .. (3.2693,92.3740) .. controls + (4.1090,140.7731) and (19.4160,182.0322) .. (40.0565,214.5939) .. controls + (43.8301,220.5471) and (47.7544,226.2022) .. (51.8284,231.5592) .. controls + (52.1527,231.9887) and (52.4544,232.4318) .. (52.7805,232.8576) .. controls + (52.8677,232.9708) and (52.9528,233.0910) .. (53.0402,233.2038) .. controls + (54.9978,235.7500) and (56.9957,238.2341) .. (59.0127,240.6478) .. controls + (60.7523,242.7208) and (62.4397,244.7409) .. (64.2061,246.7069) .. controls + (64.7196,247.2799) and (65.2480,247.8735) .. (65.7642,248.4381) .. controls + (65.8459,248.5272) and (65.9422,248.6088) .. (66.0239,248.6977) .. controls + (67.3269,250.1181) and (68.6867,251.4863) .. (70.0055,252.8525) .. controls + (70.0336,252.8815) and (70.0640,252.9101) .. (70.0921,252.9391) .. controls + (70.9761,253.8538) and (71.8852,254.8187) .. (72.7754,255.7089) .. controls + (101.5265,226.9551) and (145.8227,183.0916) .. (172.2305,156.6866) .. controls + (154.7440,139.1992) and (132.7471,114.2742) .. (112.5921,86.6612) .. controls + (132.7306,59.2363) and (154.7703,34.5200) .. (172.2305,17.0685) .. controls + (145.8255,-9.3476) and (101.5237,-54.1604) .. (72.7754,-82.9059) -- cycle; +\path[fill=ceef69b] (70.3518,-80.2226) .. controls (68.9729,-78.7979) and + (67.5658,-77.4733) .. (66.1970,-75.9813) .. controls (66.0854,-75.8595) and + (65.9622,-75.7573) .. (65.8508,-75.6351) .. controls (61.5302,-70.9058) and + (57.2682,-65.7822) .. (53.1267,-60.4008) .. controls (51.3532,-58.0964) and + (49.6588,-55.7235) .. (47.9332,-53.3031) .. controls (47.4520,-52.6280) and + (46.9389,-51.9963) .. (46.4618,-51.3123) .. controls (45.9532,-50.5777) and + (45.4932,-49.8059) .. (44.9903,-49.0618) .. controls (43.3247,-46.5972) and + (41.6558,-44.1860) .. (40.0565,-41.6178) .. controls (19.3811,-8.4168) and + (4.5756,33.3779) .. (3.2693,81.2946) .. controls (3.2447,82.6981) and + (3.1828,84.1212) .. (3.1828,85.5359) .. controls (3.1828,85.9743) and + (3.1805,86.3969) .. (3.1828,86.8343) .. controls (3.1803,87.2950) and + (3.1828,87.7574) .. (3.1828,88.2192) .. controls (3.1977,89.6155) and + (3.2316,90.9886) .. (3.2693,92.3740) .. controls (4.5734,140.2520) and + (19.4002,181.6607) .. (40.0565,214.5939) .. controls (43.7971,220.5577) and + (47.7501,226.1591) .. (51.8284,231.5592) .. controls (52.1527,231.9887) and + (52.4544,232.4318) .. (52.7805,232.8576) .. controls (52.8677,232.9708) and + (52.9528,233.0910) .. (53.0402,233.2038) .. controls (54.9978,235.7500) and + (56.9957,238.2341) .. (59.0127,240.6478) .. controls (60.7355,242.7096) and + (62.4467,244.7434) .. (64.2061,246.7069) .. controls (64.7196,247.2799) and + (65.2480,247.8735) .. (65.7642,248.4381) .. controls (65.8459,248.5272) and + (65.9422,248.6088) .. (66.0239,248.6977) .. controls (67.3269,250.1181) and + (68.6867,251.4863) .. (70.0055,252.8525) .. controls (36.1023,213.9490) and + (70.2402,144.3362) .. (112.5921,86.6612) .. controls (70.2490,28.6496) and + (36.2088,-41.3732) .. (70.3518,-80.2226) -- cycle; +\end{tikzpicture} +}} + +\definecolor{igaliaColor}{rgb}{0.423529,0.560784,0.761718} + +\newcommand\@ptsize{} +\newif\if@restonecol +\newif\if@titlepage +\@titlepagetrue +\newif\if@openright +\if@compatibility\else +\DeclareOption{a4paper} + {\setlength\paperheight {297mm} + \setlength\paperwidth {210mm}} +\DeclareOption{a5paper} + {\setlength\paperheight {210mm} + \setlength\paperwidth {148mm}} +\DeclareOption{b5paper} + {\setlength\paperheight {250mm} + \setlength\paperwidth {176mm}} +\DeclareOption{letterpaper} + {\setlength\paperheight {11in} + \setlength\paperwidth {8.5in}} +\DeclareOption{legalpaper} + {\setlength\paperheight {14in} + \setlength\paperwidth {8.5in}} +\DeclareOption{executivepaper} + {\setlength\paperheight {10.5in} + \setlength\paperwidth {7.25in}} +\DeclareOption{landscape} + {\setlength\@tempdima {\paperheight} + \setlength\paperheight {\paperwidth} + \setlength\paperwidth {\@tempdima}} +\fi +\if@compatibility + \renewcommand\@ptsize{0} +\else +\DeclareOption{10pt}{\renewcommand\@ptsize{0}} +\fi +\DeclareOption{11pt}{\renewcommand\@ptsize{1}} +\DeclareOption{12pt}{\renewcommand\@ptsize{2}} +\DeclareOption{14pt}{\renewcommand\@ptsize{4}} +\if@compatibility\else +\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} +\fi +\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} +\DeclareOption{draft}{\setlength\overfullrule{5pt}} +\if@compatibility\else +\DeclareOption{final}{\setlength\overfullrule{0pt}} +\fi +\DeclareOption{titlepage}{\@titlepagetrue} +\if@compatibility\else +\DeclareOption{notitlepage}{\@titlepagefalse} +\fi +\if@compatibility +\else +\DeclareOption{openright}{\@openrighttrue} +\DeclareOption{openany}{\@openrightfalse} +\fi +\if@compatibility\else +\DeclareOption{onecolumn}{\@twocolumnfalse} +\fi +\DeclareOption{twocolumn}{\@twocolumntrue} +\DeclareOption{leqno}{\input{leqno.clo}} +\DeclareOption{fleqn}{\input{fleqn.clo}} +\DeclareOption{openbib}{ + \AtEndOfPackage{ + \renewcommand\@openbib@code{ + \advance\leftmargin\bibindent + \itemindent -\bibindent + \listparindent \itemindent + \parsep \z@ + } + \renewcommand\newblock{\par}} +} +\ExecuteOptions{a4paper,10pt,oneside,onecolumn,final,openany} +\ProcessOptions + + +%%%% Babel +\RequirePackage[latin1]{inputenc} +\ifx\igaliaBabel\undefined + \RequirePackage[english]{babel} +\else + \RequirePackage[\igaliaBabel]{babel} +\fi + +%%%% + +\input{size1\@ptsize.clo} +\setlength\lineskip{1\p@} +\setlength\normallineskip{1\p@} +\renewcommand\baselinestretch{} +\setlength\parskip{0\p@ \@plus \p@} +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 +\setcounter{topnumber}{2} +\renewcommand\topfraction{.7} +\setcounter{bottomnumber}{1} +\renewcommand\bottomfraction{.3} +\setcounter{totalnumber}{3} +\renewcommand\textfraction{.2} +\renewcommand\floatpagefraction{.5} +\setcounter{dbltopnumber}{2} +\renewcommand\dbltopfraction{.7} +\renewcommand\dblfloatpagefraction{.5} + + +\if@twoside + \def\ps@headings{ + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\thepage\hfil\slshape\leftmark} + \def\@oddhead{\textcolor{igaliaColor}{{\slshape\rightmark}\hfil\thepage}} + \let\@mkboth\markboth + \def\chaptermark##1{ + \markboth {\MakeUppercase{ + \ifnum \c@secnumdepth >\m@ne + \@chapapp\ \thechapter. \ + \fi + ##1}}{}} + \def\sectionmark##1{ + \markright {\MakeUppercase{ + \ifnum \c@secnumdepth >\z@ + \thesection. \ + \fi + ##1}}}} +\else + \def\ps@headings{ +% \let\@oddfoot\@empty + + \def\@oddhead{\textcolor{igaliaColor}{{\slshape\rightmark\hfil\@author}}} + \def\@oddfoot{\textcolor{igaliaColor}{\expandafter\@title\hfil\thepage}} + + \let\@mkboth\markboth + \def\chaptermark##1{ + \markright {\MakeUppercase{ + \ifnum \c@secnumdepth >\m@ne + \@chapapp\ \thechapter. \ + \fi + ##1}}}} +\fi +\def\ps@myheadings{ + \let\@oddfoot\@empty\let\@evenfoot\@empty + \def\@evenhead{\textcolor{igaliaColor}{\thepage\hfil\slshape\leftmark}} + \def\@oddhead{\textcolor{igaliaColor}{{\slshape\rightmark}\hfil\thepage}} + \let\@mkboth\@gobbletwo + \let\chaptermark\@gobble + \let\sectionmark\@gobble + } + \if@titlepage + \newcommand\maketitle{\begin{titlepage} + \let\footnotesize\small + \let\footnoterule\relax + \let \footnote \thanks + \vspace*{-2cm} + \begin{flushright} + \usebox{\igaliaMiniLogo} + \end{flushright} + \vspace*{2cm} + \null\vfil + \vskip 60\p@ + \begin{center} + {\sf\bfseries\Huge\@title\par} + \vskip 6cm + \end{center}\par + \AddToShipoutPicture*{ + \put(-210,-210){\usebox\igaliaShipoutLogo} + } + \begin{flushright} + \begin{tabular}[t]{l} + \vspace*{1cm}{\huge \@customer} \\ + \vspace*{0.5cm}{\LARGE \@reference} \\ + {\LARGE \@city\xspace \@date} \\ + \end{tabular} + \end{flushright} + \@thanks + \vfil\null + \end{titlepage} + \setcounter{footnote}{0} + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@thanks\@empty +% \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@customer\@empty + \global\let\@reference\@empty + \global\let\@city\@empty +% \global\let\@title\@empty +% \global\let\title\relax +% \global\let\author\relax + \global\let\date\relax + \global\let\customer\relax + \global\let\reference\relax + \global\let\city\relax + \global\let\and\relax +} +\else +\newcommand\maketitle{\par + \begingroup + \renewcommand\thefootnote{\@fnsymbol\c@footnote} + \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}} + \long\def\@makefntext##1{\parindent 1em\noindent + \hb@xt@1.8em{ + \hss\@textsuperscript{\normalfont\@thefnmark}}##1} + \if@twocolumn + \ifnum \col@number=\@ne + \@maketitle + \else + \twocolumn[\@maketitle] + \fi + \else + \newpage + \global\@topnum\z@ % Prevents figures from going at top of page. + \@maketitle + \fi + \thispagestyle{headings}\@thanks + \endgroup + \setcounter{footnote}{0} + \global\let\thanks\relax + \global\let\maketitle\relax + \global\let\@maketitle\relax + \global\let\@thanks\@empty +% \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@customer\@empty + \global\let\@reference\@empty + \global\let\@city\@empty +% \global\let\@title\@empty +% \global\let\title\relax +% \global\let\author\relax + \global\let\date\relax + \global\let\customer\relax + \global\let\reference\relax + \global\let\city\relax + \global\let\and\relax +} +\def\@maketitle{ + \newpage + \null + \vskip 2em + \vspace*{-2cm} + \begin{flushright} + \usebox{\igaliaMiniLogo} + \end{flushright} + \vspace*{2cm} + \begin{center} + \let \footnote \thanks + {\Huge \@title \par} + \vskip 6cm + \end{center}\par + \begin{flushright} + \begin{tabular}[t]{l} + {\huge \@customer} \par \\ + {\LARGE \@reference}\\ + {\LARGE \@city,\xspace \@date}\\ + \end{tabular} + \end{flushright} + \par + \vskip 1.5em} +\fi +\newcommand*\chaptermark[1]{} +\setcounter{secnumdepth}{2} +\newcounter {part} +\newcounter {chapter} +\newcounter {section}[chapter] +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] +\renewcommand \thepart {\@Roman\c@part} +\renewcommand \thechapter {\@arabic\c@chapter} +\renewcommand \thesection {\thechapter.\@arabic\c@section} +\renewcommand\thesubsection {\thesection.\@arabic\c@subsection} +\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection} +\renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph} +\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph} +\newcommand\@chapapp{} +\newcommand\part{ + \if@openright + \cleardoublepage + \else + \clearpage + \fi + \thispagestyle{headings} + \if@twocolumn + \onecolumn + \@tempswatrue + \else + \@tempswafalse + \fi + \null\vfil + \secdef\@part\@spart} + +\def\@part[#1]#2{ + \ifnum \c@secnumdepth >-2\relax + \refstepcounter{part} + \addcontentsline{toc}{part}{\thepart\hspace{1em}#1} + \else + \addcontentsline{toc}{part}{#1} + \fi + \markboth{}{} + {\centering + \interlinepenalty \@M + \normalfont + \ifnum \c@secnumdepth >-2\relax + \huge\bfseries \partname\nobreakspace\thepart + \par + \vskip 20\p@ + \fi + \Huge \bfseries #2\par} + \@endpart} +\def\@spart#1{ + {\centering + \interlinepenalty \@M + \normalfont + \Huge \bfseries #1\par} + \@endpart} +\def\@endpart{\vfil\newpage + \if@twoside + \if@openright + \null + \thispagestyle{empty} + \newpage + \fi + \fi + \if@tempswa + \twocolumn + \fi} +\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi + \thispagestyle{headings} + \global\@topnum\z@ + \@afterindentfalse + \secdef\@chapter\@schapter} +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne + \refstepcounter{chapter} + \typeout{\@chapapp\space\thechapter.} + \addcontentsline{toc}{chapter} + {\protect\numberline{\thechapter}#1} + \else + \addcontentsline{toc}{chapter}{#1} + \fi + \chaptermark{#1} + \addtocontents{lof}{\protect\addvspace{10\p@}} + \addtocontents{lot}{\protect\addvspace{10\p@}} + \if@twocolumn + \@topnewpage[\@makechapterhead{#2}] + \else + \@makechapterhead{#2} + \@afterheading + \fi} +\def\@makechapterhead#1{ + \vspace*{50\p@} + {\parindent \z@ \raggedright \normalfont + \ifnum \c@secnumdepth >\m@ne + \huge\bfseries \@chapapp\space \thechapter + \hskip 20\p@ + \fi + \interlinepenalty\@M + \Huge \bfseries #1 \normalsize + + \textcolor{igaliaColor}{\hrule height 2.5pt} + + \vskip 40\p@ + }} +\def\@schapter#1{\if@twocolumn + \@topnewpage[\@makeschapterhead{#1}] + \else + \@makeschapterhead{#1} + \@afterheading + \fi} +\def\@makeschapterhead#1{ + \vspace*{50\p@} + {\parindent \z@ \raggedright + \normalfont + \interlinepenalty\@M + \Huge \bfseries #1 \normalsize + + \textcolor{igaliaColor}{\hrule height 2.5pt} + + \vskip 40\p@ + }} +\newcommand\section{\@startsection {section}{1}{\z@} + {-3.5ex \@plus -1ex \@minus -.2ex} + {2.3ex \@plus.2ex} + {\normalfont\Large\bfseries}} +\newcommand\subsection{\@startsection{subsection}{2}{\z@} + {-3.25ex\@plus -1ex \@minus -.2ex} + {1.5ex \@plus .2ex} + {\hspace*{-0.6cm}\normalfont\large\bfseries\textcolor{igaliaColor}}} +\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@} + {-3.25ex\@plus -1ex \@minus -.2ex} + {1.5ex \@plus .2ex} + {\normalfont\normalsize\bfseries}} +\newcommand\paragraph{\@startsection{paragraph}{4}{\z@} + {3.25ex \@plus1ex \@minus.2ex} + {-1em} + {\normalfont\normalsize\bfseries}} +\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent} + {3.25ex \@plus1ex \@minus .2ex} + {-1em} + {\normalfont\normalsize\bfseries}} +\if@twocolumn + \setlength\leftmargini {2em} +\else + \setlength\leftmargini {2.5em} +\fi +\leftmargin \leftmargini +\setlength\leftmarginii {2.2em} +\setlength\leftmarginiii {1.87em} +\setlength\leftmarginiv {1.7em} +\if@twocolumn + \setlength\leftmarginv {.5em} + \setlength\leftmarginvi {.5em} +\else + \setlength\leftmarginv {1em} + \setlength\leftmarginvi {1em} +\fi +\setlength \labelsep {.5em} +\setlength \labelwidth{\leftmargini} +\addtolength\labelwidth{-\labelsep} +\@beginparpenalty -\@lowpenalty +\@endparpenalty -\@lowpenalty +\@itempenalty -\@lowpenalty +\renewcommand\theenumi{\@arabic\c@enumi} +\renewcommand\theenumii{\@alph\c@enumii} +\renewcommand\theenumiii{\@roman\c@enumiii} +\renewcommand\theenumiv{\@Alph\c@enumiv} +\newcommand\labelenumi{\theenumi.} +\newcommand\labelenumii{(\theenumii)} +\newcommand\labelenumiii{\theenumiii.} +\newcommand\labelenumiv{\theenumiv.} +\renewcommand\p@enumii{\theenumi} +\renewcommand\p@enumiii{\theenumi(\theenumii)} +\renewcommand\p@enumiv{\p@enumiii\theenumiii} +\newcommand\labelitemi{\textbullet} +\newcommand\labelitemii{\normalfont\bfseries \textendash} +\newcommand\labelitemiii{\textasteriskcentered} +\newcommand\labelitemiv{\textperiodcentered} +\newenvironment{description} + {\list{}{\labelwidth\z@ \itemindent-\leftmargin + \let\makelabel\descriptionlabel}} + {\endlist} +\newcommand*\descriptionlabel[1]{\hspace\labelsep + \normalfont\bfseries #1} +\if@titlepage + \newenvironment{abstract}{ + \titlepage + \null\vfil + \@beginparpenalty\@lowpenalty + \begin{center} + \bfseries \abstractname + \@endparpenalty\@M + \end{center}} + {\par\vfil\null\endtitlepage} +\else + \newenvironment{abstract}{ + \if@twocolumn + \section*{\abstractname} + \else + \small + \begin{center} + {\bfseries \abstractname\vspace{-.5em}\vspace{\z@}} + \end{center} + \quotation + \fi} + {\if@twocolumn\else\endquotation\fi} +\fi +\newenvironment{verse} + {\let\\\@centercr + \list{}{\itemsep \z@ + \itemindent -1.5em + \listparindent\itemindent + \rightmargin \leftmargin + \advance\leftmargin 1.5em} + \item\relax} + {\endlist} +\newenvironment{quotation} + {\list{}{\listparindent 1.5em + \itemindent \listparindent + \rightmargin \leftmargin + \parsep \z@ \@plus\p@} + \item\relax} + {\endlist} +\newenvironment{quote} + {\list{}{\rightmargin\leftmargin} + \item\relax} + {\endlist} +\if@compatibility +\newenvironment{titlepage} + {% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty} + \setcounter{page}\z@ + }% + {\if@restonecol\twocolumn \else \newpage \fi + } +\else +\newenvironment{titlepage} + {% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse\newpage + \fi + \thispagestyle{empty} + \setcounter{page}\@ne + }% + {\if@restonecol\twocolumn \else \newpage \fi + \if@twoside\else + \setcounter{page}\@ne + \fi + } +\fi +\newcommand\appendix{\par + \setcounter{chapter}{0} + \setcounter{section}{0} + \gdef\@chapapp{\appendixname} + \gdef\thechapter{\@Alph\c@chapter}} +\setlength\arraycolsep{5\p@} +\setlength\tabcolsep{6\p@} +\setlength\arrayrulewidth{.4\p@} +\setlength\doublerulesep{2\p@} +\setlength\tabbingsep{\labelsep} +\skip\@mpfootins = \skip\footins +\setlength\fboxsep{3\p@} +\setlength\fboxrule{.4\p@} +\@addtoreset {equation}{chapter} +\renewcommand\theequation + {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation} +\newcounter{figure}[chapter] +\renewcommand \thefigure + {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure} +\def\fps@figure{tbp} +\def\ftype@figure{1} +\def\ext@figure{lof} +\def\fnum@figure{\figurename\nobreakspace\thefigure} +\newenvironment{figure} + {\@float{figure}} + {\end@float} +\newenvironment{figure*} + {\@dblfloat{figure}} + {\end@dblfloat} +\newcounter{table}[chapter] +\renewcommand \thetable + {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table} +\def\fps@table{tbp} +\def\ftype@table{2} +\def\ext@table{lot} +\def\fnum@table{\tablename\nobreakspace\thetable} +\newenvironment{table} + {\@float{table}} + {\end@float} +\newenvironment{table*} + {\@dblfloat{table}} + {\end@dblfloat} +\newlength\abovecaptionskip +\newlength\belowcaptionskip +\setlength\abovecaptionskip{10\p@} +\setlength\belowcaptionskip{0\p@} +\long\def\@makecaption#1#2{ + \vskip\abovecaptionskip + \sbox\@tempboxa{#1: #2} + \ifdim \wd\@tempboxa >\hsize + #1: #2\par + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil} + \fi + \vskip\belowcaptionskip} +\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} +\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} +\newcommand\@pnumwidth{1.55em} +\newcommand\@tocrmarg{2.55em} +\newcommand\@dotsep{4.5} +\setcounter{tocdepth}{2} +\newcommand\tableofcontents{ + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{ + \MakeUppercase\contentsname}{\MakeUppercase\contentsname}} + \@starttoc{toc} + \if@restonecol\twocolumn\fi + } +\newcommand*\l@part[2]{ + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty} + \addvspace{2.25em \@plus\p@} + \setlength\@tempdima{3em} + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries #1\hfil \hb@xt@\@pnumwidth{\hss #2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}} + \endgroup + \fi} +\newcommand*\l@chapter[2]{ + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty} + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em} + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \penalty\@highpenalty + \endgroup + \fi} +\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} +\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} +\newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}} +\newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}} +\newcommand\listoffigures{ + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\listfigurename} + \@mkboth{\MakeUppercase\listfigurename} + {\MakeUppercase\listfigurename} + \@starttoc{lof} + \if@restonecol\twocolumn\fi + } +\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} +\newcommand\listoftables{ + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\listtablename} + \@mkboth{ + \MakeUppercase\listtablename} + {\MakeUppercase\listtablename} + \@starttoc{lot} + \if@restonecol\twocolumn\fi + } +\let\l@table\l@figure +\newdimen\bibindent +\setlength\bibindent{1.5em} +\newenvironment{thebibliography}[1] + {\chapter*{\bibname} + \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname} + \list{\@biblabel{\@arabic\c@enumiv}} + {\settowidth\labelwidth{\@biblabel{#1}} + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv} + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}} + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000 + \sfcode`\.\@m} + {\def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}} + \endlist} +\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em} +\let\@openbib@code\@empty +\newenvironment{theindex} + {\if@twocolumn + \@restonecolfalse + \else + \@restonecoltrue + \fi + \twocolumn[\@makeschapterhead{\indexname}] + \@mkboth{\MakeUppercase\indexname} + {\MakeUppercase\indexname} + \thispagestyle{headings}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \columnseprule \z@ + \columnsep 35\p@ + \let\item\@idxitem} + {\if@restonecol\onecolumn\else\clearpage\fi} +\newcommand\@idxitem{\par\hangindent 40\p@} +\newcommand\subitem{\@idxitem \hspace*{20\p@}} +\newcommand\subsubitem{\@idxitem \hspace*{30\p@}} +\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} +\renewcommand\footnoterule{ + \kern-3\p@ + \hrule\@width.4\columnwidth + \kern2.6\p@} +\@addtoreset{footnote}{chapter} +\newcommand\@makefntext[1]{ + \parindent 1em + \noindent + \hb@xt@1.8em{\hss\@makefnmark}#1} +\newcommand\contentsname{Contents} +\newcommand\listfigurename{List of Figures} +\newcommand\listtablename{List of Tables} +\newcommand\bibname{Bibliography} +\newcommand\indexname{Index} +\newcommand\figurename{Figure} +\newcommand\tablename{Table} +\newcommand\partname{Part} +\newcommand\chaptername{Chapter} +\newcommand\appendixname{Appendix} +\newcommand\abstractname{Abstract} +\def\today{\ifcase\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space\number\day, \number\year} +\setlength\columnsep{10\p@} +\setlength\columnseprule{0\p@} +\pagestyle{headings} +\pagenumbering{arabic} +\if@twoside +\else + \raggedbottom +\fi +\if@twocolumn + \twocolumn + \sloppy + \flushbottom +\else + \onecolumn +\fi +\endinput +%% +%% End of file `igaliaBudget.cls'. diff --git a/doc/src/introducion/.#introducion.rst b/doc/src/introducion/.#introducion.rst new file mode 120000 index 000000000..4a80271a3 --- /dev/null +++ b/doc/src/introducion/.#introducion.rst @@ -0,0 +1 @@ +xavi@127.0.1.1.4137:1254405172 \ No newline at end of file diff --git a/doc/src/introducion/introducion.rst b/doc/src/introducion/introducion.rst new file mode 100644 index 000000000..9198af571 --- /dev/null +++ b/doc/src/introducion/introducion.rst @@ -0,0 +1,18 @@ +Introdución +############## + +.. contents:: + +A aplicación para xestión da produción do sector auxiliar do naval pretende resolver principalmente o problema da planificación nas empresas pertencentes ó sector. Para elo desenvolvéronse unha serie de funcionalidades que dan solución a certos problemas detectados durante a análise do proxecto. + +A modo de resumo, poderíamos destacar os conceptos básicos cos que traballará a aplicación + * Criterios: Os criterios son unha entidade do sistema que permitirán clasificar os recursos (tanto humanos como máquinas) e as tarefas. Os recursos satisfarán criterios e por outro lado as tarefas requiren criterios para ser realizadas. + * Calendarios: Os calendarios determinarán as horas produtivas dispoñibles dos diferentes recursos. O usuario poderá crear calendarios xerais da empresa e derivar as características para calendarios máis concretos, chegando ata a nivel de calendario por recurso ou tarefa. + * Avances: A aplicación permitirá xestionar diversos tipos de avances. Un proxecto pode ser medido en porcentaxe de avance, sen embargo, pode querer ser medido en unidades, presuposto acordado, etc. Será responsabilidade da persoa que xestiona a planificación decidir qué tipo de avance será utilizado para contrastar avances a niveis superiores de proxecto. + * Recursos: Serán de dous tipos diferentes: humanos e máquinas. Os recursos humanos serán os traballadores da empresa que se utilizarán para controlar a carga da empresa e de uso dos mesmos. Por outro lado, as máquinas, dependentes das persoas que as xestionan, serán outros recursos que tamén serán controlables na aplicación. + * Pedido e elementos de pedido: Os traballos solicitados polos clientes terán un reflexo na aplicación en forma de pedido, que se estrutura en elementos de pedido. O pedido cos seus elementos conformarán unha estrutura xerárquina en n niveis. Esta árbore de elementos será sobre a que se traballe á hora de planificar traballos. + * Tarefas: As tarefas son los elementos de planificación da aplicación. Serán utilizadas para temporalizar os traballos a realizar. As características máis importantes das tarefas serán: teñen dependencias entre si e poden requerir criterios a ser satisfeitos para asignar recursos. + * Partes de traballo: Son os partes dos traballadores das empresas, indicando as horas traballadas e por outro lado as tarefas asignadas ás horas que un traballador realizou. Con esta información, o sistema é capaz de calcular cantas horas foron consumidas dunha tarefa con respecto ó total de horas presupostadas, permitindo contrastar os avances respecto do consumo de horas real. + * Etiquetas: Serán elementos que se usarán para o etiquetado das tarefas dos proxectos. Con estas etiquetas o usuario da aplicación poderá realizar agrupacións conceptuais das tarefas para posteriormente poder consultar información das mesmas de xeito agrupado e filtrado. + + diff --git a/doc/src/lsr.css b/doc/src/lsr.css new file mode 100644 index 000000000..2aa3c281c --- /dev/null +++ b/doc/src/lsr.css @@ -0,0 +1,251 @@ +/* +Author: Peter Parente +Date: 2008/01/22 +Version: 1.0 +Copyright: This stylesheet has been placed in the public domain - free to edit and use for all uses. +*/ + +body { + font: 100% sans-serif; + background: #ffffff; + color: black; + margin: 2em; + padding: 0em 2em; +} + +p.topic-title { + font-weight: bold; +} + +table.docinfo { + text-align: left; + margin: 2em 0em; +} + +a[href] { + color: #436976; + background-color: transparent; +} + +a.toc-backref { + text-decoration: none; +} + +h1 a[href] { + color: #003a6b; + text-decoration: none; + background-color: transparent; +} + +a.strong { + font-weight: bold; +} + +img { + margin: 0; + border: 0; +} + +p { + margin: 0.5em 0 1em 0; + line-height: 1.5em; +} + +p a:visited { + color: purple; + background-color: transparent; +} + +p a:active { + color: red; + background-color: transparent; +} + +a:hover { + text-decoration: none; +} + +p img { + border: 0; + margin: 0; +} + +p.rubric { + font-weight: bold; + font-style: italic; +} + +h1.title { + color: #003a6b; + font-size: 250%; + margin-bottom: 0em; +} + +h2.subtitle { + color: #003a6b; + border-bottom: 0px; +} + +h1, h2, h3, h4, h5, h6 { + color: #555; + background-color: transparent; + margin: 0em; + padding-top: 0.5em; +} + +h1 { + font-size: 160%; + margin-bottom: 0.5em; + border-bottom: 2px solid #aaa; +} + +h2 { + font-size: 140%; + margin-bottom: 0.5em; + border-bottom: 1px solid #aaa; +} + +h3 { + font-size: 130%; + margin-bottom: 0.5em; +} + +h4 { + font-size: 110%; + font-weight: bold; + margin-bottom: 0.5em; +} + +h5 { + font-size: 105%; + font-weight: bold; + margin-bottom: 0.5em; +} + +h6 { + font-size: 100%; + font-weight: bold; + margin-bottom: 0.5em; +} + +dt { + font-style: italic; +} + +dd { + margin-bottom: 1.5em; +} + +div.admonition, div.note, div.tip, div.caution, div.important, div.warning { + margin: 2em 2em; + padding: 0em 1em; + border-top: 1px solid #aaa; + border-left: 1px solid #aaa; + border-bottom: 2px solid #555; + border-right: 2px solid #555; +} + +div.important { + background: transparent url('../images/important.png') 10px 2px no-repeat; +} + +div.caution { + background: transparent url('../images/caution.png') 10px 2px no-repeat; +} + +div.note { + background: transparent url('../images/note.png') 10px 2px no-repeat; +} + +div.tip { + background: transparent url('../images/tip.png') 10px 2px no-repeat; +} + +div.admonition-example { + background: transparent url('../images/tip.png') 10px 2px no-repeat; +} + +div.admonition-critical-example { + background: transparent url('../images/important.png') 10px 2px no-repeat; +} + +p.admonition-title { + font-weight: bold; + border-bottom: 1px solid #aaa; + padding-left: 30px; +} + +table.docutils { + text-align: left; + border: 1px solid gray; + border-collapse: collapse; + width: 100%; + margin: 1.5em 0em; +} + +table.docutils caption { + font-style: italic; +} + +table.docutils td, table.docutils th { + padding: 0.25em 0.5em; +} + +table.docutils th { + background-color: #dddddd; +} + +div.sidebar { + width: 33%; + float: right; + margin: 0em 2em; + padding: 0em 1em; + border-top: 1px solid #aaa; + border-left: 1px solid #aaa; + border-bottom: 2px solid #555; + border-right: 2px solid #555; +} + +p.sidebar-title { + margin-bottom: 0em; + color: #003a6b; + border-bottom: 1px solid #aaa; + font-weight: bold; +} + +p.sidebar-subtitle { + margin-top: 0em; + font-style: italic; + color: #003a6b; +} + +div.figure { + text-align: center; +} + +div.figure img { + background: #f8f8f8; + padding: 0.25em; + border: 1px solid #888; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} + +div.figure img:hover { + background: #e0e0e0; +} + +div.figure p.caption { + text-align: center; + margin-top: 0.1em; + font-style: italic; + color: #444; +} + +pre.literal-block { + padding: 0.15em; + background: #f8f8f8; + border: 1px solid #dfdfdf; + border-left: 0.25em solid #dfdfdf +} diff --git a/doc/src/partes/partes.rst b/doc/src/partes/partes.rst new file mode 100644 index 000000000..1a0783a8f --- /dev/null +++ b/doc/src/partes/partes.rst @@ -0,0 +1,7 @@ +Partes de traballo +################## + +.. contents:: + +Contidos... + diff --git a/doc/src/parts b/doc/src/parts new file mode 100644 index 000000000..1565d1b39 --- /dev/null +++ b/doc/src/parts @@ -0,0 +1,20 @@ +# +# First word: +# Identifier of the section to include. It cannot contain spaces. For +# a section named “fooâ€, a file “foo/foo.rst†must exist. +# +# Rest of the line: +# Free form text for specifying who is in charge. It will be passed to +# docutils as-is, so you can add markup if needed. +# +# +introducion Xavier Castaño (xcastanho@igalia.com) +criterios Xavier Castaño (xcastanho@igalia.com) +calendarios Xavier Castaño (xcastanho@igalia.com) +avances Xavier Castaño (xcastanho@igalia.com) +recursos Xavier Castaño (xcastanho@igalia.com) +pedidos Xavier Castaño (xcastanho@igalia.com) +planificacion Xavier Castaño (xcastanho@igalia.com) +asignacion Xavier Castaño (xcastanho@igalia.com) +partes Xavier Castaño (xcastanho@igalia.com) +etiquetas Xavier Castaño (xcastanho@igalia.com) diff --git a/doc/src/pedidos/pedidos.rst b/doc/src/pedidos/pedidos.rst new file mode 100644 index 000000000..88b0826d8 --- /dev/null +++ b/doc/src/pedidos/pedidos.rst @@ -0,0 +1,7 @@ +Pedidos e elementos de pedidos +############################## + +.. contents:: + +Contidos... + diff --git a/doc/src/planificacion/planificacion.rst b/doc/src/planificacion/planificacion.rst new file mode 100644 index 000000000..6d9778e6b --- /dev/null +++ b/doc/src/planificacion/planificacion.rst @@ -0,0 +1,7 @@ +Planificación de tarefas +######################## + +.. contents:: + +Contidos... + diff --git a/doc/src/recursos/recursos.rst b/doc/src/recursos/recursos.rst new file mode 100644 index 000000000..7e9fd4ec9 --- /dev/null +++ b/doc/src/recursos/recursos.rst @@ -0,0 +1,7 @@ +Xestión de recursos +################### + +.. contents:: + +Contidos... + diff --git a/doc/tools/doctool b/doc/tools/doctool new file mode 100755 index 000000000..e0f5a094b --- /dev/null +++ b/doc/tools/doctool @@ -0,0 +1,273 @@ +#! /usr/bin/env python + +import sys, shlex, subprocess +from optparse import OptionParser, OptionGroup +from docutils.writers import latex2e + +try: + import locale + locale.setlocale(locale.LC_ALL, '') +except: + pass + + +class AttributedDict(object): + def __init__(self): + object.__setattr__(self, "_items", dict()) + + def __getattr__(self, key): + return self._items.get(key) + + def __delattr__(self, key): + if key in self._items: + del self._items[key] + else: + object.__delattr__(self, key) + + def __setattr__(self, key, val): + if hasattr(self, key): + object.__setattr__(self, key, val) + else: + self._items[key] = val + + +parser = OptionParser(usage="Usage: %prog [options]") +OPT = AttributedDict() + +OPT.common = OptionGroup(parser, "Common options") + +OPT.docinfo = OptionGroup(parser, "Documentation information") +OPT.docinfo.add_option("-i", "--info", dest="docinfo", + default=None, metavar="FILE", + help="Read project information from FILE") + + +def optparser(*groups): + parser.add_option_group(OPT.common) + [parser.add_option_group(g) for g in groups] + return parser + + +class DupRefsRemover(object): + def __init__(self, out): + self.out = out + self.ref = dict() + + def handle_line(self, line): + if line.startswith(".. _") and ":" in line: + r = map(lambda x: x.strip(), line[4:].split(":", 1)) + if r[0] in self.ref: + # Do some sanity check + if self.ref[r[0]] != r[1]: + raise ValueError("Reference '%s' mismatch (%s - %s)" + % (r[0], self.ref[r[0]], r[1])) + else: + # Add reference and print it out + self.ref[r[0]] = r[1] + self.out.write(line) + else: + self.out.write(line) + + + +class ShellEscapeRunner(object): + def __init__(self, out): + self.out = out + + def _expand(self, cmdline): + cmd = shlex.split(cmdline, False) + pipe = subprocess.Popen(cmd, stdout=subprocess.PIPE) + return "\n ".join(pipe.communicate()[0].rstrip().splitlines()) + + + def handle_line(self, line): + index = line.find("!!") + if index < 0: + self.out.write(line) + return + + self.out.write(line[:index].replace("\\!", "!")) + cmd = line[index+2:] + end = cmd.find("!!") + if end > index: + self.out.write(self._expand(cmd[:end].replace("\\!", "!"))) + self.out.write(cmd[end+2:].replace("\\!", "!")) + else: + self.out.write(self._expand(cmd.replace("\\!", "!"))) + self.out.write("\n") + + + +LATEX_SETTINGS = { + "documentclass" : "scrbook", + "documentoptions" : "11pt,oneside,a4paper", + "table_style" : "booktabs", + "use_latex_footnotes": 1, + "use_latex_citations": 1, + "use_latex_toc" : 1, + "use_latex_docinfo" : 0, + "use_latex_abstract" : 1, +} + +EBOOK_SETTINGS = dict(LATEX_SETTINGS) +EBOOK_SETTINGS["documentoptions"] = "14pt,oneside,b5paper" + +HTML_SETTINGS = { + "field_name_limit" : 20, + "cloak_email_addresses": 1, +} + + +# Those are two mocks needed to properly reuse the LaTeX code generator, but +# avoiding generation of all the cruft from the preamble and the postamble, +# and only the middle part. +# +class LaTeXStandaloneTranslator(latex2e.LaTeXTranslator): + def __init__(self, document): + latex2e.LaTeXTranslator.__init__(self, document) + + # XXX We rely on DocumentClass having a document_class attribute and + # on it not changing the attribute once initialization was done + # + if self.d_class.document_class == "igaliabk": + self.d_class.document_class = "book" + +class LaTeXInsertTranslator(LaTeXStandaloneTranslator): + def astext(self): + return "".join(self.body) + +class LaTeXCustomWriter(latex2e.Writer): + def __init__(self, translator_class): + latex2e.Writer.__init__(self) + self.translator_class = translator_class + + + +class DocTool(object): + + def main(self, argv=None): + if argv is None: + argv = sys.argv + + if len(argv) < 2: + raise SystemExit("Insufficient number of arguments") + + method = getattr(self, "cmd_" + argv[1], self.no_command) + method(*argv[1:]) + + def cmd_rstinsert(self, cmd, *args): + from docutils.core import publish_cmdline, default_description + description = ( + "Generates LaTeX portions to be included in documents " + + "from standalone reStructuredText sourtces " + + default_description) + + publish_cmdline(writer=LaTeXCustomWriter(LaTeXInsertTranslator), + description=description, + argv=list(args) + ) + + def cmd_rst2latex(self, cmd, *args): + from docutils.core import publish_cmdline, default_description + description = ( + 'Generates LaTeX documents from RST sources. ' + + default_description) + + publish_cmdline(writer=LaTeXCustomWriter(LaTeXStandaloneTranslator), + settings_overrides=LATEX_SETTINGS, + description=description, + argv=list(args), + ) + + def cmd_rst2ebook(self, cmd, *args): + from docutils.core import publish_cmdline, default_description + description = ( + 'Generates LaTeX documents from RST sources. ' + + default_description) + + publish_cmdline(writer=LaTeXCustomWriter(LaTeXStandaloneTranslator), + settings_overrides=EBOOK_SETTINGS, + description=description, + argv=list(args), + ) + + def cmd_rst2html(self, cmd, *args): + from docutils.core import publish_cmdline, default_description + description = ( + 'Generates HTML documents from RST sources. ' + + default_description) + + publish_cmdline(writer_name="html", + settings_overrides=HTML_SETTINGS, + description=description, + argv=list(args), + ) + + def cmd_toplevel(self, cmd, *args): + opts, args = optparser(OPT.docinfo).parse_args(list(args)) + + if opts.docinfo: + f = file(opts.docinfo, "rU") + e = ShellEscapeRunner(sys.stdout) + map(e.handle_line, f.readlines()) + f.close() + print + + print ".. contents::" + print + + out = DupRefsRemover(sys.stdout) + + for name in args: + if not name.endswith(".rst"): + continue + + f = file(name, "rU") + map(out.handle_line, + filter(lambda l: ".. contents::" not in l, + f.readlines()) + ) + f.close() + print + + + def cmd_htmlindex(self, cmd, *args): + opts, args = optparser(OPT.docinfo).parse_args(list(args)) + + if opts.docinfo: + f = file(opts.docinfo, "rU") + e = ShellEscapeRunner(sys.stdout) + map(e.handle_line, f.readlines()) + f.close() + print + + for name in args: + # Skip non-RST inputs + if not name.endswith(".rst"): + continue + + f = file(name, "rU") + line = f.readline().strip() + f.close() + print "#. `%s <%s.html>`__" % (line, name[:-4]) + + + def cmd_help(self, cmd, *args): + if args: + self.main([args[0], args[0], "--help"]) + else: + print "Available commands:" + for k in dir(self): + if k.startswith("cmd_"): + print " ", k[4:].replace("_", "-") + + cmd_commands = cmd_help + + def no_command(self, cmd, *args): + raise SystemExit("No such command '%s'" % cmd) + + + +if __name__ == "__main__": + DocTool().main() + diff --git a/doc/tools/toplevel-html b/doc/tools/toplevel-html new file mode 100755 index 000000000..c56e4eb81 --- /dev/null +++ b/doc/tools/toplevel-html @@ -0,0 +1,61 @@ +#! /bin/bash + +header=' +=================== + Service Catalogue +=================== +' + +longest () +{ + local -i len=0 + local item + for item in "$@" ; do + [[ ${#item} -gt ${len} ]] && len=${#item} + done + echo "${len}" +} + + +sects=( ) +texts=( ) +title=( ) + +echo "${header}" +while read -r item ; do + if [[ ${item} = \#* ]] ; then + continue + elif expr "${item}" : '^[[:space:]]*$' &> /dev/null ; then + continue + else + # Gather data + read -r sect text <<< "${item}" + title=( "${title[@]}" "$(head -n 1 "${sect}/${sect}.rst")" ) + sects=( "${sects[@]}" "${sect}" ) + texts=( "${texts[@]}" "${text}" ) + fi +done + +repeat_char () +{ + local i + for (( i=0; i < $2 ; i++ )) ; do + echo -n "$1" + done +} + +title_longest=$(longest "${title[@]}") +sects_longest=$(longest "${sects[@]}") +title_longest=$((title_longest + 2 * sects_longest + 12)) +title_sub=$(repeat_char '=' ${title_longest}) + +printf "%-${title_longest}s ================\n" "${title_sub}" +printf "%-${title_longest}s Person in charge\n" "Section" +printf "%-${title_longest}s ================\n" "${title_sub}" +for (( i=0 ; i < ${#title[@]} ; i++ )) ; do + printf "%-${title_longest}s %s\n" \ + "\`${title[$i]} <${sects[$i]}/${sects[$i]}.html>\`_" \ + "${texts[$i]}" +done +printf "%-${title_longest}s ================\n" "${title_sub}" + diff --git a/doc/tools/toplevel-tex b/doc/tools/toplevel-tex new file mode 100755 index 000000000..7979918c0 --- /dev/null +++ b/doc/tools/toplevel-tex @@ -0,0 +1,81 @@ +#! /bin/bash + +header=' +=================== + Service Catalogue +=================== +' + +mangle_sed=' +/^\\.\\.[ \\t]contents::/d +s,\\(image::[[:space:]]*\\)\\(.*\\),\\1%s/\\2, +s,\\(figure::[[:space:]]*\\)\\(.*\\),\\1%s/\\2, +' + +# mangle_input [basedir] +# +mangle_input () +{ + local program + printf -v program "${mangle_sed}" "$1" "$1" + sed -e "${program}" +} + + +longest () +{ + local -i len=0 + local item + for item in "$@" ; do + [[ ${#item} -gt ${len} ]] && len=${#item} + done + echo "${len}" +} + + +sects=( ) +texts=( ) +title=( ) + +echo "${header}" +while read -r item ; do + if [[ ${item} = \#* ]] ; then + continue + elif expr "${item}" : '^[[:space:]]*$' &> /dev/null ; then + continue + else + # Gather data + read -r sect text <<< "${item}" + title=( "${title[@]}" "$(head -n 1 "${sect}/${sect}.rst")" ) + sects=( "${sects[@]}" "${sect}" ) + texts=( "${texts[@]}" "${text}" ) + fi +done + +repeat_char () +{ + local i + for (( i=0; i < $2 ; i++ )) ; do + echo -n "$1" + done +} + +title_longest=$(longest "${title[@]}") +title_longest=$((title_longest + 3)) +title_sub=$(repeat_char '=' ${title_longest}) + +printf "%-${title_longest}s ================\n" "${title_sub}" +printf "%-${title_longest}s Person in charge\n" "Section" +printf "%-${title_longest}s ================\n" "${title_sub}" +for (( i=0 ; i < ${#title[@]} ; i++ )) ; do + printf "%-${title_longest}s %s\n" "\`${title[$i]}\`_" "${texts[$i]}" +done +printf "%-${title_longest}s ================\n" "${title_sub}" + +printf "\n.. contents::\n\n" + +for sect in "${sects[@]}" ; do + mangle_input "$(dirname "${sect}/${sect}.rst")" < "${sect}/${sect}.rst" + echo +done +