%% Copyright (C) 2017 Achim D. Brucker, https://www.brucker.ch %% %% License: %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN %% archives in directory macros/latex/base/lppl.txt; either %% version 1.3c of the License, or (at your opinion) any later version. %% OR %% The 2-clause BSD-style license. %% %% SPDX-License-Identifier: LPPL-1.3c+ OR BSD-2-Clause \NeedsTeXFormat{LaTeX2e}[1994/06/01] \ProvidesClass{lh-article}% [2016/12/28 v0.0 LaTeX class for home work / exercise sheets following the cooperate design of LogicalHacking.com] \PassOptionsToClass{\CurrentOption}{scrartcl} \LoadClass[twoside=semi,abstract=on, 11pt, a4paper]{scrartcl} \ProcessOptions\relax \newcommand{\partnerLogo}[1][]{} \usepackage{xcolor} \usepackage{mathabx} \usepackage[T1]{fontenc} \usepackage[default]{raleway} \usepackage{sfmath} \usepackage{sansmathaccent} \usepackage{fontawesome} \usepackage{lastpage} \usepackage{scrlayer-scrpage} \RequirePackage{keycommand} \RequirePackage{environ} \usepackage{adjustbox} \usepackage{tcolorbox} \tcbuselibrary{skins} \let\oldauthor\author \renewcommand{\author}[2][1]{\oldauthor{#2}} \newcommand{\alert}[1]{\textbf{\textcolor{lhOrange}{#1}}} \RequirePackageWithOptions{lh-base} \usepackage[numbers, sort&compress]{natbib} \usepackage{multicol} %\usepackage{amsmath} %\allowdisplaybreaks \usepackage{xkeyval} \usepackage{lh-logo} \usepackage[some]{background} \usepackage{tikz} \usepackage{enumitem} \usepackage{etoolbox} \usepackage{hyperref} \urlstyle{sf} \addtokomafont{date}{\small\color{black}} \addtokomafont{title}{\color{lhOrange}} \backgroundsetup{ scale=1, angle=0, opacity=1, contents={\begin{tikzpicture}[remember picture,overlay] \path [fill=lhLightGray] (-0.5\paperwidth,0.5\paperheight) rectangle (0.5\paperwidth,0.5\paperheight-235); \path [fill=lhOrange] (-0.5\paperwidth+20,0.5\paperheight) rectangle (0.5\paperwidth-20,0.5\paperheight-12); \draw (-0.5\paperwidth+15,0.5\paperheight-225) node [anchor=base west] {\lhcomLogoLight[height=1cm]}; \draw (0.5\paperwidth-15,0.5\paperheight-225) node [anchor=base east] {\partnerLogo[height=1cm]}; \draw (0,0.5\paperheight-30) node {\usekomafont{title}{\huge \@title}} ; \draw (0,0.5\paperheight-53) node% {\textcolor{lhBlack}{% {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle}\fi}% }};% \draw (0,0.5\paperheight-100) node% {\color{black} \usekomafont{author}{% \begin{tabular}[t]{c} \@author \end{tabular} }% }; % \draw (0,0.5\paperheight-70) node % {\textcolor{lhBlack}{\Large\bfseries\lh@topic}}; \draw (0,0.5\paperheight-160) node[align=center]% {\color{black}% \usekomafont{publishers}{\normalsize% \begin{tabular}[t]{c}\@publishers \end{tabular}}\\[2ex] {\usekomafont{date}\@date}% }; \end{tikzpicture}} } \renewcommand{\maketitle}{ \BgThispage% \vspace*{5.5cm} } \ifoot{\footnotesize\textnormal{\textcopyright~\the\year~\href{https://logicalhacking.com}{LogicalHacking.com}}} %\cfoot{\small\textnormal{Confidential}} \cfoot{\footnotesize\textnormal{\lh@classification}} \ofoot{\footnotesize\textnormal{Page \thepage\ of \pageref{LastPage}}} \pagestyle{scrheadings} \newcommand{\lh@saveparinfos}{% \edef\lh@indent{\the\parindent}% \edef\lh@parskip{\the\parskip}% } \newcommand{\lh@useparinfo}{% \setlength{\parindent}{\lh@indent}% \setlength{\parskip}{\lh@parskip}% } \lh@saveparinfos \newcommand{\centry}[2]{\item[#1] #2} \addtokomafont{sectioning}{\color{lhOrange}} \newkeycommand*\lh@abstract[% ,changelog=% ,keywords=% ][1]{% \begin{adjustbox}{center} \begin{minipage}{.85\paperwidth} \begin{minipage}{.58\textwidth}% \begin{tcolorbox}[% colback=lhLightGray% ,colframe=lhDarkGray% ,colbacklower=lhGreen% ,equal height group=abstract% ,sharp corners% ,title=\textbf{Abstract}% ]\footnotesize\lh@useparinfo% \noindent #1% \ifcommandkey{keywords}{% \mbox{}\smallskip\\\noindent\textbf{Keywords:\\}% \noindent \commandkey{keywords}% }{}% \end{tcolorbox} \end{minipage}% \hfill% \begin{minipage}{.40\textwidth} \begin{tcolorbox}[ colback=lhLightGray% ,colframe=lhDarkGray% ,colbacklower=lhGreen% ,equal height group=abstract% ,sharp corners% ,title=\textbf{Changelog}% ,valign=bottom% ]\footnotesize% \ifcommandkey{changelog}{% \begin{description}% \commandkey{changelog}% \end{description}% }{}% \end{tcolorbox} \end{minipage} \end{minipage} \end{adjustbox}\bigskip% } \RenewEnviron{abstract}[1][]{\lh@abstract[#1]{\BODY}} \renewcommand{\labelitemi}{ \tikz{ \draw[fill=lhOrange,draw=none] (0, 0) rectangle(0.1, 0.1); \draw[fill=lhOrange,draw=none] (0.1, 0.1) rectangle(0.2, 0.2); \draw[fill=lhOrange,draw=none] (0, 0.2) rectangle(0.1, 0.3); } } \renewcommand{\labelitemii}{ \tikz{ \draw[fill=lhDarkGray,draw=none] (0, 0) rectangle(0.075, 0.075); \draw[fill=lhDarkGray,draw=none] (0.075, 0.075) rectangle(0.15, 0.15); \draw[fill=lhDarkGray,draw=none] (0, 0.15) rectangle(0.075, 0.225); } } \renewcommand{\labelitemiii}{ \tikz{ \draw[fill=lhLightGray,draw=none] (0, 0) rectangle(0.075, 0.075); \draw[fill=lhLightGray,draw=none] (0.075, 0.075) rectangle(0.15, 0.15); \draw[fill=lhLightGray,draw=none] (0, 0.15) rectangle(0.075, 0.225); } }