\documentclass[fontsize=12pt]{standalone} % This cover design is based on the `tugraz-booklet` class (TU Graz corporate design) % The main photo can be replace by any other suitably-sized photo. \newif\ifdraft\drafttrue % TODO set false for submission \newif\ifshowiaik\showiaiktrue % true: show huge gray part of graphical acronym / false: hide this part \usepackage[default,semibold]{sourcesanspro} \usepackage{soul} \usepackage{adjustbox} \sodef\so{}{0.4em}{1.1em}{0em} \newcommand{\tugsq}{\raisebox{0.5ex}{\tikz{\fill (0,0) rectangle (0.5ex,0.5ex);}}} \usepackage{tikz} \usetikzlibrary{calc} \ifdraft \tikzset{layout/.style={draw,gray}} \else \tikzset{layout/.style={}} \fi % TODO your info \newcommand{\thesistitle}{} \newcommand{\thesisauthor}{} \newcommand{\thesisdate}{} \newcommand{\thesisassessors}{Assessors: } \newcommand{\thesisabstract}{% This is a great abstract for my thesis. } \newcommand{\thesisphotopath}{figures/cover_figure} % TODO don't forget to set \spinesize below based on your page number and paper quality! % TU Graz logo \definecolor{tuglogo}{HTML}{F70146} %\definecolor{tuglogo}{RGB}{237,26,82} \colorlet{tuglogotext}{black} \newcommand{\tuglogo}{% \begin{tikzpicture}[y=0.80pt, x=0.80pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] \begin{scope}[cm={{1.25,0.0,0.0,-1.25,(0.0,53.75)}}]% g10 \begin{scope}[scale=0.100]% g12 % path14 \path[fill=tuglogo,nonzero rule] (1.0820,112.0390) -- (208.5310,112.0390) -- (208.5310,319.4960) -- (1.0820,319.4960) -- (1.0820,112.0390) -- cycle; % path16 \path[fill=tuglogo,nonzero rule] (229.2730,112.0390) -- (436.7340,112.0390) -- (436.7340,319.4960) -- (229.2730,319.4960) -- (229.2730,112.0390) -- cycle; % path18 \path[fill=tuglogo,nonzero rule] (457.4880,112.0390) -- (664.9290,112.0390) -- (664.9290,319.4960) -- (457.4880,319.4960) -- (457.4880,112.0390) -- cycle; % path20 \path[fill=tuglogo,nonzero rule] (104.8050,8.3086) -- (312.2740,8.3086) -- (312.2740,215.7656) -- (104.8050,215.7656) -- (104.8050,8.3086) -- cycle; % path22 \path[fill=tuglogo,nonzero rule] (353.7580,215.7660) -- (561.1990,215.7660) -- (561.1990,423.2270) -- (353.7580,423.2270) -- (353.7580,215.7660) -- cycle; % path24 \path[fill=tuglogotext,nonzero rule] (752.1170,286.2190) -- (685.7030,286.2190) -- (685.7030,319.4140) -- (856.8950,319.4140) -- (856.8950,286.2190) -- (790.4840,286.2190) -- (790.4840,112.4770) -- (752.1170,112.4770) -- (752.1170,286.2190); % path26 \path[fill=tuglogotext,nonzero rule] (1049.3600,188.5160) .. controls (1049.3600,176.0550) and (1047.1300,164.8050) .. (1042.6400,154.7700) .. controls (1038.1600,144.7340) and (1032.0500,136.2110) .. (1024.3000,129.2070) .. controls (1016.5400,122.1760) and (1007.3900,116.7850) .. (996.7850,112.9960) .. controls (986.1880,109.1880) and (974.6760,107.2930) .. (962.2340,107.2930) .. controls (949.8120,107.2930) and (938.3010,109.1880) .. (927.6910,112.9960) .. controls (917.0900,116.7850) and (907.8590,122.1760) .. (900.0270,129.2070) .. controls (892.1760,136.2110) and (886.0550,144.7340) .. (881.6880,154.7700) .. controls (877.2930,164.8050) and (875.1130,176.0550) .. (875.1130,188.5160) -- (875.1130,319.4140) -- (913.4960,319.4140) -- (913.4960,189.8360) .. controls (913.4960,184.7810) and (914.2970,179.4770) .. (915.9380,173.9300) .. controls (917.5660,168.3870) and (920.2700,163.2730) .. (924.0620,158.6020) .. controls (927.8400,153.9340) and (932.8520,150.0900) .. (939.0900,147.0780) .. controls (945.3120,144.0700) and (953.0230,142.5590) .. (962.2340,142.5590) .. controls (971.4340,142.5590) and (979.1560,144.0700) .. (985.3910,147.0780) .. controls (991.6210,150.0900) and (996.6410,153.9340) .. (1000.4200,158.6020) .. controls (1004.2000,163.2730) and (1006.9000,168.3870) .. (1008.5400,173.9300) .. controls (1010.1800,179.4770) and (1011.0000,184.7810) .. (1011.0000,189.8360) -- (1011.0000,319.4140) -- (1049.3600,319.4140) -- (1049.3600,188.5160); % path28 \path[fill=tuglogotext,nonzero rule] (833.6480,83.9727) .. controls (826.0430,87.2539) and (816.1880,88.8281) .. (808.3090,88.8281) .. controls (785.3790,88.8281) and (772.7030,74.4023) .. (772.7030,55.6523) .. controls (772.7030,37.0391) and (785.0980,23.0156) .. (806.0550,23.0156) .. controls (811.4020,23.0156) and (815.6450,23.5430) .. (819.0120,24.3242) -- (819.0120,48.1836) -- (798.1840,48.1836) -- (798.1840,62.6055) -- (837.8710,62.6055) -- (837.8710,13.3086) .. controls (827.4610,10.6914) and (816.6090,8.5938) .. (806.0550,8.5938) .. controls (774.2460,8.5938) and (752.1450,23.4062) .. (752.1450,54.3438) .. controls (752.1450,85.6836) and (772.7030,103.2500) .. (806.0550,103.2500) .. controls (817.4610,103.2500) and (826.4650,101.8050) .. (834.9100,99.4414) -- (833.6480,83.9727); % path30 \path[fill=tuglogotext,nonzero rule] (857.2810,77.6836) -- (874.0430,77.6836) -- (874.0430,62.3438) -- (874.3240,62.3438) .. controls (875.1640,68.6406) and (882.8980,79.2578) .. (894.1560,79.2578) .. controls (895.9960,79.2578) and (897.9770,79.2578) .. (899.9300,78.7266) -- (899.9300,61.0234) .. controls (898.2500,61.9414) and (894.8710,62.4688) .. (891.4800,62.4688) .. controls (876.1480,62.4688) and (876.1480,44.6367) .. (876.1480,34.9492) -- (876.1480,10.1641) -- (857.2810,10.1641) -- (857.2810,77.6836); % path32 \path[fill=tuglogotext,nonzero rule] (914.8440,74.1406) .. controls (922.1560,77.2930) and (932.0200,79.2578) .. (940.0470,79.2578) .. controls (962.1370,79.2578) and (971.2890,70.7305) .. (971.2890,50.8008) -- (971.2890,42.1445) .. controls (971.2890,35.3398) and (971.4340,30.2227) .. (971.5700,25.2422) .. controls (971.7190,20.1250) and (971.9880,15.4062) .. (972.4220,10.1641) -- (955.8090,10.1641) .. controls (955.1050,13.6992) and (955.1050,18.1641) .. (954.9690,20.2617) -- (954.6760,20.2617) .. controls (950.3200,12.7930) and (940.8790,8.5938) .. (932.3050,8.5938) .. controls (919.5000,8.5938) and (906.9610,15.8008) .. (906.9610,28.6484) .. controls (906.9610,38.7383) and (912.1680,44.6367) .. (919.3520,47.9180) .. controls (926.5430,51.1992) and (935.8160,51.8516) .. (943.7110,51.8516) -- (954.1210,51.8516) .. controls (954.1210,62.7305) and (948.9140,66.4023) .. (937.7930,66.4023) .. controls (929.7730,66.4023) and (921.7460,63.5234) .. (915.4180,59.0703) -- (914.8440,74.1406) -- cycle(936.9530,21.4336) .. controls (942.7230,21.4336) and (947.2270,23.7969) .. (950.1760,27.4688) .. controls (953.2700,31.2695) and (954.1210,36.1211) .. (954.1210,41.3633) -- (945.9570,41.3633) .. controls (937.5200,41.3633) and (924.9880,40.0586) .. (924.9880,29.6953) .. controls (924.9880,23.9336) and (930.1910,21.4336) .. (936.9530,21.4336); % path34 \path[fill=tuglogotext,nonzero rule] (986.7730,77.6836) -- (1044.2000,77.6836) -- (1044.2000,63.2617) -- (1008.1500,23.7969) -- (1045.4700,23.7969) -- (1045.4700,10.1641) -- (985.2230,10.1641) -- (985.2230,24.4609) -- (1021.9500,64.0508) -- (986.7730,64.0508) -- (986.7730,77.6836); % path36 \path[fill=tuglogo,nonzero rule] (1060.7300,8.3086) -- (1129.8433,8.3086) -- (1129.8433,77.4219) -- (1060.7300,77.4219) -- (1060.7300,8.3086) -- cycle; \end{scope} \end{scope} \end{tikzpicture}% } \definecolor{head}{HTML}{245B78} % Web blocks - head/dark % IAIK logo \ifshowiaik \definecolor{iaikgray}{RGB}{213,213,214} \else \colorlet{iaikgray}{white} % remove huge "IAIK" text \fi \colorlet{iaiktug}{tuglogo} \newcommand{\iaiklogo}{% \begin{tikzpicture}[y=-0.80pt, x=0.80pt, inner sep=0pt, outer sep=0pt] \begin{scope}[cm={{1.33333,0.0,0.0,-1.33333,(0.0,1065.8267)}}] \begin{scope}[shift={(64.1961,387.2106)}] \path[fill=iaikgray,nonzero rule] (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 (-64.1960,-164.8370) -- (105.8820,-164.8370) -- (105.8820,-122.7000) -- (-64.1960,-122.7000) -- cycle (-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 (-20.1110,-254.4480) -- (41.0300,-239.4290) -- (41.0300,-269.3080) -- cycle (-64.1960,-386.6590) -- (105.8820,-386.6590) -- (105.8820,-344.5210) -- (-64.1960,-344.5210) -- cycle ; \end{scope} \begin{scope}[shift={(154.4448,600.9453)}] \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 (-74.9070,-9.0320) -- (-70.8690,-21.5570) -- (-78.9030,-21.5570) -- cycle (-11.8420,-26.3400) -- (-6.0000,-20.5140) -- (1.4990,-34.4440) -- (-11.8420,-34.4440) -- cycle (-81.3580,-29.0910) -- (-68.5230,-29.0910) -- (-66.8200,-34.4440) -- (-83.0190,-34.4440) -- cycle ; \end{scope} \end{scope} \end{tikzpicture}% } \begin{document} \Large \begin{tikzpicture}[inner sep=0pt] \pgfmathsetlengthmacro{\spinesize}{+22mm} % TODO this is for 292=288+4 pages at 135g - see table \pgfmathsetlengthmacro{\pagehsize}{+174mm} \pgfmathsetlengthmacro{\pagevsize}{+245mm} \pgfmathsetlengthmacro{\nut}{+8mm} \pgfmathsetlengthmacro{\spinehalf}{0.5*\spinesize} \pgfmathsetlengthmacro{\textmargin}{+24mm} \pgfmathsetlengthmacro{\textpwidth}{\pagehsize-\nut-2*\textmargin} \pgfmathsetlengthmacro{\logowidth}{+48mm} \ifdraft \pgfmathsetlengthmacro{\beischnitt}{+0mm} \else \pgfmathsetlengthmacro{\beischnitt}{+15mm} \fi % safety margins: % - 5mm on front/back page from margin or nut % - 2mm on spine \path[layout] (-\spinehalf,0) coordinate (spineSW) rectangle (\spinehalf,\pagevsize) coordinate (spineNE); \path[layout] (spineSW) ++(-\pagehsize,0) coordinate (backSW) rectangle (spineSW|-spineNE) coordinate (backNE); \path[layout] (spineNE) ++(\pagehsize,0) coordinate (frontNE) rectangle (spineSW-|spineNE) coordinate (frontSW); \path[layout, dotted] (spineSW) ++(-\nut,0) -- ++(0,\pagevsize); \path[layout, dotted] (spineNE) ++(\nut,0) -- ++(0,-\pagevsize); \path (backSW) ++(-\beischnitt,-\beischnitt) coordinate (fileSW) (frontNE) ++(\beischnitt,\beischnitt) coordinate (fileNE) (fileNE|-fileSW) coordinate (fileSE) (fileNE-|fileSW) coordinate (fileNW); \path (spineNE|-spineSW) coordinate (spineSE) (spineNE-|spineSW) coordinate (spineNW) (backNE|-backSW) coordinate (backSE) (backNE-|backSW) coordinate (backNW) (frontNE|-frontSW) coordinate (frontSE) (frontNE-|frontSW) coordinate (frontNW); % front - claim, logo \draw (frontSE) ++(-2*\nut,\pagevsize-\textmargin) coordinate (titleNE) node[anchor=north east] {\resizebox{1in}{!}{\tuglogo}} ++(-3cm,-.4cm) node[anchor=north east] {\large\so{\sffamily SCIENCE \tugsq{} PASSION \tugsq{} TECHNOLOGY} }; % front - institute acronym \draw (spineSE) ++(2*\nut,2*\nut) node[above right] (iaiklogo) {% \resizebox{\logowidth}{!}{\iaiklogo} }; \draw (iaiklogo.north east) ++(-.5pt,-\logowidth) coordinate (logoSW); \ifx\thesisphotopath\empty{}% no photo -> color fill \fill[head] (logoSW) rectangle (iaiklogo.north-|fileSE); \else % photo \pgfmathsetlengthmacro{\photowidth}{\pagehsize-4*\nut-\logowidth} \node[above right,minimum width=\photowidth,minimum height=\logowidth] (imgbox) at (logoSW) {\centering \maxsizebox{\photowidth}{\logowidth}{\includegraphics{\thesisphotopath}}}; \fi % front - title, author \ifshowiaik \draw (logoSW-|titleNE) ++(0,-2*\nut) node[below left,font=\huge\bfseries] {% \else \draw (logoSW) ++(0,-2*\nut) node[below right,font=\huge\bfseries\raggedright] {% \fi \begin{minipage}{8cm} \ifshowiaik\raggedleft\fi \thesistitle\bigskip\par\Large\mdseries \thesisauthor \end{minipage} }; % front - thesis info \ifshowiaik \draw (iaiklogo.south-|titleNE) node[above left,font=\Large] {% \else \draw (iaiklogo.south east) node[above right,font=\Large\raggedright] {% \fi \begin{minipage}{8cm} \ifshowiaik\raggedleft\fi Doctoral thesis\par \normalsize \null\par submitted to %\par Graz University of Technology\par \null\par \thesisassessors\par \null\par \thesisdate \end{minipage} }; % back \draw (spineNW) ++(-0.5*\nut-0.5*\pagehsize,0) coordinate (backmid); \draw (backmid|-iaiklogo.north) node[below,font=\normalsize] {% \begin{minipage}{\textpwidth} \thesisabstract \end{minipage} }; \draw (backmid|-iaiklogo.north) node[above=\baselineskip,font=\normalsize] {% \begin{minipage}{\textpwidth} {\bfseries\large\thesistitle}\medskip\par {Doctoral thesis~~~\tugsq~~~\thesisauthor} \end{minipage} }; % spine \node[rotate=270,anchor=west,xshift=\textmargin] at (0,\pagevsize) {\resizebox{2cm}{!}{\tuglogo}}; \node[rotate=270,anchor=west] at (0,0|-iaiklogo.north) {\thesisauthor}; \node[rotate=270,align=left,anchor=west,font=\bfseries] at (0,0|-logoSW) {\thesistitle}; \node[rotate=270,anchor=east,xshift=-2*\nut,font=\large] at (0,0) {\thesisdate}; \end{tikzpicture} \end{document}