\usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{baskervald} % Default font \usepackage[onehalfspacing]{setspace} \usepackage{graphicx} \usepackage{color} \usepackage{textcomp} \usepackage[hidelinks, pdfusetitle]{hyperref} \usepackage{float} \usepackage{ltxcmds} \usepackage{fp} \usepackage{tikz} \usepackage{etoolbox} % We frequently prevent page breaks before pictures, and it has a tendency to create a lot of widowed lines. Let's prevent it from happening. \usepackage[all]{nowidow} \usepackage{wasysym} \usetikzlibrary{calc} \usetikzlibrary{fit} % This macro produces a "Snap!" logo. % % Note that in Polish (and other languages), nouns are inflected. The form "Snap!" with suffix looks plain stupid, so the macro takes a suffix as argument. If the suffix is non-empty, no exclamation mark is generated, and the suffix is used instead. \newcommand{\Snap}[1]{% \textsf{% Snap% \ifx\\#1\\\textit{!\@}% \else #1% \fi% }% } \newcommand{\code}[1]{\textsf{\textbf{#1}}} \makeatletter \newcommand{\defaultGraphicsScale}{0.6} \makeatother \renewcommand{\thechapter}{\Roman{chapter}} \renewcommand{\thesection}{\Alph{section}} \renewcommand{\thesubsection}{} \makeatletter \edef\defaultFontSize{\f@size} % A dirty hack: Apparently, this is the only way to multiply a length by a constant factor in the code below. What a mess. \newdimen\raiseLength \newcommand{\inlinepicraised}[3]{% {% \FPeval\fontSizeRatio{\f@size / \defaultFontSize}% \FPeval\scale{#3 * \fontSizeRatio}% \raiseLength=#2% \raisebox{\fontSizeRatio\raiseLength}{% \includegraphics[scale=\scale]{#1}% }% }% % Add kerns if the next character is punctuation. \ltx@ifnextchar@nospace.{\,}{% \ltx@ifnextchar@nospace,{\,}{% }% }% } \makeatother \newcommand{\inlinepic}[2][\defaultGraphicsScale]{% \inlinepicraised{#2}{-4pt}{#1}% } \newcommand{\inlinereporterpic}[2][\defaultGraphicsScale]{% \inlinepicraised{#2}{-1.5pt}{#1}% } \newcommand{\bigpic}[1]{ \begin{figure}[H] \centering \includegraphics[scale=\defaultGraphicsScale]{#1} \end{figure} } \newcommand{\manualtitlepage}[2][]{ { \def\title{#2} \def\translator{#1} \begin{titlepage} \pgfdeclarelayer{background} \pgfsetlayers{background,main} \begin{tikzpicture}[remember picture, overlay, text depth=0] \definecolor{title blue}{HTML}{206C8F} \definecolor{title orange}{HTML}{F59201} \pgfdeclareimage[width=0.2\textwidth]{logo}{../common/logo} \pgfdeclareimage{cover picture}{../common/cover-picture} \coordinate (NW) at ($(current page.north west) + (0.5, -0.5)$); \coordinate (NE) at ($(current page.north east) + (-0.5, -0.5)$); \coordinate (SW) at ($(current page.south west) + (0.5, 0.5)$); \coordinate (SE) at ($(current page.south east) + (-0.5, 0.5)$); % Logo at the top left corner. \node[ below right, align=left, font=\Large, execute at begin node=\setlength\baselineskip{3ex}] at ($(NW) + (1.5, -1.5)$) { \pgfuseimage{logo}\\ Build Your Own Blocks }; % Version number. \node[ below right, color=white, font=\fontsize{40pt}{48pt}\selectfont] at ($(NE) - (7, 5)$) { 4.0 }; % Title. Note: the % at the end is necessary for correct spacing between the text and orange background. \node[ left, text=white, align=right, inner sep=15pt, font=\fontsize{40pt}{42pt}\selectfont] (title text) at ($(NE) - (1.5, 9)$) { \title% }; % The cover picture. \node[below left, inner sep=0] (cover picture) at ($(NE) - (0, 12)$) { \pgfuseimage{cover picture} }; \draw[white, ultra thick] (cover picture.north west) -- (cover picture.north east); \draw[white, ultra thick] (cover picture.south west) -- (cover picture.south east); % Authors. \node[above right, color=white, align=left, font=\Large] at ($(SE) + (-7, 3)$) { Brian Harvey\\ Jens M\"onig }; % Translator. \ifdefempty{\translator}{}{ \node [below right, color=white, align=left, font=\large] at ($(SE) + (-7, 2)$) { \translator }; } \begin{pgfonlayer}{background} % Blue bar on the right. \fill[title blue] ($(NE) - (7.5, 0)$) rectangle (SE); % Title background stretches to the left until it reaches the left edge, which means (NW.x, title text.west.y). \coordinate (title background left point) at (NW |- title text.west); % Orange title background. \node[ fit=(title text) (title background left point), shape=rectangle, fill=title orange, text=white, draw=white, ultra thick, align=right, inner sep=0, font=\fontsize{40pt}{42pt}\selectfont] {}; \end{pgfonlayer} \end{tikzpicture} \end{titlepage} } } \newcommand{\TODO}[1]{% \colorbox{yellow}{\textcolor{red}{\textbf{% TODO% \ifstrempty{#1}{}{% : #1 }% }}}% }