cover1.tex.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. \documentclass[fontsize=12pt]{standalone}
  2. \newif\ifdraft\drafttrue % TODO set false for submission
  3. \newif\iftwocol\twocoltrue % front bottom: classic two-column layout
  4. \usepackage[default,semibold]{sourcesanspro}
  5. \usepackage{soul}
  6. \sodef\so{}{0.45em}{1.4em}{0em}
  7. \newcommand{\tugsq}{\raisebox{0.5ex}{\tikz{\fill (0,0) rectangle (0.5ex,0.5ex);}}}
  8. \usepackage{tikz}
  9. \usetikzlibrary{calc}
  10. \ifdraft
  11. \tikzset{layout/.style={draw,gray}}
  12. \else
  13. \tikzset{layout/.style={}}
  14. \fi
  15. % TODO your info
  16. \newcommand{\thesistitle}{<?php echo $thesis_title ?>}
  17. \newcommand{\thesisauthor}{<?php echo $thesis_author ?>}
  18. \newcommand{\thesisdate}{<?php echo $thesis_date ?>}
  19. \iftwocol % front bottom: two text columns
  20. \newcommand{\thesisassessors}{Assessors:\par <?php echo str_replace(',','\par',$thesis_assessors) ?>} % bottom layout 2
  21. \else
  22. \newcommand{\thesisassessors}{assessed by <?php echo $thesis_assessors ?>} % bottom layout 1
  23. \fi
  24. \newcommand{\thesisabstract}{%
  25. This is a great abstract for my thesis.
  26. }
  27. \newcommand{\thesisfigure}{\includegraphics[width=5cm]{figures/cover_figure}}
  28. % TODO don't forget to set \spinesize below based on your page number and paper quality!!
  29. \definecolor{tuglogo}{RGB}{237,26,82}
  30. \definecolor{tuglogodark}{RGB}{8,11,10}
  31. \newcommand{\tuglogo}{%
  32. \begin{tikzpicture}[y=0.80pt, x=0.80pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt]
  33. \begin{scope}[cm={{1.25,0.0,0.0,-1.25,(0.0,53.75)}}]% g10
  34. \begin{scope}[scale=0.100]% g12
  35. % path14
  36. \path[fill=tuglogo,nonzero rule] (1.0820,112.0390) -- (208.5310,112.0390) --
  37. (208.5310,319.4960) -- (1.0820,319.4960) -- (1.0820,112.0390) -- cycle;
  38. % path16
  39. \path[fill=tuglogo,nonzero rule] (229.2730,112.0390) -- (436.7340,112.0390) --
  40. (436.7340,319.4960) -- (229.2730,319.4960) -- (229.2730,112.0390) -- cycle;
  41. % path18
  42. \path[fill=tuglogo,nonzero rule] (457.4880,112.0390) -- (664.9290,112.0390) --
  43. (664.9290,319.4960) -- (457.4880,319.4960) -- (457.4880,112.0390) -- cycle;
  44. % path20
  45. \path[fill=tuglogo,nonzero rule] (104.8050,8.3086) -- (312.2740,8.3086) --
  46. (312.2740,215.7656) -- (104.8050,215.7656) -- (104.8050,8.3086) -- cycle;
  47. % path22
  48. \path[fill=tuglogo,nonzero rule] (353.7580,215.7660) -- (561.1990,215.7660) --
  49. (561.1990,423.2270) -- (353.7580,423.2270) -- (353.7580,215.7660) -- cycle;
  50. % path24
  51. \path[fill=tuglogodark,nonzero rule] (752.1170,286.2190) -- (685.7030,286.2190) --
  52. (685.7030,319.4140) -- (856.8950,319.4140) -- (856.8950,286.2190) --
  53. (790.4840,286.2190) -- (790.4840,112.4770) -- (752.1170,112.4770) --
  54. (752.1170,286.2190);
  55. % path26
  56. \path[fill=tuglogodark,nonzero rule] (1049.3600,188.5160) .. controls
  57. (1049.3600,176.0550) and (1047.1300,164.8050) .. (1042.6400,154.7700) ..
  58. controls (1038.1600,144.7340) and (1032.0500,136.2110) .. (1024.3000,129.2070)
  59. .. controls (1016.5400,122.1760) and (1007.3900,116.7850) ..
  60. (996.7850,112.9960) .. controls (986.1880,109.1880) and (974.6760,107.2930) ..
  61. (962.2340,107.2930) .. controls (949.8120,107.2930) and (938.3010,109.1880) ..
  62. (927.6910,112.9960) .. controls (917.0900,116.7850) and (907.8590,122.1760) ..
  63. (900.0270,129.2070) .. controls (892.1760,136.2110) and (886.0550,144.7340) ..
  64. (881.6880,154.7700) .. controls (877.2930,164.8050) and (875.1130,176.0550) ..
  65. (875.1130,188.5160) -- (875.1130,319.4140) -- (913.4960,319.4140) --
  66. (913.4960,189.8360) .. controls (913.4960,184.7810) and (914.2970,179.4770) ..
  67. (915.9380,173.9300) .. controls (917.5660,168.3870) and (920.2700,163.2730) ..
  68. (924.0620,158.6020) .. controls (927.8400,153.9340) and (932.8520,150.0900) ..
  69. (939.0900,147.0780) .. controls (945.3120,144.0700) and (953.0230,142.5590) ..
  70. (962.2340,142.5590) .. controls (971.4340,142.5590) and (979.1560,144.0700) ..
  71. (985.3910,147.0780) .. controls (991.6210,150.0900) and (996.6410,153.9340) ..
  72. (1000.4200,158.6020) .. controls (1004.2000,163.2730) and (1006.9000,168.3870)
  73. .. (1008.5400,173.9300) .. controls (1010.1800,179.4770) and
  74. (1011.0000,184.7810) .. (1011.0000,189.8360) -- (1011.0000,319.4140) --
  75. (1049.3600,319.4140) -- (1049.3600,188.5160);
  76. % path28
  77. \path[fill=tuglogodark,nonzero rule] (833.6480,83.9727) .. controls
  78. (826.0430,87.2539) and (816.1880,88.8281) .. (808.3090,88.8281) .. controls
  79. (785.3790,88.8281) and (772.7030,74.4023) .. (772.7030,55.6523) .. controls
  80. (772.7030,37.0391) and (785.0980,23.0156) .. (806.0550,23.0156) .. controls
  81. (811.4020,23.0156) and (815.6450,23.5430) .. (819.0120,24.3242) --
  82. (819.0120,48.1836) -- (798.1840,48.1836) -- (798.1840,62.6055) --
  83. (837.8710,62.6055) -- (837.8710,13.3086) .. controls (827.4610,10.6914) and
  84. (816.6090,8.5938) .. (806.0550,8.5938) .. controls (774.2460,8.5938) and
  85. (752.1450,23.4062) .. (752.1450,54.3438) .. controls (752.1450,85.6836) and
  86. (772.7030,103.2500) .. (806.0550,103.2500) .. controls (817.4610,103.2500) and
  87. (826.4650,101.8050) .. (834.9100,99.4414) -- (833.6480,83.9727);
  88. % path30
  89. \path[fill=tuglogodark,nonzero rule] (857.2810,77.6836) -- (874.0430,77.6836) --
  90. (874.0430,62.3438) -- (874.3240,62.3438) .. controls (875.1640,68.6406) and
  91. (882.8980,79.2578) .. (894.1560,79.2578) .. controls (895.9960,79.2578) and
  92. (897.9770,79.2578) .. (899.9300,78.7266) -- (899.9300,61.0234) .. controls
  93. (898.2500,61.9414) and (894.8710,62.4688) .. (891.4800,62.4688) .. controls
  94. (876.1480,62.4688) and (876.1480,44.6367) .. (876.1480,34.9492) --
  95. (876.1480,10.1641) -- (857.2810,10.1641) -- (857.2810,77.6836);
  96. % path32
  97. \path[fill=tuglogodark,nonzero rule] (914.8440,74.1406) .. controls
  98. (922.1560,77.2930) and (932.0200,79.2578) .. (940.0470,79.2578) .. controls
  99. (962.1370,79.2578) and (971.2890,70.7305) .. (971.2890,50.8008) --
  100. (971.2890,42.1445) .. controls (971.2890,35.3398) and (971.4340,30.2227) ..
  101. (971.5700,25.2422) .. controls (971.7190,20.1250) and (971.9880,15.4062) ..
  102. (972.4220,10.1641) -- (955.8090,10.1641) .. controls (955.1050,13.6992) and
  103. (955.1050,18.1641) .. (954.9690,20.2617) -- (954.6760,20.2617) .. controls
  104. (950.3200,12.7930) and (940.8790,8.5938) .. (932.3050,8.5938) .. controls
  105. (919.5000,8.5938) and (906.9610,15.8008) .. (906.9610,28.6484) .. controls
  106. (906.9610,38.7383) and (912.1680,44.6367) .. (919.3520,47.9180) .. controls
  107. (926.5430,51.1992) and (935.8160,51.8516) .. (943.7110,51.8516) --
  108. (954.1210,51.8516) .. controls (954.1210,62.7305) and (948.9140,66.4023) ..
  109. (937.7930,66.4023) .. controls (929.7730,66.4023) and (921.7460,63.5234) ..
  110. (915.4180,59.0703) -- (914.8440,74.1406) -- cycle(936.9530,21.4336) ..
  111. controls (942.7230,21.4336) and (947.2270,23.7969) .. (950.1760,27.4688) ..
  112. controls (953.2700,31.2695) and (954.1210,36.1211) .. (954.1210,41.3633) --
  113. (945.9570,41.3633) .. controls (937.5200,41.3633) and (924.9880,40.0586) ..
  114. (924.9880,29.6953) .. controls (924.9880,23.9336) and (930.1910,21.4336) ..
  115. (936.9530,21.4336);
  116. % path34
  117. \path[fill=tuglogodark,nonzero rule] (986.7730,77.6836) -- (1044.2000,77.6836) --
  118. (1044.2000,63.2617) -- (1008.1500,23.7969) -- (1045.4700,23.7969) --
  119. (1045.4700,10.1641) -- (985.2230,10.1641) -- (985.2230,24.4609) --
  120. (1021.9500,64.0508) -- (986.7730,64.0508) -- (986.7730,77.6836);
  121. % path36
  122. \path[fill=tuglogo,nonzero rule] (1060.7300,8.3086) -- (1129.8433,8.3086) --
  123. (1129.8433,77.4219) -- (1060.7300,77.4219) -- (1060.7300,8.3086) -- cycle;
  124. \end{scope}
  125. \end{scope}
  126. \end{tikzpicture}%
  127. }
  128. \definecolor{head}{HTML}{245B78} % Web blocks - head/dark
  129. \begin{document}
  130. \Large
  131. \begin{tikzpicture}[inner sep=0pt]
  132. \pgfmathsetlengthmacro{\spinesize}{+17mm} % TODO this is for 292=288+4 pages at 100g - see table
  133. \pgfmathsetlengthmacro{\pagehsize}{+174mm}
  134. \pgfmathsetlengthmacro{\pagevsize}{+245mm}
  135. \pgfmathsetlengthmacro{\beischnitt}{+15mm}
  136. \pgfmathsetlengthmacro{\nut}{+8mm}
  137. \pgfmathsetlengthmacro{\spinehalf}{0.5*\spinesize}
  138. \pgfmathsetlengthmacro{\textmargin}{+24mm}
  139. \pgfmathsetlengthmacro{\textpwidth}{\pagehsize-\nut-2*\textmargin}
  140. % safety margins:
  141. % - 5mm on front/back page from margin or nut
  142. % - 2mm on spine
  143. \ifdraft
  144. \pgfmathsetlengthmacro{\beischnitt}{+0mm}
  145. \fi
  146. \path[layout] (-\spinehalf,0) coordinate (spineSW) rectangle (\spinehalf,\pagevsize) coordinate (spineNE);
  147. \path[layout] (spineSW) ++(-\pagehsize,0) coordinate (backSW) rectangle (spineSW|-spineNE) coordinate (backNE);
  148. \path[layout] (spineNE) ++(\pagehsize,0) coordinate (frontNE) rectangle (spineSW-|spineNE) coordinate (frontSW);
  149. \path[layout, dotted] (spineSW) ++(-\nut,0) -- ++(0,\pagevsize);
  150. \path[layout, dotted] (spineNE) ++(\nut,0) -- ++(0,-\pagevsize);
  151. \path (backSW) ++(-\beischnitt,-\beischnitt) coordinate (fileSW)
  152. (frontNE) ++(\beischnitt,\beischnitt) coordinate (fileNE)
  153. (fileNE|-fileSW) coordinate (fileSE)
  154. (fileNE-|fileSW) coordinate (fileNW);
  155. \path (spineNE|-spineSW) coordinate (spineSE)
  156. (spineNE-|spineSW) coordinate (spineNW)
  157. (backNE|-backSW) coordinate (backSE)
  158. (backNE-|backSW) coordinate (backNW)
  159. (frontNE|-frontSW) coordinate (frontSE)
  160. (frontNE-|frontSW) coordinate (frontNW);
  161. % front - claim, logo
  162. \draw (frontSE) ++(-\textmargin+.4cm,\pagevsize-\textmargin)
  163. node[anchor=north east] {\resizebox{1in}{!}{\tuglogo}} ++(-3cm,-.4cm)
  164. node[anchor=north east] {\color{black}\fontsize{9}{9}\selectfont\so{\sffamily SCIENCE \tugsq{} PASSION \tugsq{} TECHNOLOGY} };
  165. % front - title, author
  166. %\fill[head] (spineSE) ++(\nut,0.75*\pagevsize+.5*\textmargin) rectangle ++(\pagehsize-\nut+\beischnitt,-6cm);
  167. %\fill[head] (spineSE) ++(\nut,0.75*\pagevsize+\textmargin) rectangle ++(\pagehsize-\nut+\beischnitt,-7cm);
  168. \fill[head] (spineSE) ++(-\spinesize-\nut,0.75*\pagevsize+\textmargin) rectangle ++(\pagehsize+\spinesize+\nut+\beischnitt,-7cm);
  169. \draw (spineSE) ++(\nut+\textmargin,0.75*\pagevsize) node[below right,white,font=\Huge] {%
  170. \begin{minipage}{\textpwidth}
  171. \bfseries\thesistitle
  172. \par\null\par\mdseries\LARGE
  173. \thesisauthor
  174. \end{minipage}
  175. };
  176. % front - figure
  177. \draw (spineSE) ++(.5*\nut+.5*\pagehsize,.4*\pagevsize) node {%
  178. \thesisfigure
  179. };
  180. % bottom layout 1:
  181. \iftwocol
  182. % two columns bottom left/right
  183. \draw (spineSE) ++(\nut+\textmargin,\textmargin) node[above right,font=\large] {%
  184. \begin{minipage}{\textpwidth}
  185. \textbf{Doctoral thesis}\par
  186. submitted in \thesisdate{} to\par
  187. Graz University of Technology\strut
  188. \end{minipage}
  189. };
  190. \draw (spineSE) ++(.5*\nut+.5*\pagehsize+1.5cm,\textmargin) node[above right,font=\large] {%
  191. %\draw (frontSE) ++(-\textmargin,\textmargin) node[above left,font=\large] {%
  192. \begin{minipage}{8cm}
  193. %\raggedleft
  194. \thesisassessors\strut
  195. \end{minipage}
  196. };
  197. \else
  198. % single column bottom left
  199. \draw (spineSE) ++(\nut+\textmargin,1.5cm) node[above right,font=\Large] {%
  200. \begin{minipage}{\textpwidth}
  201. Doctoral thesis\par
  202. \large\null\par
  203. submitted to %\par
  204. Graz University of Technology\par
  205. \thesisassessors\par
  206. \null\par
  207. \thesisdate
  208. \end{minipage}
  209. };
  210. \fi
  211. % back
  212. \draw (spineNW) ++(-0.5*\nut-0.5*\pagehsize,-2*\textmargin) node[below,font=\normalsize] {%
  213. \begin{minipage}{\textpwidth}
  214. {\bfseries\large\thesistitle}\medskip\par
  215. {\itshape Doctoral thesis by \thesisauthor}\bigskip\par
  216. \thesisabstract
  217. \end{minipage}
  218. };
  219. % spine
  220. \node[rotate=270,anchor=west,xshift=1.0cm] at (0,\pagevsize) {\resizebox{2cm}{!}{\tuglogo}};
  221. \node[rotate=270,align=center,font=\bfseries] at (0,.4*\pagevsize) {\thesistitle};
  222. \node[rotate=270,anchor=west,xshift=5.2cm,white] at (0,\pagevsize) {\thesisauthor};
  223. \node[rotate=270,anchor=east,xshift=-1.5cm,font=\large] at (0,0) {\thesisdate};
  224. \end{tikzpicture}
  225. \end{document}