diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..b400eba3f82b691868b83b2efeafe49ae0501b02 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.DS_Store +*.toc +*.out +*.aux +*.toc +*.nav +*.log + + diff --git a/Introduction/LICENSE b/01Introduction/LICENSE similarity index 100% rename from Introduction/LICENSE rename to 01Introduction/LICENSE diff --git a/Introduction/Makefile b/01Introduction/Makefile similarity index 100% rename from Introduction/Makefile rename to 01Introduction/Makefile diff --git a/Introduction/fonts/CorporateS-Bold-Italic.otf b/01Introduction/fonts/CorporateS-Bold-Italic.otf similarity index 100% rename from Introduction/fonts/CorporateS-Bold-Italic.otf rename to 01Introduction/fonts/CorporateS-Bold-Italic.otf diff --git a/Introduction/fonts/CorporateS-Bold.otf b/01Introduction/fonts/CorporateS-Bold.otf similarity index 100% rename from Introduction/fonts/CorporateS-Bold.otf rename to 01Introduction/fonts/CorporateS-Bold.otf diff --git a/Introduction/fonts/CorporateS-Italic.otf b/01Introduction/fonts/CorporateS-Italic.otf similarity index 100% rename from Introduction/fonts/CorporateS-Italic.otf rename to 01Introduction/fonts/CorporateS-Italic.otf diff --git a/Introduction/fonts/CorporateS-Regular.otf b/01Introduction/fonts/CorporateS-Regular.otf similarity index 100% rename from Introduction/fonts/CorporateS-Regular.otf rename to 01Introduction/fonts/CorporateS-Regular.otf diff --git a/Introduction/fonts/Hermann-Bold.otf b/01Introduction/fonts/Hermann-Bold.otf similarity index 100% rename from Introduction/fonts/Hermann-Bold.otf rename to 01Introduction/fonts/Hermann-Bold.otf diff --git a/Introduction/fonts/TexGyreCursor-Bold-Italic.otf b/01Introduction/fonts/TexGyreCursor-Bold-Italic.otf similarity index 100% rename from Introduction/fonts/TexGyreCursor-Bold-Italic.otf rename to 01Introduction/fonts/TexGyreCursor-Bold-Italic.otf diff --git a/Introduction/fonts/TexGyreCursor-Bold.otf b/01Introduction/fonts/TexGyreCursor-Bold.otf similarity index 100% rename from Introduction/fonts/TexGyreCursor-Bold.otf rename to 01Introduction/fonts/TexGyreCursor-Bold.otf diff --git a/Introduction/fonts/TexGyreCursor-Italic.otf b/01Introduction/fonts/TexGyreCursor-Italic.otf similarity index 100% rename from Introduction/fonts/TexGyreCursor-Italic.otf rename to 01Introduction/fonts/TexGyreCursor-Italic.otf diff --git a/Introduction/fonts/TexGyreCursor-Regular.otf b/01Introduction/fonts/TexGyreCursor-Regular.otf similarity index 100% rename from Introduction/fonts/TexGyreCursor-Regular.otf rename to 01Introduction/fonts/TexGyreCursor-Regular.otf diff --git a/Introduction/helmholtzai.sty b/01Introduction/helmholtzai.sty similarity index 100% rename from Introduction/helmholtzai.sty rename to 01Introduction/helmholtzai.sty diff --git a/Introduction/images/cluster.png b/01Introduction/images/cluster.png similarity index 100% rename from Introduction/images/cluster.png rename to 01Introduction/images/cluster.png diff --git a/Introduction/images/haicore.jpg b/01Introduction/images/haicore.jpg similarity index 100% rename from Introduction/images/haicore.jpg rename to 01Introduction/images/haicore.jpg diff --git a/Introduction/images/jupyter.png b/01Introduction/images/jupyter.png similarity index 100% rename from Introduction/images/jupyter.png rename to 01Introduction/images/jupyter.png diff --git a/Introduction/images/jupyterjsc1.png b/01Introduction/images/jupyterjsc1.png similarity index 100% rename from Introduction/images/jupyterjsc1.png rename to 01Introduction/images/jupyterjsc1.png diff --git a/Introduction/images/juwels.jpg b/01Introduction/images/juwels.jpg similarity index 100% rename from Introduction/images/juwels.jpg rename to 01Introduction/images/juwels.jpg diff --git a/Introduction/images/python.pdf b/01Introduction/images/python.pdf similarity index 100% rename from Introduction/images/python.pdf rename to 01Introduction/images/python.pdf diff --git a/01Introduction/images/register_key.png b/01Introduction/images/register_key.png new file mode 100644 index 0000000000000000000000000000000000000000..11a0f8fcef75583c8aff1beeb9940c9b058d0236 Binary files /dev/null and b/01Introduction/images/register_key.png differ diff --git a/01Introduction/images/register_key2.png b/01Introduction/images/register_key2.png new file mode 100644 index 0000000000000000000000000000000000000000..6ba034a1bff1bed677e257e925fe86ae12dc9e6a Binary files /dev/null and b/01Introduction/images/register_key2.png differ diff --git a/01Introduction/images/register_key3.png b/01Introduction/images/register_key3.png new file mode 100644 index 0000000000000000000000000000000000000000..f9c3375027082c5c77da247f31bbea3b893ac25a Binary files /dev/null and b/01Introduction/images/register_key3.png differ diff --git a/01Introduction/images/register_key4.png b/01Introduction/images/register_key4.png new file mode 100644 index 0000000000000000000000000000000000000000..cb85d27f7e29ce55188a77480fbeb0310c9c28e5 Binary files /dev/null and b/01Introduction/images/register_key4.png differ diff --git a/01Introduction/images/register_key5.png b/01Introduction/images/register_key5.png new file mode 100644 index 0000000000000000000000000000000000000000..b62f181bd819898626c12a5617e8d7496cc8da34 Binary files /dev/null and b/01Introduction/images/register_key5.png differ diff --git a/01Introduction/images/ssh.PNG b/01Introduction/images/ssh.PNG new file mode 100644 index 0000000000000000000000000000000000000000..c13ec1270cfb1e078737f8864d6612fd46b6939d Binary files /dev/null and b/01Introduction/images/ssh.PNG differ diff --git a/01Introduction/images/ssh2.png b/01Introduction/images/ssh2.png new file mode 100644 index 0000000000000000000000000000000000000000..5c172abaeb0557079619b4fae6a5e6a1f0ac7abb Binary files /dev/null and b/01Introduction/images/ssh2.png differ diff --git a/Introduction/logos/helmholtzai.jpg b/01Introduction/logos/helmholtzai.jpg similarity index 100% rename from Introduction/logos/helmholtzai.jpg rename to 01Introduction/logos/helmholtzai.jpg diff --git a/Introduction/logos/helmholtzai_logo_2_lines.eps b/01Introduction/logos/helmholtzai_logo_2_lines.eps similarity index 100% rename from Introduction/logos/helmholtzai_logo_2_lines.eps rename to 01Introduction/logos/helmholtzai_logo_2_lines.eps diff --git a/Introduction/logos/helmholtzai_logo_2_lines_inverted.eps b/01Introduction/logos/helmholtzai_logo_2_lines_inverted.eps similarity index 100% rename from Introduction/logos/helmholtzai_logo_2_lines_inverted.eps rename to 01Introduction/logos/helmholtzai_logo_2_lines_inverted.eps diff --git a/Introduction/logos/helmholtzai_logo_3_lines.eps b/01Introduction/logos/helmholtzai_logo_3_lines.eps similarity index 100% rename from Introduction/logos/helmholtzai_logo_3_lines.eps rename to 01Introduction/logos/helmholtzai_logo_3_lines.eps diff --git a/Introduction/logos/helmholtzai_net.png b/01Introduction/logos/helmholtzai_net.png similarity index 100% rename from Introduction/logos/helmholtzai_net.png rename to 01Introduction/logos/helmholtzai_net.png diff --git a/Introduction/logos/hgf_aeronautics_and_aerospace.jpg b/01Introduction/logos/hgf_aeronautics_and_aerospace.jpg similarity index 100% rename from Introduction/logos/hgf_aeronautics_and_aerospace.jpg rename to 01Introduction/logos/hgf_aeronautics_and_aerospace.jpg diff --git a/Introduction/logos/hgf_earth_and_environment.jpg b/01Introduction/logos/hgf_earth_and_environment.jpg similarity index 100% rename from Introduction/logos/hgf_earth_and_environment.jpg rename to 01Introduction/logos/hgf_earth_and_environment.jpg diff --git a/Introduction/logos/hgf_energy.jpg b/01Introduction/logos/hgf_energy.jpg similarity index 100% rename from Introduction/logos/hgf_energy.jpg rename to 01Introduction/logos/hgf_energy.jpg diff --git a/Introduction/logos/hgf_health.jpg b/01Introduction/logos/hgf_health.jpg similarity index 100% rename from Introduction/logos/hgf_health.jpg rename to 01Introduction/logos/hgf_health.jpg diff --git a/Introduction/logos/hgf_key_technologies.jpg b/01Introduction/logos/hgf_key_technologies.jpg similarity index 100% rename from Introduction/logos/hgf_key_technologies.jpg rename to 01Introduction/logos/hgf_key_technologies.jpg diff --git a/Introduction/logos/hgf_lines_1.png b/01Introduction/logos/hgf_lines_1.png similarity index 100% rename from Introduction/logos/hgf_lines_1.png rename to 01Introduction/logos/hgf_lines_1.png diff --git a/Introduction/logos/hgf_lines_2.png b/01Introduction/logos/hgf_lines_2.png similarity index 100% rename from Introduction/logos/hgf_lines_2.png rename to 01Introduction/logos/hgf_lines_2.png diff --git a/Introduction/logos/hgf_lines_3.png b/01Introduction/logos/hgf_lines_3.png similarity index 100% rename from Introduction/logos/hgf_lines_3.png rename to 01Introduction/logos/hgf_lines_3.png diff --git a/Introduction/logos/hgf_matter.png b/01Introduction/logos/hgf_matter.png similarity index 100% rename from Introduction/logos/hgf_matter.png rename to 01Introduction/logos/hgf_matter.png diff --git a/Introduction/slides.tex b/01Introduction/slides.tex similarity index 79% rename from Introduction/slides.tex rename to 01Introduction/slides.tex index 96303cae4e3afcfa057a01ee62ccf9eb33c854bd..a3e8da206c4d880e0e477d72531a1f8d3c4212b8 100644 --- a/Introduction/slides.tex +++ b/01Introduction/slides.tex @@ -362,6 +362,32 @@ \end{columns} \end{frame} +\begin{frame} + \frametitle{File systems} + \framesubtitle{Where to store data} + + \begin{columns} + \begin{column}{0.48\textwidth} + \begin{center} + KIT + \end{center} + \begin{itemize} + \item + \end{itemize} + \end{column} + \begin{column}{0.48\textwidth} + \begin{center} + JSC + \end{center} + \begin{itemize} + \item \texttt{\$HOME}: Tiny. Use it for configs only. Beware of nasty programs looking for cache. + \item \texttt{/p/project/my\_proj}: 16 TB per project. Your workhorse. Accessible from compute. + \item \texttt{/p/scratch/my\_proj}: 100 TB per project. Your friend for not so permanent data. Deleted after 90 days of inactivity. + \item \texttt{/p/largedata/my\_data\_proj}: 12 PB for large scale data projects. Not accessible from compute nodes. + \end{itemize} + \end{column} + \end{columns} +\end{frame} \begin{frame} \frametitle{HAICORE} \framesubtitle{Summary} @@ -399,10 +425,29 @@ %\includegraphics[height=0.07\textheight]{logos/helmholtzai_logo_2_lines.eps} \end{figure} \end{frame} - + + \begin{frame} + \frametitle{HAICORE} + \framesubtitle{Task 2: Jupyter@KIT} + + \begin{itemize} + \item + \item + \item + \item + \end{itemize} + + \vspace{2em} + \begin{figure} + \centering + %\includegraphics[height=0.07\textheight]{logos/helmholtzai_logo_2_lines.eps} + \end{figure} + \end{frame} + + \begin{frame} \frametitle{HAICORE} - \framesubtitle{Task 2: Jupyter@JSC} + \framesubtitle{Task 3: Jupyter@JSC} \begin{columns} \begin{column}{0.53\textwidth} \begin{itemize} @@ -422,4 +467,56 @@ \end{frame} + \begin{frame}[fragile]{Authentification and Authorization} + \framesubtitle{Task 4: ssh@JSC} + + \begin{columns} + \begin{column}{0.39\textwidth} + \begin{itemize} + \item Create public/private key pair + \item Register public key in JuDoor + \item Make sure to use that key. + \end{itemize} + %\vspace{0.8cm} + \footnotesize + \texttt{ssh -i path/to/keyfile surname1@juwels-booster.fz-juelich.de} + \includegraphics[width=\textwidth]{images/ssh.PNG} + + \end{column} + \begin{column}{0.49\textwidth} + \center{ + \includegraphics[width=\textwidth]{images/ssh2.PNG} + } + \end{column} + + \end{columns} + + \vspace{.2cm} + Create key: + + \begin{lstlisting}[language=bash] + ssh-keygen -a 100 -t ed25519 -f \$HOME/.ssh/id_ed25519 + \end{lstlisting} + See also \url{https://apps.fz-juelich.de/jsc/hps/juwels/access.html}. + + \end{frame} + + + \begin{frame}{Uploading a key} + \footnotesize + \begin{enumerate} + \item Display key: \\ + \includegraphics[width=0.7\textwidth]{images/register_key2.png} + \item \emph{Manage ssh keys} in JuDoor. \\ + \includegraphics[width=0.6\textwidth]{images/register_key.png} + \item Add ip-based from key -- or check ip. \\ + \includegraphics[width=0.45\textwidth]{images/register_key3.png} + \item Do reverse DNS lookup. \texttt{nslookup 123.456.89.102}\\ + \includegraphics[width=0.4\textwidth]{images/register_key4.png} + \item Guess wildcard pattern.\\ + \includegraphics[width=0.8\textwidth]{images/register_key5.png} + + \end{enumerate} + \end{frame} + \end{document} diff --git a/01Introduction/theme/beamercolorthemeHelmholtzAI.sty b/01Introduction/theme/beamercolorthemeHelmholtzAI.sty new file mode 100644 index 0000000000000000000000000000000000000000..810de62100110008bb8dd9ff392fea56d21b078a --- /dev/null +++ b/01Introduction/theme/beamercolorthemeHelmholtzAI.sty @@ -0,0 +1,202 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +\RequirePackage{xcolor} + +% Helmholtz blue +\definecolor{hgfblue}{RGB}{0, 90, 160} +\colorlet{hgfblue10}{hgfblue!10!white} +\colorlet{hgfblue20}{hgfblue!20!white} +\colorlet{hgfblue30}{hgfblue!30!white} +\colorlet{hgfblue40}{hgfblue!40!white} +\colorlet{hgfblue50}{hgfblue!50!white} +\colorlet{hgfblue60}{hgfblue!60!white} +\colorlet{hgfblue70}{hgfblue!70!white} +\colorlet{hgfblue80}{hgfblue!80!white} +\colorlet{hgfblue90}{hgfblue!90!white} + +% Helmholtz darkblue +\definecolor{hgfdarkblue}{RGB}{10, 45, 110} +\colorlet{hgfdarkblue10}{hgfdarkblue!10!white} +\colorlet{hgfdarkblue20}{hgfdarkblue!20!white} +\colorlet{hgfdarkblue30}{hgfdarkblue!30!white} +\colorlet{hgfdarkblue40}{hgfdarkblue!40!white} +\colorlet{hgfdarkblue50}{hgfdarkblue!50!white} +\colorlet{hgfdarkblue60}{hgfdarkblue!60!white} +\colorlet{hgfdarkblue70}{hgfdarkblue!70!white} +\colorlet{hgfdarkblue80}{hgfdarkblue!80!white} +\colorlet{hgfdarkblue90}{hgfdarkblue!90!white} + +% Helmholtz green +\definecolor{hgfgreen}{RGB}{140, 180, 35} +\colorlet{hgfgreen10}{hgfgreen!10!white} +\colorlet{hgfgreen20}{hgfgreen!20!white} +\colorlet{hgfgreen30}{hgfgreen!30!white} +\colorlet{hgfgreen40}{hgfgreen!40!white} +\colorlet{hgfgreen50}{hgfgreen!50!white} +\colorlet{hgfgreen60}{hgfgreen!60!white} +\colorlet{hgfgreen70}{hgfgreen!70!white} +\colorlet{hgfgreen80}{hgfgreen!80!white} +\colorlet{hgfgreen90}{hgfgreen!90!white} + +% Helmholtz gray +\definecolor{hgfgray}{RGB}{90, 105, 110} +\colorlet{hgfgray10}{hgfgray!10!white} +\colorlet{hgfgray20}{hgfgray!20!white} +\colorlet{hgfgray30}{hgfgray!30!white} +\colorlet{hgfgray40}{hgfgray!40!white} +\colorlet{hgfgray50}{hgfgray!50!white} +\colorlet{hgfgray60}{hgfgray!60!white} +\colorlet{hgfgray70}{hgfgray!70!white} +\colorlet{hgfgray80}{hgfgray!80!white} +\colorlet{hgfgray90}{hgfgray!90!white} + +% RF aeronautics, space and transport +\definecolor{hgfaerospace}{RGB}{80, 200, 170} +\definecolor{hgfast}{named}{hgfaerospace} + +\colorlet{hgfaerospace10}{hgfaerospace!10!white} +\colorlet{hgfaerospace20}{hgfaerospace!20!white} +\colorlet{hgfaerospace30}{hgfaerospace!30!white} +\colorlet{hgfaerospace40}{hgfaerospace!40!white} +\colorlet{hgfaerospace50}{hgfaerospace!50!white} +\colorlet{hgfaerospace60}{hgfaerospace!60!white} +\colorlet{hgfaerospace70}{hgfaerospace!70!white} +\colorlet{hgfaerospace80}{hgfaerospace!80!white} +\colorlet{hgfaerospace90}{hgfaerospace!90!white} + +\colorlet{hgfast10}{hgfast!10!white} +\colorlet{hgfast20}{hgfast!20!white} +\colorlet{hgfast30}{hgfast!30!white} +\colorlet{hgfast40}{hgfast!40!white} +\colorlet{hgfast50}{hgfast!50!white} +\colorlet{hgfast60}{hgfast!60!white} +\colorlet{hgfast70}{hgfast!70!white} +\colorlet{hgfast80}{hgfast!80!white} +\colorlet{hgfast90}{hgfast!90!white} + +% RF earth and environment +\definecolor{hgfearthandenvironment}{RGB}{50, 100, 105} +\definecolor{hgfee}{named}{hgfearthandenvironment} + +\colorlet{hgfearthandenvironment10}{hgfearthandenvironment!10!white} +\colorlet{hgfearthandenvironment20}{hgfearthandenvironment!20!white} +\colorlet{hgfearthandenvironment30}{hgfearthandenvironment!30!white} +\colorlet{hgfearthandenvironment40}{hgfearthandenvironment!40!white} +\colorlet{hgfearthandenvironment50}{hgfearthandenvironment!50!white} +\colorlet{hgfearthandenvironment60}{hgfearthandenvironment!60!white} +\colorlet{hgfearthandenvironment70}{hgfearthandenvironment!70!white} +\colorlet{hgfearthandenvironment80}{hgfearthandenvironment!80!white} +\colorlet{hgfearthandenvironment90}{hgfearthandenvironment!90!white} + +\colorlet{hgfee10}{hgfee!10!white} +\colorlet{hgfee20}{hgfee!20!white} +\colorlet{hgfee30}{hgfee!30!white} +\colorlet{hgfee40}{hgfee!40!white} +\colorlet{hgfee50}{hgfee!50!white} +\colorlet{hgfee60}{hgfee!60!white} +\colorlet{hgfee70}{hgfee!70!white} +\colorlet{hgfee80}{hgfee!80!white} +\colorlet{hgfee90}{hgfee!90!white} + +% RF energy +\definecolor{hgfenergy}{RGB}{255, 210, 40} + +\colorlet{hgfenergy10}{hgfenergy!10!white} +\colorlet{hgfenergy20}{hgfenergy!20!white} +\colorlet{hgfenergy30}{hgfenergy!30!white} +\colorlet{hgfenergy40}{hgfenergy!40!white} +\colorlet{hgfenergy50}{hgfenergy!50!white} +\colorlet{hgfenergy60}{hgfenergy!60!white} +\colorlet{hgfenergy70}{hgfenergy!70!white} +\colorlet{hgfenergy80}{hgfenergy!80!white} +\colorlet{hgfenergy90}{hgfenergy!90!white} + +% RF health +\definecolor{hgfhealth}{RGB}{210, 50, 100} + +\colorlet{hgfhealth10}{hgfhealth!10!white} +\colorlet{hgfhealth20}{hgfhealth!20!white} +\colorlet{hgfhealth30}{hgfhealth!30!white} +\colorlet{hgfhealth40}{hgfhealth!40!white} +\colorlet{hgfhealth50}{hgfhealth!50!white} +\colorlet{hgfhealth60}{hgfhealth!60!white} +\colorlet{hgfhealth70}{hgfhealth!70!white} +\colorlet{hgfhealth80}{hgfhealth!80!white} +\colorlet{hgfhealth90}{hgfhealth!90!white} + +% RF key technologies +\definecolor{hgfkeytechnologies}{RGB}{160, 35, 90} +\definecolor{hgfkt}{named}{hgfkeytechnologies} +\definecolor{hgfinformation}{named}{hgfkeytechnologies} + +\colorlet{hgfkeytechnologies10}{hgfkeytechnologies!10!white} +\colorlet{hgfkeytechnologies20}{hgfkeytechnologies!20!white} +\colorlet{hgfkeytechnologies30}{hgfkeytechnologies!30!white} +\colorlet{hgfkeytechnologies40}{hgfkeytechnologies!40!white} +\colorlet{hgfkeytechnologies50}{hgfkeytechnologies!50!white} +\colorlet{hgfkeytechnologies60}{hgfkeytechnologies!60!white} +\colorlet{hgfkeytechnologies70}{hgfkeytechnologies!70!white} +\colorlet{hgfkeytechnologies80}{hgfkeytechnologies!80!white} +\colorlet{hgfkeytechnologies90}{hgfkeytechnologies!90!white} + +\colorlet{hgfkt10}{hgfkt!10!white} +\colorlet{hgfkt20}{hgfkt!20!white} +\colorlet{hgfkt30}{hgfkt!30!white} +\colorlet{hgfkt40}{hgfkt!40!white} +\colorlet{hgfkt50}{hgfkt!50!white} +\colorlet{hgfkt60}{hgfkt!60!white} +\colorlet{hgfkt70}{hgfkt!70!white} +\colorlet{hgfkt80}{hgfkt!80!white} +\colorlet{hgfkt90}{hgfkt!90!white} + +\colorlet{hgfinformation10}{hgfinformation!10!white} +\colorlet{hgfinformation20}{hgfinformation!20!white} +\colorlet{hgfinformation30}{hgfinformation!30!white} +\colorlet{hgfinformation40}{hgfinformation!40!white} +\colorlet{hgfinformation50}{hgfinformation!50!white} +\colorlet{hgfinformation60}{hgfinformation!60!white} +\colorlet{hgfinformation70}{hgfinformation!70!white} +\colorlet{hgfinformation80}{hgfinformation!80!white} +\colorlet{hgfinformation90}{hgfinformation!90!white} + +% RF matter +\definecolor{hgfmatter}{RGB}{240, 120, 30} + +\colorlet{hgfmatter10}{hgfmatter!10!white} +\colorlet{hgfmatter20}{hgfmatter!20!white} +\colorlet{hgfmatter30}{hgfmatter!30!white} +\colorlet{hgfmatter40}{hgfmatter!40!white} +\colorlet{hgfmatter50}{hgfmatter!50!white} +\colorlet{hgfmatter60}{hgfmatter!60!white} +\colorlet{hgfmatter70}{hgfmatter!70!white} +\colorlet{hgfmatter80}{hgfmatter!80!white} +\colorlet{hgfmatter90}{hgfmatter!90!white} + +\mode<presentation> + +% beamer color definitions +\setbeamercolor{structure}{fg=hgfdarkblue, bg=} +\setbeamercolor{palette primary}{use=structure, fg=hgfdarkblue, bg=} + +\setbeamercolor{item}{fg=hgfgreen} +\setbeamercolor{item projected}{fg=hgfgreen} + +\setbeamercolor{enumerate item}{fg=black, bg=} +\setbeamercolor{enumerate subitem}{fg=black, bg=} +\setbeamercolor{enumerate subsubitem}{fg=black, bg=} + +\setbeamercolor{title}{fg=white,bg=} +\setbeamercolor{subtitle}{fg=white,bg=} +\setbeamercolor{author}{fg=white,bg=} +\setbeamercolor{date}{fg=white,bg=} + +\setbeamercolor{block title}{bg=hgfblue80,fg=white} +\setbeamercolor{block body}{bg=hgfblue40} + +\setbeamercolor{block title example}{bg=hgfgray60,fg=white} +\setbeamercolor{block body example}{bg=hgfgray30} + +\setbeamercolor{block title alerted}{bg=hgfinformation80,fg=white} +\setbeamercolor{block body alerted}{bg=hgfinformation40} diff --git a/01Introduction/theme/beamerfontthemeHelmholtzAI.sty b/01Introduction/theme/beamerfontthemeHelmholtzAI.sty new file mode 100644 index 0000000000000000000000000000000000000000..ae734544a33e5b12093a861dd230ccd4ea97d0fc --- /dev/null +++ b/01Introduction/theme/beamerfontthemeHelmholtzAI.sty @@ -0,0 +1,203 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +% font selection +\setmainfont[ + Path=fonts/, + BoldFont=CorporateS-Bold.otf, + ItalicFont=CorporateS-Italic.otf, + BoldItalicFont=CorporateS-Bold-Italic.otf, +]{CorporateS-Regular.otf} +\setsansfont[ + Path=fonts/, + BoldFont=CorporateS-Bold.otf, + ItalicFont=CorporateS-Italic.otf, + BoldItalicFont=CorporateS-Bold-Italic.otf, +]{CorporateS-Regular.otf} +\setmonofont[ + Path=fonts/, + BoldFont=TexGyreCursor-Bold.otf, + ItalicFont=TexGyreCursor-Italic.otf, + BoldItalicFont=TexGyreCursor-Bold-Italic.otf, +]{TexGyreCursor-Regular.otf} + +\newfontfamily\hermannboldfont[Path=fonts/]{Hermann-Bold.otf} +\newcommand{\hermann}[1]{{\hermannboldfont #1}} + +\mode<presentation> + +\setbeamerfont{title}{size*={15pt}{16pt},series=\bfseries} % 32pt, baselineskip 36pt% + +\setbeamerfont{subtitle short}{size*={11pt}{12pt},series=\mdseries} % 30pt, baselineskip 36pt +\setbeamerfont{subtitle long}{size*={9pt}{9pt},series=\mdseries} % 18pt, baselineskip 22pt +\setbeamerfont*{subtitle}{parent=subtitle long} % reset font (*) and use parent font size +\setbeamerfont*{subtitle}{parent=subtitle short} % deault subline style to short UPPERCASE s p a c e d text + +%\setbeamerfont{normal text}{size*={8pt}{9pt}} % 14pt, baselineskip 18pt +\setbeamerfont{footline}{size*={6pt}{7pt}} + +%\setbeamerfont{frametitle}{size*={16pt}{16pt},series=\bfseries} %30pt, baselineskip 36pt +\setbeamerfont{framesubtitle}{size*={10pt}{11pt},series=\mdseries} % 18pt, baselineskip 22pt + +% fonts for special text fields +\setbeamerfont{caption}{size=\small} +\setbeamerfont{caption name}{parent={structure, caption}} + +\setbeamerfont{date}{size*={10pt}{10pt}} + +\setbeamerfont{footline}{parent={tiny structure}} + +\setbeamerfont{headline}{parent={tiny structure}} + +\setbeamerfont{institute}{size=\footnotesize, series=\itshape} +\setbeamerfont{navigation symbols}{size*={7pt}{8pt}} + +\setbeamerfont{section in toc}{parent=structure} +\setbeamerfont{section in toc shaded}{parent=section in toc} + +% items +\setbeamerfont{item}{parent=structure} +\setbeamerfont{subitem}{parent=item} +\setbeamerfont{subsubitem}{parent=subitem} + +\setbeamerfont{item projected}{size=\tiny, parent={item, projected text}} +\setbeamerfont{subitem projected}{parent=item projected} +\setbeamerfont{subsubitem projected}{parent=subitem projected} + +\setbeamerfont{description item}{parent=item} + +\setbeamerfont{enumerate item}{parent=item} +\setbeamerfont{enumerate subitem}{parent=subitem} +\setbeamerfont{enumerate subsubitem}{parent=subsubitem} + +\setbeamerfont{itemize/enumerate body}{} +\setbeamerfont{itemize/enumerate subbody}{size=\small} +\setbeamerfont{itemize/enumerate subsubbody}{size=\footnotesize} + +\setbeamerfont{itemize item}{parent=item} +\setbeamerfont{itemize subitem}{parent=subitem} +\setbeamerfont{itemize subsubitem}{parent=subsubitem} + +\makeatletter + +% automatic spacing and font sizes for long titles +%% define options for letter spacing +\providecommand{\emptydummyb}[1]{} % eats argument of \uppercase() and and \addfontfeature{} +\providecommand{\emptydummya}[2][]{#2}{} % eats optional argument of textls and forwards #2 argument +\providecommand{\addfontfeature}[1]{} % defined only if latex or pdflatex is used +\providecommand{\textls}[2][]{#2}{} % defined only if microtype is loaded + +% new command definitions we will be using later on +\def\beamerhelmholtzai@titleformat#1{#1} +\def\beamerhelmholtzai@subtitleformat#1{#1} +\def\beamerhelmholtzai@partformat#1{#1} +\def\beamerhelmholtzai@frametitleformat#1{#1} + +%% title font size +\pgfkeys{ + /beamerhelmholtzai/font/title/.cd, + .is choice, + .default=regular, + regular/.code={% + \let\beamerhelmholtzai@titleformatcaps\emptydummya% + \let\beamerhelmholtzai@titleformatspacinga\emptydummya% + \let\beamerhelmholtzai@titleformatspacingb\emptydummyb% + }, + allcaps/.code={% + \let\beamerhelmholtzai@titleformatcaps\MakeTextUppercase% + \let\beamerhelmholtzai@titleformatspacinga\emptydummya% + \let\beamerhelmholtzai@titleformatspacingb\emptydummyb% + }, +} + +%% subtitle font size +\pgfkeys{ + /beamerhelmholtzai/font/subtitle/.cd, + .is choice, + .default=allcaps, + regular/.code={% + \let\beamerhelmholtzai@subtitleformatcaps\emptydummya% + \let\beamerhelmholtzai@subtitleformatspacinga\emptydummya% + \let\beamerhelmholtzai@subtitleformatspacingb\emptydummyb% + \setbeamerfont{subtitle long}{size*={9pt}{11pt},series=\bfseries} % 18pt, baselineskip 22pt + }, + allcaps/.code={% + \let\beamerhelmholtzai@subtitleformatcaps\MakeTextUppercase% + \let\beamerhelmholtzai@subtitleformatspacinga\emptydummya% + \let\beamerhelmholtzai@subtitleformatspacingb\emptydummyb% + \setbeamerfont{title}{size*={16pt}{16pt},series=\bfseries} % 30pt, baselineskip 36pt% + }, +} + +%% regular slides +\pgfkeys{ + /beamerhelmholtzai/font/frametitle/.cd, + .is choice, + .default=allcaps, + regular/.code={% + \let\beamerhelmholtzai@frametitleformatcaps\emptydummya% + \let\beamerhelmholtzai@frametitleformatspacinga\emptydummya% + \let\beamerhelmholtzai@frametitleformatspacingb\emptydummyb% + \setbeamerfont{frametitle}{size*={14pt}{18pt},series=\bfseries} % 32pt, baselineskip 36pt% + }, + allcaps/.code={% + \let\beamerhelmholtzai@frametitleformatcaps\MakeTextUppercase% + \let\beamerhelmholtzai@frametitleformatspacinga\emptydummya% + \let\beamerhelmholtzai@frametitleformatspacingb\emptydummyb% + \setbeamerfont{frametitle}{size*={14pt}{18pt},series=\bfseries} % 32pt, baselineskip 36pt% + }, +} + +%% parts +\pgfkeys{ + /beamerhelmholtzai/font/part/.cd, + .is choice, + .default=allcaps, + regular/.code={% + \let\beamerhelmholtzai@partformatcaps\emptydummya% + \let\beamerhelmholtzai@partformatspacinga\emptydummya% + \let\beamerhelmholtzai@partformatspacingb\emptydummyb% + \setbeamerfont{part}{size*={16pt}{18pt},series=\bfseries} % 30pt, baselineskip 36pt% + }, + allcaps/.code={% + \let\beamerhelmholtzai@partformatcaps\MakeTextUppercase% + \let\beamerhelmholtzai@partformatspacinga\emptydummya% + \let\beamerhelmholtzai@partformatspacingb\emptydummyb% + \setbeamerfont{part}{size*={16pt}{18pt},series=\bfseries} % 30pt, baselineskip 36pt% + }, +} + +% redefine beamer title, subtitle, part and frametitle command +\patchcmd{\beamer@title}% + {\def\inserttitle{#2}}% + {\protected\def\inserttitle{{\beamerhelmholtzai@titleformatspacingb{LetterSpace=15.0}\beamerhelmholtzai@titleformatcaps{\beamerhelmholtzai@titleformatspacinga[120]{#2}}}}}% + {}% + {\PackageError{beamerhelmholtzai}{Patching original title failed}\@ehc} +\patchcmd{\beamer@subtitle}% + {\def\insertsubtitle{#2}}% + {\protected\def\insertsubtitle{{\beamerhelmholtzai@subtitleformatspacingb{LetterSpace=15.0}\beamerhelmholtzai@subtitleformatcaps{\beamerhelmholtzai@subtitleformatspacinga[120]{#2}}}}}% + {}% + {\PackageError{beamerhelmholtzai}{Patching original subtitle failed}\@ehc} +\patchcmd{\beamer@part}% + {\def\insertpart{\expandafter\hyperlink\partlink}}% + {\def\insertpart{{\beamerhelmholtzai@partformatspacingb{LetterSpace=15.0}\beamerhelmholtzai@partformatcaps{\beamerhelmholtzai@partformatspacinga[120]{\expandafter\hyperlink\partlink}}}}}% + {}% + {\PackageError{beamerhelmholtzai}{Patching original part failed}\@ehc} +\patchcmd{\beamer@@frametitle} + {{% + \gdef\insertframetitle{{#2\ifnum\beamer@autobreakcount>0\relax{}\space% + \usebeamertemplate*{frametitle continuation}\fi}}% + \gdef\beamer@frametitle{#2}% + \gdef\beamer@shortframetitle{#1}% + }} + {{% + \gdef\insertframetitle{{\beamerhelmholtzai@frametitleformatcaps{#2}\ifnum% + \beamer@autobreakcount>0\relax{}\space% + \usebeamertemplate*{frametitle continuation}\fi}}% + \gdef\beamer@frametitle{#2}% + \gdef\beamer@shortframetitle{#1}% + }} + {} + {\PackageError{beamerhelmholtzai}{Patching original frame title failed}\@ehc} +\makeatother diff --git a/01Introduction/theme/beamerinnerthemeHelmholtzAI.sty b/01Introduction/theme/beamerinnerthemeHelmholtzAI.sty new file mode 100644 index 0000000000000000000000000000000000000000..b7d908774e16e2c65c5a192f95295663db7f4e79 --- /dev/null +++ b/01Introduction/theme/beamerinnerthemeHelmholtzAI.sty @@ -0,0 +1,7 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +\setbeamertemplate{itemize item}{\rule[1pt]{6pt}{6pt}} +\setbeamertemplate{itemize subitem}{\rule[1pt]{4pt}{4pt}} +\setbeamertemplate{itemize subsubitem}{\rule[1pt]{3pt}{3pt}} diff --git a/01Introduction/theme/beamerouterthemeHelmholtzAI.sty b/01Introduction/theme/beamerouterthemeHelmholtzAI.sty new file mode 100644 index 0000000000000000000000000000000000000000..405e7ce299da28a57809ced18b49e5e9cafa704e --- /dev/null +++ b/01Introduction/theme/beamerouterthemeHelmholtzAI.sty @@ -0,0 +1,205 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +% slide geometry +\setbeamersize{% + text margin left=0.8cm, + text margin right=0.8cm, + sidebar width left=0cm, + sidebar width right=0cm, + mini frame size=0cm, + mini frame offset=0cm +} + +% background canvas +%% title +\defbeamertemplate{background canvas}{title}{% + \includegraphics[width=\paperwidth, height=\paperheight]{logos/helmholtzai.jpg} +} + +%% regular +\defbeamertemplate{background canvas}{empty}{} +\pgfkeys{/beamerhgf/outer/.cd, + background canvas/.initial=empty +} + +% HGF slider bars +%% top +\newcommand{\topslider}[1]{% + \begin{tikzpicture}[overlay, remember picture] + \draw [fill=#1, draw=none, rounded corners=2pt] (current page.north east) + [turtle={ + lt, forward=1.1\paperwidth, + lt, forward=.19\paperheight, + lt, forward=.47\paperwidth, + left=45, forward=1.5ex, + right=45, forward=.63\paperwidth, + home + }]; + \end{tikzpicture} +} + +%% bottom +\newcommand{\bottomslider}[1]{% + \begin{tikzpicture}[overlay, remember picture] + \draw [fill=#1, draw=none, rounded corners=2pt] (current page.south east) + [turtle={ + lt, fd=1.1\paperwidth, + rt, fd=0.025\paperheight, + rt, fd=.8375\paperwidth, + lt=45, fd=1.5ex, + rt=45, fd=.25\paperwidth, + home + }]; + \end{tikzpicture} +} + +%% left +\newcommand{\leftslider}[1]{% + \begin{tikzpicture}[overlay, remember picture] + \draw [fill=#1, draw=none, rounded corners=2pt] (current page.south west) + [turtle={ + fd=.05\paperheight, rt, + fd=.15\paperwidth, rt=45, + fd=4.5ex, rt=135, + fd=.15\paperwidth, + home + }]; + \end{tikzpicture} +} + +%% research field +\newcommand{\rfslider}[1]{% + \begin{tikzpicture}[overlay, remember picture] + \draw [fill=#1, draw=none, rounded corners=2pt] (current page.south east) ++ (-.25\paperwidth, .042\paperheight) + [turtle={ + lt, fd=.13\paperwidth, + lt=45, fd=1.5ex, + lt=135, fd=.13\paperwidth, + home + }]; + \end{tikzpicture} +} + +% banner +\newcommand{\banner}{% + \begin{tikzpicture}[overlay, remember picture] + \node[anchor=north west, xshift=0.8cm, yshift=-0.6cm] at (current page.north west) { + \includegraphics[scale=0.45]{logos/helmholtzai_logo_2_lines.eps} + }; + \end{tikzpicture} +} + +% footer logo +\newcommand{\footerlogo}{% + \begin{tikzpicture}[overlay, remember picture] + \node[anchor=south east, xshift=-1.8cm, yshift=0.0cm] at (current page.south east) { + \includegraphics[scale=0.25]{logos/helmholtzai_logo_2_lines_inverted.eps} + }; + \end{tikzpicture} +} + +% url +\newcommand{\helmholtzaiurl}{% + \begin{tikzpicture}[overlay, remember picture] + \node[anchor=south east, text=hgfblue] at (current page.south east) {\tiny www.helmholtz.ai}; + \end{tikzpicture} +} + +% slide layout +%% general +\defbeamertemplate{headline}{empty}{} +\setbeamertemplate{footline}{% + \begin{beamercolorbox}[wd=\paperwidth,ht=2.2cm]{} + \end{beamercolorbox} + \hspace{0.8cm} + \usebeamercolor[fg]{title}\insertauthor\enspace\vrule width0.3pt\enspace\inserttitle% + \vspace{0.06cm} +} +\setbeamertemplate{navigation symbols}{% + \begin{beamercolorbox}[wd=\paperwidth,ht=\dimexpr\paperheight-6pt]{} + \end{beamercolorbox} + \usebeamercolor[fg]{title}\usebeamerfont*{navigation symbols}\insertframenumber/\inserttotalframenumber +} +\setbeamertemplate{section in toc}{% + \inserttocsectionnumber.~\inserttocsection +} + +%% title +\defbeamertemplate{background}{title}{% + \topslider{white} + \banner + \rfslider{hgfgreen} + \bottomslider{white} + \leftslider{hgfdarkblue} + \helmholtzaiurl +} +\defbeamertemplate{title page}{text}{% + \vspace{2.0cm}% + \hspace{0.3cm}% + \usebeamercolor[white]{title}\usebeamerfont*{title}\strut{}\inserttitle\par% + \hspace{0.3cm}% + \usebeamercolor[white]{subtitle}\usebeamerfont{subtitle}\strut{}\insertsubtitle\par% + \vspace{4.3cm}% + \hspace{0.3cm}% + \usebeamercolor[white]{title}\usebeamerfont*{author}\insertauthor\par% + \hspace{0.3cm}% + \usebeamercolor[white]{title}\usebeamerfont*{institute}\insertinstitute\enspace/\enspace\insertdate% +} +\setbeamertemplate{title page}[text] +\pgfkeys{/beamerhelmholtzai/outer/.cd, + footline/.initial=empty, + title page/.initial=text +} + +%% regular slide +\defbeamertemplate{background}{frame}{% + \rfslider{hgfgreen} + \bottomslider{hgfblue} + \footerlogo +} +\setbeamertemplate{background}[frame] + +\defbeamertemplate{frametitle}{frame}{% + \ifx\insertframesubtitle\empty% + \vspace{12pt}% + \strut{}\insertframetitle + \else% + \insertframetitle\par% + \usebeamercolor[hgfblue]{framesubtitle}\usebeamerfont{framesubtitle}\strut{}\insertframesubtitle + \fi% + \par% + \noindent\rule[0.5\baselineskip]{\dimexpr\paperwidth-1.6cm}{0.4pt}% +} +\setbeamertemplate{frametitle}[frame] + +% maketitle definition +\def\maketitle{% +{% + \setbeamertemplate{footline}{} + \setbeamertemplate{navigation symbols}{} + \ifbeamer@inframe% + \titlepage% + % resetting the background does not work for inframe, since empty title theme template cannot be set after \frame{...} here + \else% + \setbeamertemplate{frame number}[invisible]% + \setbeamertemplate{date}[invisible]% + \setbeamertemplate{background canvas}[title]% + \setbeamertemplate{background}[title]% + \setbeamertemplate{title page}[title]% + \frame[t, noframenumbering]{\titlepage}% + \fi% +}% + % reset background to normal slides, does not change selected theme + \setbeamertemplate{background canvas}[empty] +} + +% section slides +\AtBeginSection[]{ + \begin{frame}% + \vspace{4.5cm}% + \hspace{0.3cm}% + \huge\textcolor{hgfdarkblue}{\textbf{\insertsectionhead}}% + \end{frame}% +} diff --git a/01Introduction/theme/beamerthemeHelmholtzAI.sty b/01Introduction/theme/beamerthemeHelmholtzAI.sty new file mode 100644 index 0000000000000000000000000000000000000000..81a81f1d3cf83a33ae39bc102704328ba3ca83bd --- /dev/null +++ b/01Introduction/theme/beamerthemeHelmholtzAI.sty @@ -0,0 +1,61 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +\RequirePackage{booktabs} +\RequirePackage[T1]{fontenc} +\RequirePackage{fontspec} +\RequirePackage{hyperref} +\RequirePackage[utf8x]{inputenc} +\RequirePackage{listings} +\RequirePackage{tikz} + +\usetikzlibrary{ + calc, + turtle, + positioning +} + +\usefonttheme{HelmholtzAI} +\usecolortheme{HelmholtzAI} +\useinnertheme{HelmholtzAI} +\useoutertheme{HelmholtzAI} + +\pgfkeys{/beamerhelmholtzai/.cd, + .search also={ + /beamerhelmholtzai/inner, + /beamerhelmholtzai/outer, + /beamerhelmholtzai/color, + /beamerhelmholtzai/font, + }, + title=regular, + subtitle=regular, + part=regular, + frametitle=regular, +} + +\hypersetup{ + colorlinks=true,% hyperlinks will be coloured + linkcolor=hgfblue, + urlcolor=hgfblue, + citecolor=hgfinformation, + anchorcolor=hgfblue, +} + +\lstset{ + basicstyle=\ttfamily\upshape\small, + breaklines=true, + backgroundcolor=\color{lightgray!20}, + xleftmargin=0.3cm, + framexleftmargin=1em, + keywordstyle=\bfseries\color{hgfblue}, + stringstyle=\color{hgfgreen}, + commentstyle=\itshape\color{hgfinformation}, + deletekeywords={compile}, + escapechar=\&, + escapeinside={<@}{@>} +} + +\newcommand{\source}[1]{% + \tiny\textcolor{hgfgray50}{Source: #1} +} diff --git a/02SoftwareStacksJobSubmissions/Makefile b/02SoftwareStacksJobSubmissions/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..2504c55b36a0bb8561f41c0642a428dd40da58b1 --- /dev/null +++ b/02SoftwareStacksJobSubmissions/Makefile @@ -0,0 +1,10 @@ +FILE=slides +LC=xelatex + +all: + $(LC) -synctex=1 -interaction=nonstopmode $(FILE).tex + $(LC) -synctex=1 -interaction=nonstopmode $(FILE).tex + +clean: + rm $(FILE).aux $(FILE).log $(FILE).nav $(FILE).out $(FILE).pdf $(FILE).snm $(FILE).synctex.gz $(FILE).toc $(FILE).vrb + diff --git a/02SoftwareStacksJobSubmissions/fonts/CorporateS-Bold-Italic.otf b/02SoftwareStacksJobSubmissions/fonts/CorporateS-Bold-Italic.otf new file mode 100644 index 0000000000000000000000000000000000000000..af22971df4df91a0c8c4aa56717d97c850c8e073 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/fonts/CorporateS-Bold-Italic.otf differ diff --git a/02SoftwareStacksJobSubmissions/fonts/CorporateS-Bold.otf b/02SoftwareStacksJobSubmissions/fonts/CorporateS-Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..d1effea5d9ac75be7f4ad130b21771f967aa54e7 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/fonts/CorporateS-Bold.otf differ diff --git a/02SoftwareStacksJobSubmissions/fonts/CorporateS-Italic.otf b/02SoftwareStacksJobSubmissions/fonts/CorporateS-Italic.otf new file mode 100644 index 0000000000000000000000000000000000000000..9a9cd8b69bdfd425bcdf0468f036c8551b68e2ff Binary files /dev/null and b/02SoftwareStacksJobSubmissions/fonts/CorporateS-Italic.otf differ diff --git a/02SoftwareStacksJobSubmissions/fonts/CorporateS-Regular.otf b/02SoftwareStacksJobSubmissions/fonts/CorporateS-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..90fbcd367f8426471b6caeb0a5be5e0d0526aed9 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/fonts/CorporateS-Regular.otf differ diff --git a/02SoftwareStacksJobSubmissions/fonts/Hermann-Bold.otf b/02SoftwareStacksJobSubmissions/fonts/Hermann-Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..be0ccdb40b754c5c6b85576ad5631ce6903ef346 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/fonts/Hermann-Bold.otf differ diff --git a/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Bold-Italic.otf b/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Bold-Italic.otf new file mode 100644 index 0000000000000000000000000000000000000000..a3c934e004ee8e43adf6e299372a9cb01acd94d5 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Bold-Italic.otf differ diff --git a/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Bold.otf b/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Bold.otf new file mode 100644 index 0000000000000000000000000000000000000000..67143f3462f8cfafcbad4c262d67e9a7b86d2a58 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Bold.otf differ diff --git a/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Italic.otf b/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Italic.otf new file mode 100644 index 0000000000000000000000000000000000000000..54a5e2745c825ab5d36726f4ea979a38fd6a7830 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Italic.otf differ diff --git a/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Regular.otf b/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..373f76d376b0ef927bf67b478b4eb8022ca1b7d6 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/fonts/TexGyreCursor-Regular.otf differ diff --git a/02SoftwareStacksJobSubmissions/helmholtzai.sty b/02SoftwareStacksJobSubmissions/helmholtzai.sty new file mode 100644 index 0000000000000000000000000000000000000000..a55465918641abc2cadba9de0a01cc37a009cf30 --- /dev/null +++ b/02SoftwareStacksJobSubmissions/helmholtzai.sty @@ -0,0 +1,17 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Goetz + +\makeatletter +\def\beamer@calltheme#1#2#3{% + \def\beamer@themelist{#2} + \@for\beamer@themename:=\beamer@themelist\do + {\usepackage[{#1}]{\beamer@themelocation/#3\beamer@themename}}} + +\def\usefolder#1{ + \def\beamer@themelocation{#1} +} +\def\beamer@themelocation{} + +\usefolder{theme} +\usetheme{HelmholtzAI} diff --git a/02SoftwareStacksJobSubmissions/images/modules1.PNG b/02SoftwareStacksJobSubmissions/images/modules1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..2dcdea0538135343239e448a811875f2c514f140 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/images/modules1.PNG differ diff --git a/02SoftwareStacksJobSubmissions/images/modules2.PNG b/02SoftwareStacksJobSubmissions/images/modules2.PNG new file mode 100644 index 0000000000000000000000000000000000000000..50cd28c9aa40fc2c96b46efd7aa932a613d0d381 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/images/modules2.PNG differ diff --git a/02SoftwareStacksJobSubmissions/images/my_env.png b/02SoftwareStacksJobSubmissions/images/my_env.png new file mode 100644 index 0000000000000000000000000000000000000000..c3d0bab9975200dfd413f8338b3856a5c9908e69 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/images/my_env.png differ diff --git a/02SoftwareStacksJobSubmissions/images/nano.PNG b/02SoftwareStacksJobSubmissions/images/nano.PNG new file mode 100644 index 0000000000000000000000000000000000000000..b2ab39d5c18e3999869ebc28696523c6c1149b9b Binary files /dev/null and b/02SoftwareStacksJobSubmissions/images/nano.PNG differ diff --git a/02SoftwareStacksJobSubmissions/logos/helmholtzai.jpg b/02SoftwareStacksJobSubmissions/logos/helmholtzai.jpg new file mode 100644 index 0000000000000000000000000000000000000000..991e957363bc7230032db73c015c0617f81d67dc Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/helmholtzai.jpg differ diff --git a/02SoftwareStacksJobSubmissions/logos/helmholtzai_logo_2_lines.eps b/02SoftwareStacksJobSubmissions/logos/helmholtzai_logo_2_lines.eps new file mode 100644 index 0000000000000000000000000000000000000000..aa95b7b7d3dff966846abf513be8d7cfa6188b1a Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/helmholtzai_logo_2_lines.eps differ diff --git a/02SoftwareStacksJobSubmissions/logos/helmholtzai_logo_2_lines_inverted.eps b/02SoftwareStacksJobSubmissions/logos/helmholtzai_logo_2_lines_inverted.eps new file mode 100644 index 0000000000000000000000000000000000000000..643b31411f9407a1f1e4b858a7e3eee5764ee6d3 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/helmholtzai_logo_2_lines_inverted.eps differ diff --git a/02SoftwareStacksJobSubmissions/logos/helmholtzai_logo_3_lines.eps b/02SoftwareStacksJobSubmissions/logos/helmholtzai_logo_3_lines.eps new file mode 100644 index 0000000000000000000000000000000000000000..6f3ea5e122076768c0f2b80cc213b15ce62f99bd Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/helmholtzai_logo_3_lines.eps differ diff --git a/02SoftwareStacksJobSubmissions/logos/helmholtzai_net.png b/02SoftwareStacksJobSubmissions/logos/helmholtzai_net.png new file mode 100644 index 0000000000000000000000000000000000000000..70bc8deddfa1f9fc10ee7f5aaf9457626526161e Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/helmholtzai_net.png differ diff --git a/02SoftwareStacksJobSubmissions/logos/hgf_aeronautics_and_aerospace.jpg b/02SoftwareStacksJobSubmissions/logos/hgf_aeronautics_and_aerospace.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ce4513b5918eac5c51df4629ff3e74b26a49390 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/hgf_aeronautics_and_aerospace.jpg differ diff --git a/02SoftwareStacksJobSubmissions/logos/hgf_earth_and_environment.jpg b/02SoftwareStacksJobSubmissions/logos/hgf_earth_and_environment.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4ed444a930a15da6b95f044f4cba1d1c1b8cd39a Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/hgf_earth_and_environment.jpg differ diff --git a/02SoftwareStacksJobSubmissions/logos/hgf_energy.jpg b/02SoftwareStacksJobSubmissions/logos/hgf_energy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..30143c20485a5178758c1fe2eb78bf90100ce6d8 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/hgf_energy.jpg differ diff --git a/02SoftwareStacksJobSubmissions/logos/hgf_health.jpg b/02SoftwareStacksJobSubmissions/logos/hgf_health.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8830944b9f141900a420a165232172fe337cf009 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/hgf_health.jpg differ diff --git a/02SoftwareStacksJobSubmissions/logos/hgf_key_technologies.jpg b/02SoftwareStacksJobSubmissions/logos/hgf_key_technologies.jpg new file mode 100644 index 0000000000000000000000000000000000000000..18e93e4b0fbfb24d3d45167adeb1694f9334ac0b Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/hgf_key_technologies.jpg differ diff --git a/02SoftwareStacksJobSubmissions/logos/hgf_lines_1.png b/02SoftwareStacksJobSubmissions/logos/hgf_lines_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3f651b5c9097fa881627b58b4d14e48cea5a9038 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/hgf_lines_1.png differ diff --git a/02SoftwareStacksJobSubmissions/logos/hgf_lines_2.png b/02SoftwareStacksJobSubmissions/logos/hgf_lines_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4bcd5913066996a09d6885475b668792696640ec Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/hgf_lines_2.png differ diff --git a/02SoftwareStacksJobSubmissions/logos/hgf_lines_3.png b/02SoftwareStacksJobSubmissions/logos/hgf_lines_3.png new file mode 100644 index 0000000000000000000000000000000000000000..f72f06ac5d1abe014885d4262ebef721449ca1ed Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/hgf_lines_3.png differ diff --git a/02SoftwareStacksJobSubmissions/logos/hgf_matter.png b/02SoftwareStacksJobSubmissions/logos/hgf_matter.png new file mode 100644 index 0000000000000000000000000000000000000000..99b69a7172091343770b430aced9bbad4481ce96 Binary files /dev/null and b/02SoftwareStacksJobSubmissions/logos/hgf_matter.png differ diff --git a/02SoftwareStacksJobSubmissions/slides.tex b/02SoftwareStacksJobSubmissions/slides.tex new file mode 100644 index 0000000000000000000000000000000000000000..ad195514af03391f6375f26e746bd09ed9ebd7e1 --- /dev/null +++ b/02SoftwareStacksJobSubmissions/slides.tex @@ -0,0 +1,152 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +\documentclass[aspectratio=1610]{beamer} +\usepackage{helmholtzai} + +\usepackage{calc} +\usepackage[fixed]{fontawesome5} + +\usetikzlibrary{ + arrows, + calc, + positioning, + shapes +} + +\title{HAICORE} +\subtitle{Software Stacks and Job Submissions} +\author{Markus Götz and Stefan Kesselheim} +\date{2021-04-07} +\institute{KIT-SCC and FZJ-JSC} + +\begin{document} + +\maketitle + +\begin{frame} + \frametitle{Getting Started on HAICORE} + \framesubtitle{Timetable} + \begin{table} + \begin{tabular}{|lll|} \hline + Day & Time & Title \\ \hline + 1 & 9:00-9:45 & Introduction \\ + & 9:45-11:00 & Tutorial 1: First Steps on HAICORE \\ + & 11:00-11:30 & Software Stacks and Job Submissions \\ + & 11:30-12:30 & Tutorial 2: Running a first training \\ \hline + 2 & 9:00-12:30 & Bring your own code \\ \hline + \end{tabular} + \end{table} + +\end{frame} + +\begin{frame}{Module System} + All kind of software is already installed in modules.\\ + + \begin{center} + \includegraphics[width=0.35\textwidth]{images/modules1.PNG} + + \end{center} + + + \url{https://apps.fz-juelich.de/jsc/llview/juwels_modules_booster/} + \end{frame} + + \begin{frame}{Module System} + + \begin{columns} + \begin{column}{0.49\textwidth} + Commands + \begin{itemize} + \item \texttt{module avail} + \item \texttt{module purge \# unload everything} + \item \texttt{module load} + \item \texttt{module spider} + \end{itemize} + \end{column} + + \begin{column}{0.5\textwidth} + \texttt{module avail} + \includegraphics[width=\textwidth]{images/modules.PNG} + + + \end{column} + + \end{columns} + \texttt{module spider nano} \\ + \includegraphics[width=0.7\textwidth]{images/nano.PNG} \\ + \texttt{module load nano}\\ + \vspace{0.3cm} + +\end{frame} + + + \begin{frame}[fragile]{Your own environment (FZJ)} + \begin{enumerate} + \item Clone repo into directory with the \textbf{environment name}: + + \begin{lstlisting}[language=bash] + git clone https://gitlab.version.fz-juelich.de/kesselheim1/sc_venv_template ./my_env + \end{lstlisting} + \item Edit \texttt{modules.sh} and \texttt{requirements.txt}. + \item Create the virtual environment: + \begin{lstlisting}[language=bash] + cd my_env + ./setup.sh + \end{lstlisting} + \item Create the corresponding Jupyter Kernel: + \begin{lstlisting}[language=bash] + ./create_kernel.sh # Might need logout from Jupyter-JSC + \end{lstlisting} + \item Activate environment: \\ + \includegraphics[width=0.5\textwidth]{images/my_env.png} + \end{enumerate} + \end{frame} + + + +\begin{frame}{Supercomputer Usage Model} + \begin{itemize} + \item Using the the supercomputer means submitting a job to a batch system. + \item Job scheduling according to priorities. The jobs with the highest priorities will be scheduled next. + \item FZJ: No node-sharing. The smallest allocation for jobs is one compute node (4 GPUs). + \item FZJ: Compute time allocation is based on compute projects. For every compute job, a compute project pays. + \item KIT (HAICORE): Usage is restricted to a partition of the machines. + \item Only relatively short job runs (24h) are allowed. Please implement checkpointing (or make your code fast enough). + \item Solution for long-running tasks: Job arrays. + \end{itemize} + \vspace{0.5cm} + FZJ: Query Project quotas: \\ + \texttt{jutil project show --project jucha} \\ + \texttt{q\_cpuquota} +\end{frame} + + +\begin{frame}[fragile]{Slurm I: Example submission script} + \begin{lstlisting}[language=bash] +#!/bin/bash +#SBATCH --nodes=1 # How many nodes? +#SBATCH -A hai_training2101 # Who pays for it? +#SBATCH --partition booster # Where does the code run? +#SBATCH --gres gpu # Required for legacy reasons +#SBATCH --time=00:15:00 # How long? +#SBATCH -o output.txt +#SBATCH -e error.txt + +source /p/project/hai_training2101/example_environment/activate.sh +cd /p/project/hai_training2101/${USER} +srun --ntasks-per-node=4 python my_script.py +\end{lstlisting} +\vspace{1cm} +\texttt{sbatch my\_script.sh} +\end{frame} + +\begin{frame}[fragile]{Slurm II: Key commands} +\end{frame} + + + + + +\end{document} diff --git a/02SoftwareStacksJobSubmissions/slides.vrb b/02SoftwareStacksJobSubmissions/slides.vrb new file mode 100644 index 0000000000000000000000000000000000000000..a6d71bf061f8e9f665abd775df8aac2c2a89a3eb --- /dev/null +++ b/02SoftwareStacksJobSubmissions/slides.vrb @@ -0,0 +1 @@ +\frametitle{Slurm II: Key commands} diff --git a/02SoftwareStacksJobSubmissions/theme/beamercolorthemeHelmholtzAI.sty b/02SoftwareStacksJobSubmissions/theme/beamercolorthemeHelmholtzAI.sty new file mode 100644 index 0000000000000000000000000000000000000000..810de62100110008bb8dd9ff392fea56d21b078a --- /dev/null +++ b/02SoftwareStacksJobSubmissions/theme/beamercolorthemeHelmholtzAI.sty @@ -0,0 +1,202 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +\RequirePackage{xcolor} + +% Helmholtz blue +\definecolor{hgfblue}{RGB}{0, 90, 160} +\colorlet{hgfblue10}{hgfblue!10!white} +\colorlet{hgfblue20}{hgfblue!20!white} +\colorlet{hgfblue30}{hgfblue!30!white} +\colorlet{hgfblue40}{hgfblue!40!white} +\colorlet{hgfblue50}{hgfblue!50!white} +\colorlet{hgfblue60}{hgfblue!60!white} +\colorlet{hgfblue70}{hgfblue!70!white} +\colorlet{hgfblue80}{hgfblue!80!white} +\colorlet{hgfblue90}{hgfblue!90!white} + +% Helmholtz darkblue +\definecolor{hgfdarkblue}{RGB}{10, 45, 110} +\colorlet{hgfdarkblue10}{hgfdarkblue!10!white} +\colorlet{hgfdarkblue20}{hgfdarkblue!20!white} +\colorlet{hgfdarkblue30}{hgfdarkblue!30!white} +\colorlet{hgfdarkblue40}{hgfdarkblue!40!white} +\colorlet{hgfdarkblue50}{hgfdarkblue!50!white} +\colorlet{hgfdarkblue60}{hgfdarkblue!60!white} +\colorlet{hgfdarkblue70}{hgfdarkblue!70!white} +\colorlet{hgfdarkblue80}{hgfdarkblue!80!white} +\colorlet{hgfdarkblue90}{hgfdarkblue!90!white} + +% Helmholtz green +\definecolor{hgfgreen}{RGB}{140, 180, 35} +\colorlet{hgfgreen10}{hgfgreen!10!white} +\colorlet{hgfgreen20}{hgfgreen!20!white} +\colorlet{hgfgreen30}{hgfgreen!30!white} +\colorlet{hgfgreen40}{hgfgreen!40!white} +\colorlet{hgfgreen50}{hgfgreen!50!white} +\colorlet{hgfgreen60}{hgfgreen!60!white} +\colorlet{hgfgreen70}{hgfgreen!70!white} +\colorlet{hgfgreen80}{hgfgreen!80!white} +\colorlet{hgfgreen90}{hgfgreen!90!white} + +% Helmholtz gray +\definecolor{hgfgray}{RGB}{90, 105, 110} +\colorlet{hgfgray10}{hgfgray!10!white} +\colorlet{hgfgray20}{hgfgray!20!white} +\colorlet{hgfgray30}{hgfgray!30!white} +\colorlet{hgfgray40}{hgfgray!40!white} +\colorlet{hgfgray50}{hgfgray!50!white} +\colorlet{hgfgray60}{hgfgray!60!white} +\colorlet{hgfgray70}{hgfgray!70!white} +\colorlet{hgfgray80}{hgfgray!80!white} +\colorlet{hgfgray90}{hgfgray!90!white} + +% RF aeronautics, space and transport +\definecolor{hgfaerospace}{RGB}{80, 200, 170} +\definecolor{hgfast}{named}{hgfaerospace} + +\colorlet{hgfaerospace10}{hgfaerospace!10!white} +\colorlet{hgfaerospace20}{hgfaerospace!20!white} +\colorlet{hgfaerospace30}{hgfaerospace!30!white} +\colorlet{hgfaerospace40}{hgfaerospace!40!white} +\colorlet{hgfaerospace50}{hgfaerospace!50!white} +\colorlet{hgfaerospace60}{hgfaerospace!60!white} +\colorlet{hgfaerospace70}{hgfaerospace!70!white} +\colorlet{hgfaerospace80}{hgfaerospace!80!white} +\colorlet{hgfaerospace90}{hgfaerospace!90!white} + +\colorlet{hgfast10}{hgfast!10!white} +\colorlet{hgfast20}{hgfast!20!white} +\colorlet{hgfast30}{hgfast!30!white} +\colorlet{hgfast40}{hgfast!40!white} +\colorlet{hgfast50}{hgfast!50!white} +\colorlet{hgfast60}{hgfast!60!white} +\colorlet{hgfast70}{hgfast!70!white} +\colorlet{hgfast80}{hgfast!80!white} +\colorlet{hgfast90}{hgfast!90!white} + +% RF earth and environment +\definecolor{hgfearthandenvironment}{RGB}{50, 100, 105} +\definecolor{hgfee}{named}{hgfearthandenvironment} + +\colorlet{hgfearthandenvironment10}{hgfearthandenvironment!10!white} +\colorlet{hgfearthandenvironment20}{hgfearthandenvironment!20!white} +\colorlet{hgfearthandenvironment30}{hgfearthandenvironment!30!white} +\colorlet{hgfearthandenvironment40}{hgfearthandenvironment!40!white} +\colorlet{hgfearthandenvironment50}{hgfearthandenvironment!50!white} +\colorlet{hgfearthandenvironment60}{hgfearthandenvironment!60!white} +\colorlet{hgfearthandenvironment70}{hgfearthandenvironment!70!white} +\colorlet{hgfearthandenvironment80}{hgfearthandenvironment!80!white} +\colorlet{hgfearthandenvironment90}{hgfearthandenvironment!90!white} + +\colorlet{hgfee10}{hgfee!10!white} +\colorlet{hgfee20}{hgfee!20!white} +\colorlet{hgfee30}{hgfee!30!white} +\colorlet{hgfee40}{hgfee!40!white} +\colorlet{hgfee50}{hgfee!50!white} +\colorlet{hgfee60}{hgfee!60!white} +\colorlet{hgfee70}{hgfee!70!white} +\colorlet{hgfee80}{hgfee!80!white} +\colorlet{hgfee90}{hgfee!90!white} + +% RF energy +\definecolor{hgfenergy}{RGB}{255, 210, 40} + +\colorlet{hgfenergy10}{hgfenergy!10!white} +\colorlet{hgfenergy20}{hgfenergy!20!white} +\colorlet{hgfenergy30}{hgfenergy!30!white} +\colorlet{hgfenergy40}{hgfenergy!40!white} +\colorlet{hgfenergy50}{hgfenergy!50!white} +\colorlet{hgfenergy60}{hgfenergy!60!white} +\colorlet{hgfenergy70}{hgfenergy!70!white} +\colorlet{hgfenergy80}{hgfenergy!80!white} +\colorlet{hgfenergy90}{hgfenergy!90!white} + +% RF health +\definecolor{hgfhealth}{RGB}{210, 50, 100} + +\colorlet{hgfhealth10}{hgfhealth!10!white} +\colorlet{hgfhealth20}{hgfhealth!20!white} +\colorlet{hgfhealth30}{hgfhealth!30!white} +\colorlet{hgfhealth40}{hgfhealth!40!white} +\colorlet{hgfhealth50}{hgfhealth!50!white} +\colorlet{hgfhealth60}{hgfhealth!60!white} +\colorlet{hgfhealth70}{hgfhealth!70!white} +\colorlet{hgfhealth80}{hgfhealth!80!white} +\colorlet{hgfhealth90}{hgfhealth!90!white} + +% RF key technologies +\definecolor{hgfkeytechnologies}{RGB}{160, 35, 90} +\definecolor{hgfkt}{named}{hgfkeytechnologies} +\definecolor{hgfinformation}{named}{hgfkeytechnologies} + +\colorlet{hgfkeytechnologies10}{hgfkeytechnologies!10!white} +\colorlet{hgfkeytechnologies20}{hgfkeytechnologies!20!white} +\colorlet{hgfkeytechnologies30}{hgfkeytechnologies!30!white} +\colorlet{hgfkeytechnologies40}{hgfkeytechnologies!40!white} +\colorlet{hgfkeytechnologies50}{hgfkeytechnologies!50!white} +\colorlet{hgfkeytechnologies60}{hgfkeytechnologies!60!white} +\colorlet{hgfkeytechnologies70}{hgfkeytechnologies!70!white} +\colorlet{hgfkeytechnologies80}{hgfkeytechnologies!80!white} +\colorlet{hgfkeytechnologies90}{hgfkeytechnologies!90!white} + +\colorlet{hgfkt10}{hgfkt!10!white} +\colorlet{hgfkt20}{hgfkt!20!white} +\colorlet{hgfkt30}{hgfkt!30!white} +\colorlet{hgfkt40}{hgfkt!40!white} +\colorlet{hgfkt50}{hgfkt!50!white} +\colorlet{hgfkt60}{hgfkt!60!white} +\colorlet{hgfkt70}{hgfkt!70!white} +\colorlet{hgfkt80}{hgfkt!80!white} +\colorlet{hgfkt90}{hgfkt!90!white} + +\colorlet{hgfinformation10}{hgfinformation!10!white} +\colorlet{hgfinformation20}{hgfinformation!20!white} +\colorlet{hgfinformation30}{hgfinformation!30!white} +\colorlet{hgfinformation40}{hgfinformation!40!white} +\colorlet{hgfinformation50}{hgfinformation!50!white} +\colorlet{hgfinformation60}{hgfinformation!60!white} +\colorlet{hgfinformation70}{hgfinformation!70!white} +\colorlet{hgfinformation80}{hgfinformation!80!white} +\colorlet{hgfinformation90}{hgfinformation!90!white} + +% RF matter +\definecolor{hgfmatter}{RGB}{240, 120, 30} + +\colorlet{hgfmatter10}{hgfmatter!10!white} +\colorlet{hgfmatter20}{hgfmatter!20!white} +\colorlet{hgfmatter30}{hgfmatter!30!white} +\colorlet{hgfmatter40}{hgfmatter!40!white} +\colorlet{hgfmatter50}{hgfmatter!50!white} +\colorlet{hgfmatter60}{hgfmatter!60!white} +\colorlet{hgfmatter70}{hgfmatter!70!white} +\colorlet{hgfmatter80}{hgfmatter!80!white} +\colorlet{hgfmatter90}{hgfmatter!90!white} + +\mode<presentation> + +% beamer color definitions +\setbeamercolor{structure}{fg=hgfdarkblue, bg=} +\setbeamercolor{palette primary}{use=structure, fg=hgfdarkblue, bg=} + +\setbeamercolor{item}{fg=hgfgreen} +\setbeamercolor{item projected}{fg=hgfgreen} + +\setbeamercolor{enumerate item}{fg=black, bg=} +\setbeamercolor{enumerate subitem}{fg=black, bg=} +\setbeamercolor{enumerate subsubitem}{fg=black, bg=} + +\setbeamercolor{title}{fg=white,bg=} +\setbeamercolor{subtitle}{fg=white,bg=} +\setbeamercolor{author}{fg=white,bg=} +\setbeamercolor{date}{fg=white,bg=} + +\setbeamercolor{block title}{bg=hgfblue80,fg=white} +\setbeamercolor{block body}{bg=hgfblue40} + +\setbeamercolor{block title example}{bg=hgfgray60,fg=white} +\setbeamercolor{block body example}{bg=hgfgray30} + +\setbeamercolor{block title alerted}{bg=hgfinformation80,fg=white} +\setbeamercolor{block body alerted}{bg=hgfinformation40} diff --git a/02SoftwareStacksJobSubmissions/theme/beamerfontthemeHelmholtzAI.sty b/02SoftwareStacksJobSubmissions/theme/beamerfontthemeHelmholtzAI.sty new file mode 100644 index 0000000000000000000000000000000000000000..ae734544a33e5b12093a861dd230ccd4ea97d0fc --- /dev/null +++ b/02SoftwareStacksJobSubmissions/theme/beamerfontthemeHelmholtzAI.sty @@ -0,0 +1,203 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +% font selection +\setmainfont[ + Path=fonts/, + BoldFont=CorporateS-Bold.otf, + ItalicFont=CorporateS-Italic.otf, + BoldItalicFont=CorporateS-Bold-Italic.otf, +]{CorporateS-Regular.otf} +\setsansfont[ + Path=fonts/, + BoldFont=CorporateS-Bold.otf, + ItalicFont=CorporateS-Italic.otf, + BoldItalicFont=CorporateS-Bold-Italic.otf, +]{CorporateS-Regular.otf} +\setmonofont[ + Path=fonts/, + BoldFont=TexGyreCursor-Bold.otf, + ItalicFont=TexGyreCursor-Italic.otf, + BoldItalicFont=TexGyreCursor-Bold-Italic.otf, +]{TexGyreCursor-Regular.otf} + +\newfontfamily\hermannboldfont[Path=fonts/]{Hermann-Bold.otf} +\newcommand{\hermann}[1]{{\hermannboldfont #1}} + +\mode<presentation> + +\setbeamerfont{title}{size*={15pt}{16pt},series=\bfseries} % 32pt, baselineskip 36pt% + +\setbeamerfont{subtitle short}{size*={11pt}{12pt},series=\mdseries} % 30pt, baselineskip 36pt +\setbeamerfont{subtitle long}{size*={9pt}{9pt},series=\mdseries} % 18pt, baselineskip 22pt +\setbeamerfont*{subtitle}{parent=subtitle long} % reset font (*) and use parent font size +\setbeamerfont*{subtitle}{parent=subtitle short} % deault subline style to short UPPERCASE s p a c e d text + +%\setbeamerfont{normal text}{size*={8pt}{9pt}} % 14pt, baselineskip 18pt +\setbeamerfont{footline}{size*={6pt}{7pt}} + +%\setbeamerfont{frametitle}{size*={16pt}{16pt},series=\bfseries} %30pt, baselineskip 36pt +\setbeamerfont{framesubtitle}{size*={10pt}{11pt},series=\mdseries} % 18pt, baselineskip 22pt + +% fonts for special text fields +\setbeamerfont{caption}{size=\small} +\setbeamerfont{caption name}{parent={structure, caption}} + +\setbeamerfont{date}{size*={10pt}{10pt}} + +\setbeamerfont{footline}{parent={tiny structure}} + +\setbeamerfont{headline}{parent={tiny structure}} + +\setbeamerfont{institute}{size=\footnotesize, series=\itshape} +\setbeamerfont{navigation symbols}{size*={7pt}{8pt}} + +\setbeamerfont{section in toc}{parent=structure} +\setbeamerfont{section in toc shaded}{parent=section in toc} + +% items +\setbeamerfont{item}{parent=structure} +\setbeamerfont{subitem}{parent=item} +\setbeamerfont{subsubitem}{parent=subitem} + +\setbeamerfont{item projected}{size=\tiny, parent={item, projected text}} +\setbeamerfont{subitem projected}{parent=item projected} +\setbeamerfont{subsubitem projected}{parent=subitem projected} + +\setbeamerfont{description item}{parent=item} + +\setbeamerfont{enumerate item}{parent=item} +\setbeamerfont{enumerate subitem}{parent=subitem} +\setbeamerfont{enumerate subsubitem}{parent=subsubitem} + +\setbeamerfont{itemize/enumerate body}{} +\setbeamerfont{itemize/enumerate subbody}{size=\small} +\setbeamerfont{itemize/enumerate subsubbody}{size=\footnotesize} + +\setbeamerfont{itemize item}{parent=item} +\setbeamerfont{itemize subitem}{parent=subitem} +\setbeamerfont{itemize subsubitem}{parent=subsubitem} + +\makeatletter + +% automatic spacing and font sizes for long titles +%% define options for letter spacing +\providecommand{\emptydummyb}[1]{} % eats argument of \uppercase() and and \addfontfeature{} +\providecommand{\emptydummya}[2][]{#2}{} % eats optional argument of textls and forwards #2 argument +\providecommand{\addfontfeature}[1]{} % defined only if latex or pdflatex is used +\providecommand{\textls}[2][]{#2}{} % defined only if microtype is loaded + +% new command definitions we will be using later on +\def\beamerhelmholtzai@titleformat#1{#1} +\def\beamerhelmholtzai@subtitleformat#1{#1} +\def\beamerhelmholtzai@partformat#1{#1} +\def\beamerhelmholtzai@frametitleformat#1{#1} + +%% title font size +\pgfkeys{ + /beamerhelmholtzai/font/title/.cd, + .is choice, + .default=regular, + regular/.code={% + \let\beamerhelmholtzai@titleformatcaps\emptydummya% + \let\beamerhelmholtzai@titleformatspacinga\emptydummya% + \let\beamerhelmholtzai@titleformatspacingb\emptydummyb% + }, + allcaps/.code={% + \let\beamerhelmholtzai@titleformatcaps\MakeTextUppercase% + \let\beamerhelmholtzai@titleformatspacinga\emptydummya% + \let\beamerhelmholtzai@titleformatspacingb\emptydummyb% + }, +} + +%% subtitle font size +\pgfkeys{ + /beamerhelmholtzai/font/subtitle/.cd, + .is choice, + .default=allcaps, + regular/.code={% + \let\beamerhelmholtzai@subtitleformatcaps\emptydummya% + \let\beamerhelmholtzai@subtitleformatspacinga\emptydummya% + \let\beamerhelmholtzai@subtitleformatspacingb\emptydummyb% + \setbeamerfont{subtitle long}{size*={9pt}{11pt},series=\bfseries} % 18pt, baselineskip 22pt + }, + allcaps/.code={% + \let\beamerhelmholtzai@subtitleformatcaps\MakeTextUppercase% + \let\beamerhelmholtzai@subtitleformatspacinga\emptydummya% + \let\beamerhelmholtzai@subtitleformatspacingb\emptydummyb% + \setbeamerfont{title}{size*={16pt}{16pt},series=\bfseries} % 30pt, baselineskip 36pt% + }, +} + +%% regular slides +\pgfkeys{ + /beamerhelmholtzai/font/frametitle/.cd, + .is choice, + .default=allcaps, + regular/.code={% + \let\beamerhelmholtzai@frametitleformatcaps\emptydummya% + \let\beamerhelmholtzai@frametitleformatspacinga\emptydummya% + \let\beamerhelmholtzai@frametitleformatspacingb\emptydummyb% + \setbeamerfont{frametitle}{size*={14pt}{18pt},series=\bfseries} % 32pt, baselineskip 36pt% + }, + allcaps/.code={% + \let\beamerhelmholtzai@frametitleformatcaps\MakeTextUppercase% + \let\beamerhelmholtzai@frametitleformatspacinga\emptydummya% + \let\beamerhelmholtzai@frametitleformatspacingb\emptydummyb% + \setbeamerfont{frametitle}{size*={14pt}{18pt},series=\bfseries} % 32pt, baselineskip 36pt% + }, +} + +%% parts +\pgfkeys{ + /beamerhelmholtzai/font/part/.cd, + .is choice, + .default=allcaps, + regular/.code={% + \let\beamerhelmholtzai@partformatcaps\emptydummya% + \let\beamerhelmholtzai@partformatspacinga\emptydummya% + \let\beamerhelmholtzai@partformatspacingb\emptydummyb% + \setbeamerfont{part}{size*={16pt}{18pt},series=\bfseries} % 30pt, baselineskip 36pt% + }, + allcaps/.code={% + \let\beamerhelmholtzai@partformatcaps\MakeTextUppercase% + \let\beamerhelmholtzai@partformatspacinga\emptydummya% + \let\beamerhelmholtzai@partformatspacingb\emptydummyb% + \setbeamerfont{part}{size*={16pt}{18pt},series=\bfseries} % 30pt, baselineskip 36pt% + }, +} + +% redefine beamer title, subtitle, part and frametitle command +\patchcmd{\beamer@title}% + {\def\inserttitle{#2}}% + {\protected\def\inserttitle{{\beamerhelmholtzai@titleformatspacingb{LetterSpace=15.0}\beamerhelmholtzai@titleformatcaps{\beamerhelmholtzai@titleformatspacinga[120]{#2}}}}}% + {}% + {\PackageError{beamerhelmholtzai}{Patching original title failed}\@ehc} +\patchcmd{\beamer@subtitle}% + {\def\insertsubtitle{#2}}% + {\protected\def\insertsubtitle{{\beamerhelmholtzai@subtitleformatspacingb{LetterSpace=15.0}\beamerhelmholtzai@subtitleformatcaps{\beamerhelmholtzai@subtitleformatspacinga[120]{#2}}}}}% + {}% + {\PackageError{beamerhelmholtzai}{Patching original subtitle failed}\@ehc} +\patchcmd{\beamer@part}% + {\def\insertpart{\expandafter\hyperlink\partlink}}% + {\def\insertpart{{\beamerhelmholtzai@partformatspacingb{LetterSpace=15.0}\beamerhelmholtzai@partformatcaps{\beamerhelmholtzai@partformatspacinga[120]{\expandafter\hyperlink\partlink}}}}}% + {}% + {\PackageError{beamerhelmholtzai}{Patching original part failed}\@ehc} +\patchcmd{\beamer@@frametitle} + {{% + \gdef\insertframetitle{{#2\ifnum\beamer@autobreakcount>0\relax{}\space% + \usebeamertemplate*{frametitle continuation}\fi}}% + \gdef\beamer@frametitle{#2}% + \gdef\beamer@shortframetitle{#1}% + }} + {{% + \gdef\insertframetitle{{\beamerhelmholtzai@frametitleformatcaps{#2}\ifnum% + \beamer@autobreakcount>0\relax{}\space% + \usebeamertemplate*{frametitle continuation}\fi}}% + \gdef\beamer@frametitle{#2}% + \gdef\beamer@shortframetitle{#1}% + }} + {} + {\PackageError{beamerhelmholtzai}{Patching original frame title failed}\@ehc} +\makeatother diff --git a/02SoftwareStacksJobSubmissions/theme/beamerinnerthemeHelmholtzAI.sty b/02SoftwareStacksJobSubmissions/theme/beamerinnerthemeHelmholtzAI.sty new file mode 100644 index 0000000000000000000000000000000000000000..b7d908774e16e2c65c5a192f95295663db7f4e79 --- /dev/null +++ b/02SoftwareStacksJobSubmissions/theme/beamerinnerthemeHelmholtzAI.sty @@ -0,0 +1,7 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +\setbeamertemplate{itemize item}{\rule[1pt]{6pt}{6pt}} +\setbeamertemplate{itemize subitem}{\rule[1pt]{4pt}{4pt}} +\setbeamertemplate{itemize subsubitem}{\rule[1pt]{3pt}{3pt}} diff --git a/02SoftwareStacksJobSubmissions/theme/beamerouterthemeHelmholtzAI.sty b/02SoftwareStacksJobSubmissions/theme/beamerouterthemeHelmholtzAI.sty new file mode 100644 index 0000000000000000000000000000000000000000..405e7ce299da28a57809ced18b49e5e9cafa704e --- /dev/null +++ b/02SoftwareStacksJobSubmissions/theme/beamerouterthemeHelmholtzAI.sty @@ -0,0 +1,205 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +% slide geometry +\setbeamersize{% + text margin left=0.8cm, + text margin right=0.8cm, + sidebar width left=0cm, + sidebar width right=0cm, + mini frame size=0cm, + mini frame offset=0cm +} + +% background canvas +%% title +\defbeamertemplate{background canvas}{title}{% + \includegraphics[width=\paperwidth, height=\paperheight]{logos/helmholtzai.jpg} +} + +%% regular +\defbeamertemplate{background canvas}{empty}{} +\pgfkeys{/beamerhgf/outer/.cd, + background canvas/.initial=empty +} + +% HGF slider bars +%% top +\newcommand{\topslider}[1]{% + \begin{tikzpicture}[overlay, remember picture] + \draw [fill=#1, draw=none, rounded corners=2pt] (current page.north east) + [turtle={ + lt, forward=1.1\paperwidth, + lt, forward=.19\paperheight, + lt, forward=.47\paperwidth, + left=45, forward=1.5ex, + right=45, forward=.63\paperwidth, + home + }]; + \end{tikzpicture} +} + +%% bottom +\newcommand{\bottomslider}[1]{% + \begin{tikzpicture}[overlay, remember picture] + \draw [fill=#1, draw=none, rounded corners=2pt] (current page.south east) + [turtle={ + lt, fd=1.1\paperwidth, + rt, fd=0.025\paperheight, + rt, fd=.8375\paperwidth, + lt=45, fd=1.5ex, + rt=45, fd=.25\paperwidth, + home + }]; + \end{tikzpicture} +} + +%% left +\newcommand{\leftslider}[1]{% + \begin{tikzpicture}[overlay, remember picture] + \draw [fill=#1, draw=none, rounded corners=2pt] (current page.south west) + [turtle={ + fd=.05\paperheight, rt, + fd=.15\paperwidth, rt=45, + fd=4.5ex, rt=135, + fd=.15\paperwidth, + home + }]; + \end{tikzpicture} +} + +%% research field +\newcommand{\rfslider}[1]{% + \begin{tikzpicture}[overlay, remember picture] + \draw [fill=#1, draw=none, rounded corners=2pt] (current page.south east) ++ (-.25\paperwidth, .042\paperheight) + [turtle={ + lt, fd=.13\paperwidth, + lt=45, fd=1.5ex, + lt=135, fd=.13\paperwidth, + home + }]; + \end{tikzpicture} +} + +% banner +\newcommand{\banner}{% + \begin{tikzpicture}[overlay, remember picture] + \node[anchor=north west, xshift=0.8cm, yshift=-0.6cm] at (current page.north west) { + \includegraphics[scale=0.45]{logos/helmholtzai_logo_2_lines.eps} + }; + \end{tikzpicture} +} + +% footer logo +\newcommand{\footerlogo}{% + \begin{tikzpicture}[overlay, remember picture] + \node[anchor=south east, xshift=-1.8cm, yshift=0.0cm] at (current page.south east) { + \includegraphics[scale=0.25]{logos/helmholtzai_logo_2_lines_inverted.eps} + }; + \end{tikzpicture} +} + +% url +\newcommand{\helmholtzaiurl}{% + \begin{tikzpicture}[overlay, remember picture] + \node[anchor=south east, text=hgfblue] at (current page.south east) {\tiny www.helmholtz.ai}; + \end{tikzpicture} +} + +% slide layout +%% general +\defbeamertemplate{headline}{empty}{} +\setbeamertemplate{footline}{% + \begin{beamercolorbox}[wd=\paperwidth,ht=2.2cm]{} + \end{beamercolorbox} + \hspace{0.8cm} + \usebeamercolor[fg]{title}\insertauthor\enspace\vrule width0.3pt\enspace\inserttitle% + \vspace{0.06cm} +} +\setbeamertemplate{navigation symbols}{% + \begin{beamercolorbox}[wd=\paperwidth,ht=\dimexpr\paperheight-6pt]{} + \end{beamercolorbox} + \usebeamercolor[fg]{title}\usebeamerfont*{navigation symbols}\insertframenumber/\inserttotalframenumber +} +\setbeamertemplate{section in toc}{% + \inserttocsectionnumber.~\inserttocsection +} + +%% title +\defbeamertemplate{background}{title}{% + \topslider{white} + \banner + \rfslider{hgfgreen} + \bottomslider{white} + \leftslider{hgfdarkblue} + \helmholtzaiurl +} +\defbeamertemplate{title page}{text}{% + \vspace{2.0cm}% + \hspace{0.3cm}% + \usebeamercolor[white]{title}\usebeamerfont*{title}\strut{}\inserttitle\par% + \hspace{0.3cm}% + \usebeamercolor[white]{subtitle}\usebeamerfont{subtitle}\strut{}\insertsubtitle\par% + \vspace{4.3cm}% + \hspace{0.3cm}% + \usebeamercolor[white]{title}\usebeamerfont*{author}\insertauthor\par% + \hspace{0.3cm}% + \usebeamercolor[white]{title}\usebeamerfont*{institute}\insertinstitute\enspace/\enspace\insertdate% +} +\setbeamertemplate{title page}[text] +\pgfkeys{/beamerhelmholtzai/outer/.cd, + footline/.initial=empty, + title page/.initial=text +} + +%% regular slide +\defbeamertemplate{background}{frame}{% + \rfslider{hgfgreen} + \bottomslider{hgfblue} + \footerlogo +} +\setbeamertemplate{background}[frame] + +\defbeamertemplate{frametitle}{frame}{% + \ifx\insertframesubtitle\empty% + \vspace{12pt}% + \strut{}\insertframetitle + \else% + \insertframetitle\par% + \usebeamercolor[hgfblue]{framesubtitle}\usebeamerfont{framesubtitle}\strut{}\insertframesubtitle + \fi% + \par% + \noindent\rule[0.5\baselineskip]{\dimexpr\paperwidth-1.6cm}{0.4pt}% +} +\setbeamertemplate{frametitle}[frame] + +% maketitle definition +\def\maketitle{% +{% + \setbeamertemplate{footline}{} + \setbeamertemplate{navigation symbols}{} + \ifbeamer@inframe% + \titlepage% + % resetting the background does not work for inframe, since empty title theme template cannot be set after \frame{...} here + \else% + \setbeamertemplate{frame number}[invisible]% + \setbeamertemplate{date}[invisible]% + \setbeamertemplate{background canvas}[title]% + \setbeamertemplate{background}[title]% + \setbeamertemplate{title page}[title]% + \frame[t, noframenumbering]{\titlepage}% + \fi% +}% + % reset background to normal slides, does not change selected theme + \setbeamertemplate{background canvas}[empty] +} + +% section slides +\AtBeginSection[]{ + \begin{frame}% + \vspace{4.5cm}% + \hspace{0.3cm}% + \huge\textcolor{hgfdarkblue}{\textbf{\insertsectionhead}}% + \end{frame}% +} diff --git a/02SoftwareStacksJobSubmissions/theme/beamerthemeHelmholtzAI.sty b/02SoftwareStacksJobSubmissions/theme/beamerthemeHelmholtzAI.sty new file mode 100644 index 0000000000000000000000000000000000000000..81a81f1d3cf83a33ae39bc102704328ba3ca83bd --- /dev/null +++ b/02SoftwareStacksJobSubmissions/theme/beamerthemeHelmholtzAI.sty @@ -0,0 +1,61 @@ +%% V0.1 +%% 2020/10/09 +%% by Markus Götz, Björn Hagemeier, James Kahn + +\RequirePackage{booktabs} +\RequirePackage[T1]{fontenc} +\RequirePackage{fontspec} +\RequirePackage{hyperref} +\RequirePackage[utf8x]{inputenc} +\RequirePackage{listings} +\RequirePackage{tikz} + +\usetikzlibrary{ + calc, + turtle, + positioning +} + +\usefonttheme{HelmholtzAI} +\usecolortheme{HelmholtzAI} +\useinnertheme{HelmholtzAI} +\useoutertheme{HelmholtzAI} + +\pgfkeys{/beamerhelmholtzai/.cd, + .search also={ + /beamerhelmholtzai/inner, + /beamerhelmholtzai/outer, + /beamerhelmholtzai/color, + /beamerhelmholtzai/font, + }, + title=regular, + subtitle=regular, + part=regular, + frametitle=regular, +} + +\hypersetup{ + colorlinks=true,% hyperlinks will be coloured + linkcolor=hgfblue, + urlcolor=hgfblue, + citecolor=hgfinformation, + anchorcolor=hgfblue, +} + +\lstset{ + basicstyle=\ttfamily\upshape\small, + breaklines=true, + backgroundcolor=\color{lightgray!20}, + xleftmargin=0.3cm, + framexleftmargin=1em, + keywordstyle=\bfseries\color{hgfblue}, + stringstyle=\color{hgfgreen}, + commentstyle=\itshape\color{hgfinformation}, + deletekeywords={compile}, + escapechar=\&, + escapeinside={<@}{@>} +} + +\newcommand{\source}[1]{% + \tiny\textcolor{hgfgray50}{Source: #1} +} diff --git a/02SoftwareStacksJobSubmissions/theme/texput.log b/02SoftwareStacksJobSubmissions/theme/texput.log new file mode 100644 index 0000000000000000000000000000000000000000..e66e134e81a0dc87e09163c10a58aeca5db1c190 --- /dev/null +++ b/02SoftwareStacksJobSubmissions/theme/texput.log @@ -0,0 +1,21 @@ +This is XeTeX, Version 3.14159265-2.6-0.999991 (TeX Live 2019) (preloaded format=xelatex 2020.9.24) 22 OCT 2020 08:37 +entering extended mode + restricted \write18 enabled. + %&-line parsing enabled. +**beamerfontthemeHelmholtzAI.tex + +! Emergency stop. +<*> beamerfontthemeHelmholtzAI.tex + +*** (job aborted, file error in nonstop mode) + + +Here is how much of TeX's memory you used: + 2 strings out of 492988 + 36 string characters out of 6138132 + 63837 words of memory out of 5000000 + 4148 multiletter control sequences out of 15000+600000 + 3640 words of font info for 14 fonts, out of 8000000 for 9000 + 1328 hyphenation exceptions out of 8191 + 0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,80000s +No pages of output.