cover2.tex.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290
  1. \documentclass[fontsize=12pt]{standalone}
  2. % This cover design is based on the `tugraz-booklet` class (TU Graz corporate design)
  3. % The main photo can be replace by any other suitably-sized photo.
  4. \newif\ifdraft\drafttrue % TODO set false for submission
  5. \newif\ifshowiaik\showiaiktrue % true: show huge gray part of graphical acronym / false: hide this part
  6. \usepackage[default,semibold]{sourcesanspro}
  7. \usepackage{soul}
  8. \usepackage{adjustbox}
  9. \sodef\so{}{0.4em}{1.1em}{0em}
  10. \newcommand{\tugsq}{\raisebox{0.5ex}{\tikz{\fill (0,0) rectangle (0.5ex,0.5ex);}}}
  11. \usepackage{tikz}
  12. \usetikzlibrary{calc}
  13. \ifdraft
  14. \tikzset{layout/.style={draw,gray}}
  15. \else
  16. \tikzset{layout/.style={}}
  17. \fi
  18. % TODO your info
  19. \newcommand{\thesistitle}{<?php echo $thesis_title ?>}
  20. \newcommand{\thesisauthor}{<?php echo $thesis_author ?>}
  21. \newcommand{\thesisdate}{<?php echo $thesis_date ?>}
  22. \newcommand{\thesisassessors}{Assessors: <?php echo $thesis_assessors ?>}
  23. \newcommand{\thesisabstract}{%
  24. This is a great abstract for my thesis.
  25. }
  26. \newcommand{\thesisphotopath}{figures/cover_figure}
  27. % TODO don't forget to set \spinesize below based on your page number and paper quality!
  28. % TU Graz logo
  29. \definecolor{tuglogo}{HTML}{F70146}
  30. %\definecolor{tuglogo}{RGB}{237,26,82}
  31. \colorlet{tuglogotext}{black}
  32. \newcommand{\tuglogo}{%
  33. \begin{tikzpicture}[y=0.80pt, x=0.80pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt]
  34. \begin{scope}[cm={{1.25,0.0,0.0,-1.25,(0.0,53.75)}}]% g10
  35. \begin{scope}[scale=0.100]% g12
  36. % path14
  37. \path[fill=tuglogo,nonzero rule] (1.0820,112.0390) -- (208.5310,112.0390) --
  38. (208.5310,319.4960) -- (1.0820,319.4960) -- (1.0820,112.0390) -- cycle;
  39. % path16
  40. \path[fill=tuglogo,nonzero rule] (229.2730,112.0390) -- (436.7340,112.0390) --
  41. (436.7340,319.4960) -- (229.2730,319.4960) -- (229.2730,112.0390) -- cycle;
  42. % path18
  43. \path[fill=tuglogo,nonzero rule] (457.4880,112.0390) -- (664.9290,112.0390) --
  44. (664.9290,319.4960) -- (457.4880,319.4960) -- (457.4880,112.0390) -- cycle;
  45. % path20
  46. \path[fill=tuglogo,nonzero rule] (104.8050,8.3086) -- (312.2740,8.3086) --
  47. (312.2740,215.7656) -- (104.8050,215.7656) -- (104.8050,8.3086) -- cycle;
  48. % path22
  49. \path[fill=tuglogo,nonzero rule] (353.7580,215.7660) -- (561.1990,215.7660) --
  50. (561.1990,423.2270) -- (353.7580,423.2270) -- (353.7580,215.7660) -- cycle;
  51. % path24
  52. \path[fill=tuglogotext,nonzero rule] (752.1170,286.2190) -- (685.7030,286.2190) --
  53. (685.7030,319.4140) -- (856.8950,319.4140) -- (856.8950,286.2190) --
  54. (790.4840,286.2190) -- (790.4840,112.4770) -- (752.1170,112.4770) --
  55. (752.1170,286.2190);
  56. % path26
  57. \path[fill=tuglogotext,nonzero rule] (1049.3600,188.5160) .. controls
  58. (1049.3600,176.0550) and (1047.1300,164.8050) .. (1042.6400,154.7700) ..
  59. controls (1038.1600,144.7340) and (1032.0500,136.2110) .. (1024.3000,129.2070)
  60. .. controls (1016.5400,122.1760) and (1007.3900,116.7850) ..
  61. (996.7850,112.9960) .. controls (986.1880,109.1880) and (974.6760,107.2930) ..
  62. (962.2340,107.2930) .. controls (949.8120,107.2930) and (938.3010,109.1880) ..
  63. (927.6910,112.9960) .. controls (917.0900,116.7850) and (907.8590,122.1760) ..
  64. (900.0270,129.2070) .. controls (892.1760,136.2110) and (886.0550,144.7340) ..
  65. (881.6880,154.7700) .. controls (877.2930,164.8050) and (875.1130,176.0550) ..
  66. (875.1130,188.5160) -- (875.1130,319.4140) -- (913.4960,319.4140) --
  67. (913.4960,189.8360) .. controls (913.4960,184.7810) and (914.2970,179.4770) ..
  68. (915.9380,173.9300) .. controls (917.5660,168.3870) and (920.2700,163.2730) ..
  69. (924.0620,158.6020) .. controls (927.8400,153.9340) and (932.8520,150.0900) ..
  70. (939.0900,147.0780) .. controls (945.3120,144.0700) and (953.0230,142.5590) ..
  71. (962.2340,142.5590) .. controls (971.4340,142.5590) and (979.1560,144.0700) ..
  72. (985.3910,147.0780) .. controls (991.6210,150.0900) and (996.6410,153.9340) ..
  73. (1000.4200,158.6020) .. controls (1004.2000,163.2730) and (1006.9000,168.3870)
  74. .. (1008.5400,173.9300) .. controls (1010.1800,179.4770) and
  75. (1011.0000,184.7810) .. (1011.0000,189.8360) -- (1011.0000,319.4140) --
  76. (1049.3600,319.4140) -- (1049.3600,188.5160);
  77. % path28
  78. \path[fill=tuglogotext,nonzero rule] (833.6480,83.9727) .. controls
  79. (826.0430,87.2539) and (816.1880,88.8281) .. (808.3090,88.8281) .. controls
  80. (785.3790,88.8281) and (772.7030,74.4023) .. (772.7030,55.6523) .. controls
  81. (772.7030,37.0391) and (785.0980,23.0156) .. (806.0550,23.0156) .. controls
  82. (811.4020,23.0156) and (815.6450,23.5430) .. (819.0120,24.3242) --
  83. (819.0120,48.1836) -- (798.1840,48.1836) -- (798.1840,62.6055) --
  84. (837.8710,62.6055) -- (837.8710,13.3086) .. controls (827.4610,10.6914) and
  85. (816.6090,8.5938) .. (806.0550,8.5938) .. controls (774.2460,8.5938) and
  86. (752.1450,23.4062) .. (752.1450,54.3438) .. controls (752.1450,85.6836) and
  87. (772.7030,103.2500) .. (806.0550,103.2500) .. controls (817.4610,103.2500) and
  88. (826.4650,101.8050) .. (834.9100,99.4414) -- (833.6480,83.9727);
  89. % path30
  90. \path[fill=tuglogotext,nonzero rule] (857.2810,77.6836) -- (874.0430,77.6836) --
  91. (874.0430,62.3438) -- (874.3240,62.3438) .. controls (875.1640,68.6406) and
  92. (882.8980,79.2578) .. (894.1560,79.2578) .. controls (895.9960,79.2578) and
  93. (897.9770,79.2578) .. (899.9300,78.7266) -- (899.9300,61.0234) .. controls
  94. (898.2500,61.9414) and (894.8710,62.4688) .. (891.4800,62.4688) .. controls
  95. (876.1480,62.4688) and (876.1480,44.6367) .. (876.1480,34.9492) --
  96. (876.1480,10.1641) -- (857.2810,10.1641) -- (857.2810,77.6836);
  97. % path32
  98. \path[fill=tuglogotext,nonzero rule] (914.8440,74.1406) .. controls
  99. (922.1560,77.2930) and (932.0200,79.2578) .. (940.0470,79.2578) .. controls
  100. (962.1370,79.2578) and (971.2890,70.7305) .. (971.2890,50.8008) --
  101. (971.2890,42.1445) .. controls (971.2890,35.3398) and (971.4340,30.2227) ..
  102. (971.5700,25.2422) .. controls (971.7190,20.1250) and (971.9880,15.4062) ..
  103. (972.4220,10.1641) -- (955.8090,10.1641) .. controls (955.1050,13.6992) and
  104. (955.1050,18.1641) .. (954.9690,20.2617) -- (954.6760,20.2617) .. controls
  105. (950.3200,12.7930) and (940.8790,8.5938) .. (932.3050,8.5938) .. controls
  106. (919.5000,8.5938) and (906.9610,15.8008) .. (906.9610,28.6484) .. controls
  107. (906.9610,38.7383) and (912.1680,44.6367) .. (919.3520,47.9180) .. controls
  108. (926.5430,51.1992) and (935.8160,51.8516) .. (943.7110,51.8516) --
  109. (954.1210,51.8516) .. controls (954.1210,62.7305) and (948.9140,66.4023) ..
  110. (937.7930,66.4023) .. controls (929.7730,66.4023) and (921.7460,63.5234) ..
  111. (915.4180,59.0703) -- (914.8440,74.1406) -- cycle(936.9530,21.4336) ..
  112. controls (942.7230,21.4336) and (947.2270,23.7969) .. (950.1760,27.4688) ..
  113. controls (953.2700,31.2695) and (954.1210,36.1211) .. (954.1210,41.3633) --
  114. (945.9570,41.3633) .. controls (937.5200,41.3633) and (924.9880,40.0586) ..
  115. (924.9880,29.6953) .. controls (924.9880,23.9336) and (930.1910,21.4336) ..
  116. (936.9530,21.4336);
  117. % path34
  118. \path[fill=tuglogotext,nonzero rule] (986.7730,77.6836) -- (1044.2000,77.6836) --
  119. (1044.2000,63.2617) -- (1008.1500,23.7969) -- (1045.4700,23.7969) --
  120. (1045.4700,10.1641) -- (985.2230,10.1641) -- (985.2230,24.4609) --
  121. (1021.9500,64.0508) -- (986.7730,64.0508) -- (986.7730,77.6836);
  122. % path36
  123. \path[fill=tuglogo,nonzero rule] (1060.7300,8.3086) -- (1129.8433,8.3086) --
  124. (1129.8433,77.4219) -- (1060.7300,77.4219) -- (1060.7300,8.3086) -- cycle;
  125. \end{scope}
  126. \end{scope}
  127. \end{tikzpicture}%
  128. }
  129. \definecolor{head}{HTML}{245B78} % Web blocks - head/dark
  130. % IAIK logo
  131. \ifshowiaik
  132. \definecolor{iaikgray}{RGB}{213,213,214}
  133. \else
  134. \colorlet{iaikgray}{white} % remove huge "IAIK" text
  135. \fi
  136. \colorlet{iaiktug}{tuglogo}
  137. \newcommand{\iaiklogo}{%
  138. \begin{tikzpicture}[y=-0.80pt, x=0.80pt, inner sep=0pt, outer sep=0pt]
  139. \begin{scope}[cm={{1.33333,0.0,0.0,-1.33333,(0.0,1065.8267)}}]
  140. \begin{scope}[shift={(64.1961,387.2106)}]
  141. \path[fill=iaikgray,nonzero rule]
  142. (0.0000,0.0000) -- (-64.1960,49.6520) -- (-64.1960,-6.2650) -- (0.0760,-50.3060) -- (-64.1960,-50.3060) -- (-64.1960,-92.3500) -- (105.8820,-92.3500) -- (105.8820,-50.3060) -- (64.3800,-50.3060) -- (35.9380,-28.5840) -- (105.8820,0.1030) -- (105.8820,51.8800) -- cycle
  143. (-64.1960,-164.8370) -- (105.8820,-164.8370) -- (105.8820,-122.7000) -- (-64.1960,-122.7000) -- cycle
  144. (-64.1960,-231.0000) -- (-64.1960,-276.8620) -- (105.8820,-328.0010) -- (105.8820,-285.0730) -- (77.8080,-278.4410) -- (77.8080,-230.7080) -- (105.8820,-223.9010) -- (105.8820,-179.8730) -- cycle
  145. (-20.1110,-254.4480) -- (41.0300,-239.4290) -- (41.0300,-269.3080) -- cycle
  146. (-64.1960,-386.6590) -- (105.8820,-386.6590) -- (105.8820,-344.5210) -- (-64.1960,-344.5210) -- cycle
  147. ;
  148. \end{scope}
  149. \begin{scope}[shift={(154.4448,600.9453)}]
  150. \path[fill=iaiktug,nonzero rule] (0.0000,0.0000) -- (-11.8420,-13.1670) -- (-11.8420,0.0000) -- (-23.1460,0.0000) -- (-23.1460,-34.4440) -- (-35.3950,-34.4440) -- (-35.3950,0.0000) -- (-46.7250,0.0000) -- (-46.7250,-34.4440) -- (-55.0130,-34.4440) -- (-68.6030,0.0000) -- (-80.9330,0.0000) -- (-94.5260,-34.4440) -- (-103.2140,-34.4440) -- (-103.2140,0.0000) -- (-114.5440,0.0000) -- (-114.5440,-34.4440) -- (-126.0980,-34.4440) -- (-126.0980,0.0000) -- (-154.4440,0.0000) -- (-154.4440,-170.0790) -- (15.6340,-170.0790) -- (15.6340,-34.4440) -- (15.3780,-34.4440) -- (1.6850,-13.1520) -- (15.0340,0.0000) -- cycle
  151. (-74.9070,-9.0320) -- (-70.8690,-21.5570) -- (-78.9030,-21.5570) -- cycle
  152. (-11.8420,-26.3400) -- (-6.0000,-20.5140) -- (1.4990,-34.4440) -- (-11.8420,-34.4440) -- cycle
  153. (-81.3580,-29.0910) -- (-68.5230,-29.0910) -- (-66.8200,-34.4440) -- (-83.0190,-34.4440) -- cycle
  154. ;
  155. \end{scope}
  156. \end{scope}
  157. \end{tikzpicture}%
  158. }
  159. \begin{document}
  160. \Large
  161. \begin{tikzpicture}[inner sep=0pt]
  162. \pgfmathsetlengthmacro{\spinesize}{+22mm} % TODO this is for 292=288+4 pages at 135g - see table
  163. \pgfmathsetlengthmacro{\pagehsize}{+174mm}
  164. \pgfmathsetlengthmacro{\pagevsize}{+245mm}
  165. \pgfmathsetlengthmacro{\nut}{+8mm}
  166. \pgfmathsetlengthmacro{\spinehalf}{0.5*\spinesize}
  167. \pgfmathsetlengthmacro{\textmargin}{+24mm}
  168. \pgfmathsetlengthmacro{\textpwidth}{\pagehsize-\nut-2*\textmargin}
  169. \pgfmathsetlengthmacro{\logowidth}{+48mm}
  170. \ifdraft
  171. \pgfmathsetlengthmacro{\beischnitt}{+0mm}
  172. \else
  173. \pgfmathsetlengthmacro{\beischnitt}{+15mm}
  174. \fi
  175. % safety margins:
  176. % - 5mm on front/back page from margin or nut
  177. % - 2mm on spine
  178. \path[layout] (-\spinehalf,0) coordinate (spineSW) rectangle (\spinehalf,\pagevsize) coordinate (spineNE);
  179. \path[layout] (spineSW) ++(-\pagehsize,0) coordinate (backSW) rectangle (spineSW|-spineNE) coordinate (backNE);
  180. \path[layout] (spineNE) ++(\pagehsize,0) coordinate (frontNE) rectangle (spineSW-|spineNE) coordinate (frontSW);
  181. \path[layout, dotted] (spineSW) ++(-\nut,0) -- ++(0,\pagevsize);
  182. \path[layout, dotted] (spineNE) ++(\nut,0) -- ++(0,-\pagevsize);
  183. \path (backSW) ++(-\beischnitt,-\beischnitt) coordinate (fileSW)
  184. (frontNE) ++(\beischnitt,\beischnitt) coordinate (fileNE)
  185. (fileNE|-fileSW) coordinate (fileSE)
  186. (fileNE-|fileSW) coordinate (fileNW);
  187. \path (spineNE|-spineSW) coordinate (spineSE)
  188. (spineNE-|spineSW) coordinate (spineNW)
  189. (backNE|-backSW) coordinate (backSE)
  190. (backNE-|backSW) coordinate (backNW)
  191. (frontNE|-frontSW) coordinate (frontSE)
  192. (frontNE-|frontSW) coordinate (frontNW);
  193. % front - claim, logo
  194. \draw (frontSE) ++(-2*\nut,\pagevsize-\textmargin) coordinate (titleNE)
  195. node[anchor=north east] {\resizebox{1in}{!}{\tuglogo}} ++(-3cm,-.4cm)
  196. node[anchor=north east] {\large\so{\sffamily SCIENCE \tugsq{} PASSION \tugsq{} TECHNOLOGY} };
  197. % front - institute acronym
  198. \draw (spineSE) ++(2*\nut,2*\nut) node[above right] (iaiklogo) {%
  199. \resizebox{\logowidth}{!}{\iaiklogo}
  200. };
  201. \draw (iaiklogo.north east) ++(-.5pt,-\logowidth) coordinate (logoSW);
  202. \ifx\thesisphotopath\empty{}% no photo -> color fill
  203. \fill[head] (logoSW) rectangle (iaiklogo.north-|fileSE);
  204. \else % photo
  205. \pgfmathsetlengthmacro{\photowidth}{\pagehsize-4*\nut-\logowidth}
  206. \node[above right,minimum width=\photowidth,minimum height=\logowidth] (imgbox) at (logoSW) {\centering \maxsizebox{\photowidth}{\logowidth}{\includegraphics{\thesisphotopath}}};
  207. \fi
  208. % front - title, author
  209. \ifshowiaik
  210. \draw (logoSW-|titleNE) ++(0,-2*\nut) node[below left,font=\huge\bfseries] {%
  211. \else
  212. \draw (logoSW) ++(0,-2*\nut) node[below right,font=\huge\bfseries\raggedright] {%
  213. \fi
  214. \begin{minipage}{8cm}
  215. \ifshowiaik\raggedleft\fi
  216. \thesistitle\bigskip\par\Large\mdseries
  217. \thesisauthor
  218. \end{minipage}
  219. };
  220. % front - thesis info
  221. \ifshowiaik
  222. \draw (iaiklogo.south-|titleNE) node[above left,font=\Large] {%
  223. \else
  224. \draw (iaiklogo.south east) node[above right,font=\Large\raggedright] {%
  225. \fi
  226. \begin{minipage}{8cm}
  227. \ifshowiaik\raggedleft\fi
  228. Doctoral thesis\par
  229. \normalsize
  230. \null\par
  231. submitted to %\par
  232. Graz University of Technology\par
  233. \null\par
  234. \thesisassessors\par
  235. \null\par
  236. \thesisdate
  237. \end{minipage}
  238. };
  239. % back
  240. \draw (spineNW) ++(-0.5*\nut-0.5*\pagehsize,0) coordinate (backmid);
  241. \draw (backmid|-iaiklogo.north) node[below,font=\normalsize] {%
  242. \begin{minipage}{\textpwidth}
  243. \thesisabstract
  244. \end{minipage}
  245. };
  246. \draw (backmid|-iaiklogo.north) node[above=\baselineskip,font=\normalsize] {%
  247. \begin{minipage}{\textpwidth}
  248. {\bfseries\large\thesistitle}\medskip\par
  249. {Doctoral thesis~~~\tugsq~~~\thesisauthor}
  250. \end{minipage}
  251. };
  252. % spine
  253. \node[rotate=270,anchor=west,xshift=\textmargin] at (0,\pagevsize) {\resizebox{2cm}{!}{\tuglogo}};
  254. \node[rotate=270,anchor=west] at (0,0|-iaiklogo.north) {\thesisauthor};
  255. \node[rotate=270,align=left,anchor=west,font=\bfseries] at (0,0|-logoSW) {\thesistitle};
  256. \node[rotate=270,anchor=east,xshift=-2*\nut,font=\large] at (0,0) {\thesisdate};
  257. \end{tikzpicture}
  258. \end{document}