diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/hu-berlin-bundle/hu-berlin-bundle-style.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/hu-berlin-bundle/hu-berlin-bundle-style.sty | 603 |
1 files changed, 603 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/hu-berlin-bundle/hu-berlin-bundle-style.sty b/Master/texmf-dist/tex/latex/hu-berlin-bundle/hu-berlin-bundle-style.sty new file mode 100644 index 00000000000..52c5c3f47e6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/hu-berlin-bundle/hu-berlin-bundle-style.sty @@ -0,0 +1,603 @@ +%% +%% This is file `hu-berlin-bundle-style.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% hu-berlin-bundle.dtx (with options: `sty,style') +%% ---------------------------------------------------------------- +%% hu-berlin-bundle +%% Author: Lukas C. Bossert +%% E-mail: lukas@texografie.de +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% Various parts my have a different licence, +%% please consider and respect them carefully. +%% ---------------------------------------------------------------- +%% +\def\Version{2019/06/21 v1.0.2} +\NeedsTeXFormat{LaTeX2e}[2005/12/01] +\ProvidesPackage{hu-berlin-bundle-style} + [\Version\space hu-berlin - package for style the documentation] + \PackageInfo{hu-berlin}{* * * hu-berlin * * *\MessageBreak + Part of the hu-berlin Bundle} +\makeatletter +\addtolength\marginparwidth{-40pt} +\addtolength\marginparsep{4mm} +\addtolength\oddsidemargin{-20pt} +\addtolength\evensidemargin{-20pt} +\let\PrintDescribeMacro=\@gobble +\let\PrintDescribeEnv=\@gobble +\makeatother +\AtBeginDocument{\normalmarginpar} +\setlength\MacrocodeTopsep{.5\baselineskip} +\setlength\MacroIndent{6mm} + +\RequirePackage{luatexbase} +\RequirePackage[ngerman,english]{babel} +\RequirePackage{calc} + +\RequirePackage[ + paper = a4paper, % - use A4 paper size + foot = 2cm, + inner = 3cm, % - total body: left margin (odd pages) + top = 3cm, % - total body: top margin + outer = 3cm, % - total body: right margin (odd pages) + bottom = 3cm, % - total body: bottom margin + marginparwidth = 2cm, % - width for side note + marginparsep = .5cm, % - space between notes and body text (content) +]{geometry} + +\newlength\fullwidth +\setlength\fullwidth{\textwidth+\marginparwidth+\marginparsep} + +\KOMAoptions{ +numbers = noenddot, +} +\AtBeginDocument{ + \KOMAoptions{ +footheight = 20pt, +headheight = 29pt, +captions = tableheading, +}} + +\title{\huberlintitle} +\author{\huberlinauthor} +\date{\Version} + +\RequirePackage{ifluatex,luatex85} +\ifx\directlua\relax + \let\directlua\UnDeFiNeD +\fi +\ifluatex +\else +\GenericError{hu-berlin}% + {Please use `LuaLaTeX' as Compiler.^^J I abort here.} +\fi +\RequirePackage{fontspec} +\RequirePackage[mono=false]{libertine} +\RequirePackage{amssymb} + +\defaultfontfeatures{% + Ligatures = TeX + ,Scale = MatchLowercase + ,Numbers = OldStyle +} +\setmainfont[% + Ligatures = TeX + ,Numbers = OldStyle]{TeX Gyre Pagella} +\setmonofont[Scale=1]{TeX Gyre Cursor} +\setsansfont[% + ,LetterSpace = .8]{TeX Gyre Adventor-Regular} +\linespread{1.05} +\newfontfamily\listingsfont[ + Scale = MatchLowercase, +]{TeX Gyre Cursor} +\renewcommand\MacroFont{\listingsfont} + +\RequirePackage{marginnote} +\renewcommand*{\marginfont}{% + \rule{0pt}{0.7\baselineskip}% + \footnotesize% + \color{hu-berlin-brown}} + +\RequirePackage[ + german = guillemets, + style = german, +]{csquotes} + +\RequirePackage{enumitem} +\setlist{ + nosep, + % itemindent=1em, + % labelindent=0.5\parindent, + leftmargin=*} +\newlist{tabitemize}{itemize}{2}% neue Listenumgebung +\setlist[tabitemize]{% + nosep, + leftmargin=* + } +\setlist[tabitemize,1]{label=\labelitemi} +\setlist[tabitemize,2]{label=\labelitemii} + +\clubpenalty=10000 % prevent single lines at the beginning of a paragraph (Schusterjungen) +\widowpenalty=10000 % prevent single lines at the end of a paragraph (Hurenkinder) +\displaywidowpenalty=10000 % + +\RequirePackage{pdfpages} +\RequirePackage{biblatex} +\addbibresource{\jobname-bibliography.bib} +\addbibresource{\jobname-ctan.bib} +\RequirePackage{ccicons} %creative commons +\RequirePackage{xparse} +\RequirePackage{ragged2e} +\RequirePackage{microtype} +\RequirePackage{xspace} +\RequirePackage{graphicx} +\graphicspath{{img/}} +\RequirePackage{etoolbox} +\AfterEndPreamble{\maketitle} + +\makeatletter +\renewcommand*{\maketitle}{% + % taken and shortened from /usr/share/texmf/tex/latex/koma-script/scrartcl.cls + \begin{titlepage} + \newgeometry{left=3cm,right=3cm,top=1.5cm,bottom=2cm} + \global\@topnum=\z@ + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \null + {\large\@author\hfill Guideline and Documentation\par} + \vskip 10em% +{\begin{center}\color{hu-berlin-blue} +{\fontsize{50}{55}\selectfont\huberlinshort{} \par\vskip .5em% +\Large\sffamily\@title}\par +\vskip .5em +\end{center}}% +{\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% +\null\vskip 5em% +\blockcquote[195]{Hoare1973}{Documentation must be regarded as an integral part of the process of design and coding. + A good programming language will encourage and assist the programmer to write clear, + self-documenting code, + and even perhaps to develop + and display a pleasant style + of writing.} +\null\vfill +{\usekomafont{subtitle}{\@date \hfill +\includegraphics[width=4cm]{texografie}\\}}% + \par + \vskip 0em + \restoregeometry + \end{titlepage} +}% +\makeatother + +\RequirePackage{xcolor} +\definecolor{hu-berlin-blue}{RGB}{0,65,137} % HEX 004189 +\definecolor{hu-berlin-green}{RGB}{150,190,20} % HEX 93C11A % Topoi +\definecolor{hu-berlin-grey}{RGB}{169,169,169} +\definecolor{hu-berlin-brown}{RGB}{82,79,60} +\definecolor{hu-berlin-red}{RGB}{180,0,0} + +\RequirePackage{dirtree} +\renewcommand*\DTstylecomment{% + \color{hu-berlin-grey}% + \footnotesize% + \sffamily} +\renewcommand*\DTstyle{% + \ttfamily% + \small% + } + +\RequirePackage[ + markcase = noupper, + footsepline = .5pt, + % headsepline = .5pt, + autooneside = false,% use left and right marks with a onesided document + automark,% set \leftmark and \rightmark automatically by *\section and \subsection + draft = false, + ]{scrlayer-scrpage} + +\pagestyle{scrheadings} +\clearscrheadfoot +\rofoot*{\thepage} +\lofoot*{\textcolor{hu-berlin-blue}{\huberlintitle}\ \vrule\ \textcolor{hu-berlin-brown}{\huberlinsubtitle}} +\rohead*{hu-berlin-bundle} +\lohead*{Version: \Version} +\newcommand*\partnumber{} +\DeclareNewLayer[ + background, + textarea, + addwidth=\marginparsep+\marginparwidth, + mode=picture, + contents={% +\putC{\makebox[0pt][c]{\raisebox{-.5\height}{\scalebox{50}{\textcolor{black!5}{\partnumber}}}}}\gdef\partnumber{}% + } +]{partnumber} +\DeclareNewPageStyleByLayers{part}{partnumber} +\renewcommand\partpagestyle{part} +\renewcommand*{\partformat}{\gdef\partnumber{\thepart}} + +\newcommand*\changedpartwidth[1]{% + \makebox[\linewidth][l]{% +\parbox{\dimexpr\textwidth+\marginparsep+\marginparwidth\relax}{\raggedpart#1}% + }% +} +\addtokomafont{part}{\Huge\changedpartwidth} + +\deffootnote% + %[\normalparindent]%<width of mark> + {0.0cm}%<indent of footnote text> + {\normalparindent}%<paragraph indent in the footnote text> + {\makebox[\normalparindent][r]% + {\thefootnotemark\hspace*{3pt}}}%<definition of mark> +\newlength{\normalparindent} +\AtBeginDocument{\setlength{\normalparindent}{\parindent}} + \setfootnoterule{0pt}% Kein Fußnotenstrich + %\setfootnoterule[<height>]{<length>} + +\renewcommand\sectionlinesformat[4]{% + \makebox[0pt][r]{#3}#4% +} +\RequirePackage{url} + +\setkomafont{title}{\sffamily\color{hu-berlin-blue}\flushleft\bfseries} +\setkomafont{disposition}{\color{hu-berlin-brown}\sffamily\bfseries\large} +\setkomafont{section}{\usekomafont{disposition}} +\setkomafont{subsection}{\usekomafont{disposition}} +\setkomafont{subsubsection}{\usekomafont{disposition}} +\setkomafont{subtitle}{\large\color{hu-berlin-brown}\sffamily\flushleft} +\setkomafont{pageheadfoot}{\footnotesize\sffamily\color{hu-berlin-grey}} +\setkomafont{descriptionlabel}{\bfseries} +\setkomafont{footnotelabel}{\bfseries} +\addtokomafont{titlehead}{\flushright} +\addtokomafont{caption}{\scriptsize} +\setkomafont{captionlabel}{\bfseries\sffamily} +\setkomafont{subject}{\bfseries\sffamily} +\setcapindent{0pt} + +\raggedbottom + +\RequirePackage{listings} +\PassOptionsToPackage{final}{listings} +\RequirePackage[% + skins + ,listings + ,breakable + ,xparse + ,documentation +]{tcolorbox} +\lstMakeShortInline[language=TeX,basicstyle=\ttfamily]| +\RequirePackage{hyperxmp} +\RequirePackage{hyperref} +\hypersetup{% setup the hyperref-package options + unicode = true, + pdfauthor = {hu-berlin}, % - author (PDF meta) + pdfauthortitle = {}, + pdfcopyright = {Copyright (c) \the\year . All rights reserved.}, + pdfhighlight = /N, + pdfdisplaydoctitle = true, + pdfdate = {\today}, + pdflang = {},%de en + pdfcaptionwriter = {Lukas C. Bossert}, + pdfkeywords = {hu-berlin}, + pdfencoding = auto, + pdfproducer = {hu-berlin with LuaLaTeX}, + bookmarksnumbered = true, + bookmarksopenlevel = 2, + bookmarksopen = true, + bookmarksdepth = 3, + colorlinks = true, %Colours links instead of ugly boxes + urlcolor = hu-berlin-blue, %Colour for external hyperlinks + linkcolor = black, %Colour of internal links + citecolor = black, %Colour of citations + linktoc = page, + pdfborder = {0 0 0}, + breaklinks = true, %allow line break inside links + final +} +\RequirePackage{bookmark} + +\RequirePackage[ + sort, + nameinlink, + compress, + ngerman,english +]{cleveref} + +\newcommand{\TeXografie}{Lukas C. Bossert + (www.TeXografie.de)} +\newcommand\huberlin{\huberlintitle\xspace} + +\newcommand\huberlinFolder{% + \begingroup% + \normalfont% + \color{hu-berlin-blue}% + % \faFolderOpen% taken from fontawesome + \hspace{.3em}% + \endgroup} + +\RedeclareSectionCommands[ + tocraggedpagenumber, + toclinefill=\tocpageseparator, + tocindent=0em, + tocnumwidth=4em, + tocpagenumberbox=\tocpagenumberbox% <- added +]{chapter,section,subsection,subsubsection,paragraph} + +\newcommand\tocgobble[1]{}% <- added +\newcommand\tocpageseparator{\footnotesize\,\mbox{---}\,} +\newcommand\tocpagenumberbox[1]{\mbox{#1}}% <- added +\KOMAoptions{toc=indentunnumbered} + +\RedeclareSectionCommand[ + ,tocentryformat=\large\scshape% + ,tocindent=0em + ,tocnumwidth=4em + ,tocpagenumberbox=\tocgobble% <- added +]{part} + +\RedeclareSectionCommand[% +,tocentryformat=\textbf% + % ,toclinefill={\TOCLineLeaderFill}%\TOCLineLeaderFill[\textbf{.}] +]{chapter} + +\newtcolorbox{example}[1][]{ + breakable, + top=5pt, + bottom=5pt, + colback=hu-berlin-blue!10, + colframe=hu-berlin-blue, + left=5pt, + right=5pt, + sharp corners, + boxrule=0pt, + bottomrule=2pt, + toprule=2pt, + enhanced jigsaw, + lefttitle=0pt, + coltitle=white, + fonttitle=\bfseries, + fontupper=\small,%\ttfamily, + % colbacktitle=hu-berlin-blue!20 + #1, +} + +\makeatletter +\def\lst@visiblespace{\lst@ttfamily{\char32}$\textcolor{hu-berlin-grey}{\cdot}$} +\makeatother + +\lstset{% + basicstyle = \linespread{0.7}\listingsfont + ,breaklines = true + ,breakatwhitespace + ,alsoletter=\\\{\}\*\[\]\- + ,showstringspaces=true + } + +\lstdefinestyle{hu-berlinlistingstyledef}{% + tabsize = 4, + breaklines = true, + breakatwhitespace = true, + postbreak=\mbox{$\hookrightarrow$}, + %keepspaces = true, + escapeinside = {(*@}{@*)}, + moredelim = {[is][\ttfamily\bfseries\color{hu-berlin-blue}]{|}{|}}, + moredelim = {[is][\ttfamily\bfseries\color{hu-berlin-blue}]{|1}{1|}}, + moredelim = {[is][\ttfamily\bfseries\color{hu-berlin-red}]{|2}{2|}}, + aboveskip=0pt, + belowskip=0pt, + captionpos=b, + resetmargins=true, + sensitive=true, + upquote=true, + showspaces=true, + showtabs=true, + tab=\textcolor{hu-berlin-grey}{\rightarrowfill}, + %numbers=left, + %numberstyle=\footnotesize\ttfamily\color{hu-berlin-grey}, + comment = [l]{\%}, + commentstyle = \footnotesize\color{hu-berlin-grey}\addfontfeature{LetterSpace=.7}, + % deletecomment = [l]{\%<} + % morecomment = [l][\nullfont]{\%<}, + % deletecomment = [is]{\%<}{>}, +} + +\lstdefinestyle{hu-berlinlistingstyle}{% + language = {TeX}, + style = {hu-berlinlistingstyledef}, +} + +\tcbset{% +hu-berlinstyle/.style={% + enhanced, + before skip=2mm, + after skip=3mm, + boxrule=0.7pt, + left=2mm, + right=2mm, + top=2mm, + bottom=2mm, + sharp corners, + colback=white, + colbacklower=white, + % fonttitle=\sffamily\bfseries, + breakable, + %before skip=\baselineskip, + coltitle=white, + colbacktitle=hu-berlin-blue!50!black, + fonttitle=\bfseries\sffamily\footnotesize, + % before upper={\mynote{\thetcbcounter}}, + title={\hfill{Example \thetcbcounter}}, + }, +codecomment/.style={% + listing outside comment,% + boxrule=0pt, + colback=white, + } +} + +\newtcolorbox{warning}[1][]{ + enhanced, + before skip=2mm, + after skip=3mm, + boxrule=0.7pt, + left=5mm, + right=2mm, + top=2mm, + bottom=2mm, + colback=white, + colframe=yellow!20!black, + sharp corners, + rounded corners=southeast, + arc is angular, + arc=3mm, + underlay={% +\path[fill=hu-berlin-grey!80!black] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2); +\path[draw=hu-berlin-grey,shorten <=-0.05mm,shorten >=-0.05mm] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2); +\path[fill=red!50!black,draw=none] (interior.south west) rectangle node[white]{\Huge\bfseries !} ([xshift=4mm]interior.north west); +}, + drop fuzzy shadow, + #1 + } + +\newtcblisting[% + auto counter, + crefname = {example}{examples}, + Crefname = {Example}{Examples}, +]{codetext}[2][]{% + hu-berlinstyle, + rounded corners=northeast, + arc=6mm, + listing style=hu-berlinlistingstyle, + label = #2, + #1, + } + +\newtcblisting[% + use counter from=codetext, + crefname={code example}{code examples}, + Crefname={Code example}{Code examples}% +]{code}[2][]{% + hu-berlinstyle, + rounded corners=southeast, + arc=6mm, + listing only, + listing style=hu-berlinlistingstyle, + label = #2, + #1, +} + +\DeclareTCBInputListing[% + use counter from=codetext, + crefname={code example}{code examples}, + Crefname={Code example}{Code examples}% +]{\huberlinlisting}{ O{} m }{% + hu-berlinstyle, + listing file={#2}, + listing only, + listing style=hu-berlinlistingstyle, + #1, +} + +\makeatletter +\newrobustcmd*{\fnurl}[1][]{\hyper@normalise\ltd@fnurl{#1}} +\def\ltd@fnurl#1#2{\footnote{#1\hyper@linkurl{\Hurl{#2}}{#2}}} +\makeatother +\RequirePackage{newfile} +\newoutputstream{pkglist} +\NewDocumentCommand{\pkg}{om}{% + \IfNoValueTF{#1} +{\lowercase{\href{http://www.ctan.org/pkg/#2}}{\textbf{#2}}} +{\lowercase{\href{http://www.ctan.org/pkg/#1-#2}}{\textbf{#2}}}% +\space\cite{#2}% +\addtostream{pkglist}{#2}} +\newrobustcmd*{\lit}[1]{\textsf{#1}} +\newrobustcmd*{\Code}[1]{\texttt{#1}} +\newrobustcmd*{\tex}{\TeX} +\newrobustcmd*{\etex}{\mbox{e-TeX}} +\newrobustcmd*{\pdftex}{pdf\-\tex} +\newrobustcmd*{\xetex}{Xe\-\tex} +\newrobustcmd*{\luatex}{Lua\-\tex} +\newrobustcmd*{\latex}{\LaTeX}%{La\kern-0.07em TeX} +\newrobustcmd*{\pdflatex}{pdf\-\latex} +\newrobustcmd*{\xelatex}{Xe\-\latex} +\newrobustcmd*{\lualatex}{Lua\-\latex} +\newrobustcmd*{\miktex}{Mik\-\tex} +\newrobustcmd*{\texlive}{\tex~live} +\newrobustcmd*{\bibtex}{Bib\kern-0.07em TeX} +\newrobustcmd*{\lppl}{\latex{} Project Public License} +\newrobustcmd*{\pdf}{{PDF}} +\newrobustcmd*{\md}{{MarkDown}} +\newrobustcmd*{\utf}{\mbox{{UTF}-8}} +\newrobustcmd*{\bibfield}[1]{\Code{#1}} +\newrobustcmd*{\opt}[1]{\Code{#1}} +\newrobustcmd*{\bibmacro}[1]{\Code{#1}} +\newrobustcmd*{\bibtype}[1]{\Code{@#1}} +\renewrobustcmd\meta[1]{\normalfont{\textlangle}{\itshape#1\/}{\textrangle}} + +\renewrobustcmd\marg[1]{% + {\ttfamily\textcolor{hu-berlin-red}{\{}}% + \meta{#1}% + {\ttfamily\textcolor{hu-berlin-red}{\}}}% + } + +\renewrobustcmd\oarg[1]{% + {\ttfamily\textcolor{hu-berlin-green}{[}}% + \meta{#1}% + {\ttfamily\textcolor{hu-berlin-green}{]}}% + } + +\renewrobustcmd\cmd[1]{% + \texttt{\color{hu-berlin-blue}\textbackslash\string#1}\xspace% + } + +\newrobustcmd\env[2][]{% + \texttt{% +\color{hu-berlin-blue}% +\textbackslash begin\{\string#2\}#1}% + \ldots + \texttt{% +\color{hu-berlin-blue}% +\textbackslash end\{\string#2\}}% + \xspace} +\newcommand\param[1]{% + \begingroup% + \normalfont% + \ttfamily% + \bfseries% + \textless% + #1% + \ttfamily% + \bfseries% + \textgreater% + \endgroup} +\pdfstringdefDisableCommands{% + \def\lstinline#1{<#1>} + \def\tex{TeX}% + \def\etex{e-TeX}% + \def\xetex{XeTeX}% + \def\latex{LaTeX}% + \def\xelatex{XeLaTeX}% + \def\bibtex{BibTeX}% + \def\lppl{LaTeX Project Public License}% + \def\pdf{PDF}% + \def\utf{UTF-8}% + \def\\{}% + \def\texttt#1{<#1>}% + \def\marg#1{\{#1\}}% + \def\oarg#1{[#1]}% + \def\color#1#2{}% + \def\env#1{<#1>} + \def\cmd#1{#1} +} +\makeatletter +\patchcmd{\scr@startchapter}{\if@openright\cleardoublepage\else\clearpage\fi}{}{}{} +\makeatother +\RequirePackage[tightLists=false]{markdown} +\markdownSetup{rendererPrototypes={% +link = {\href{#3}{#1}}% +}} +%% +%% Copyright (C) 2019 +%% +%% End of file `hu-berlin-bundle-style.sty'. |