From ca38d8b80e488b57578d7aacf4e269630ab13a2e Mon Sep 17 00:00:00 2001 From: Jali Date: Mon, 20 Apr 2026 23:12:31 +0200 Subject: [PATCH] Add start frame --- .codebook.toml | 1 + LinuxInformationstag.tex | 83 +++++++++++++++ codebook.toml | 5 + images/Tux.png | Bin 0 -> 11913 bytes images/ccchb.png | Bin 0 -> 8091 bytes slides/01.Introduction.tex | 15 +++ wscript | 202 +++++++++++++++++++++++++++++++++++++ 7 files changed, 306 insertions(+) create mode 100644 .codebook.toml create mode 100644 LinuxInformationstag.tex create mode 100644 codebook.toml create mode 100644 images/Tux.png create mode 100644 images/ccchb.png create mode 100644 slides/01.Introduction.tex create mode 100644 wscript diff --git a/.codebook.toml b/.codebook.toml new file mode 100644 index 0000000..ff431ee --- /dev/null +++ b/.codebook.toml @@ -0,0 +1 @@ +words = ["noack"] diff --git a/LinuxInformationstag.tex b/LinuxInformationstag.tex new file mode 100644 index 0000000..a5ce0b8 --- /dev/null +++ b/LinuxInformationstag.tex @@ -0,0 +1,83 @@ +% Title: Linux - Mehr als nur ein Betriebssystem +% Author: Alexander Noack +% Created On: Mon 20 Apr 2026 +% Summary: Presentation for the talk +% Language: de-DE + +%% preamble + +\documentclass{beamer} + +% use special colour tables for pdf output +\ifpdf +\usepackage{pdfcolmk} +\fi + +% change the theme into something more fancy +\usetheme{Warsaw} + +% all our source code is utf-8 +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +% allow the import of images +\usepackage{graphicx} + +% set the language to German +\usepackage[ngerman]{babel} + +% we may need some code examples +\usepackage{verbatim} +\usepackage{listings} + +% alllow quotes in the text +\usepackage[autostyle=true]{csquotes} + +% enable strike through text +\usepackage[normalem]{ulem} + +% we need to use advanced tables +\usepackage{multirow} +\usepackage{booktabs} + +% place a logo +\logo{\includegraphics[scale=0.2]{images/ccchb.png}} + +% we want urls to be clickable +\usepackage{hyperref} + +% redefine the caption source for figures to "Quelle" +\addto\captionsngerman{\renewcommand{\figurename}{Quelle}} + +% create header info +\title{Linux - Mehr als ein Betriebssystem} +\subtitle{Wie eine Software aus Versehen die Welt verändert hat} +\author{Alexander Noack \\ \texttt{jali@orca-central.de}} +\institute{Chaos Computer Club Bremen \- CCCHB e.V.} + +% document starts here +\begin{document} +\begin{frame} + \titlepage +\end{frame} + +% import the slides here +\input{slides/01.Introduction.tex} + +% epilogue +\begin{frame} + \frametitle{Fragen?} + \begin{center} + Fragen? \par + Alexander Noack \texttt{} + \end{center} +\end{frame} + +\begin{frame} + \frametitle{Fragen?} + \begin{center} + \includegraphics[scale=1.0]{images/ccchb.png} + \end{center} +\end{frame} + +\end{document} diff --git a/codebook.toml b/codebook.toml new file mode 100644 index 0000000..c01c488 --- /dev/null +++ b/codebook.toml @@ -0,0 +1,5 @@ +words = [ + "ccchb", + "ngerman", + "noack", +] diff --git a/images/Tux.png b/images/Tux.png new file mode 100644 index 0000000000000000000000000000000000000000..bdc5b1d73e1f860c669819fba0a4c949c93e61b3 GIT binary patch literal 11913 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 literal 0 HcmV?d00001 diff --git a/images/ccchb.png b/images/ccchb.png new file mode 100644 index 0000000000000000000000000000000000000000..092eeac2ddf87d58dbc92f47d3f19ae16002ea7a GIT binary patch literal 8091 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 +% Created On: Mon 20 Apr 2026 +% Summary: Presentation for the talk +% Language: de-DE + +\section{Überblick} +\begin{frame} + \frametitle{Überblick} + \begin{figure} + \centering + \includegraphics[scale=0.2]{images/Tux.png} + \caption{By lewing@isc.tamu.edu Larry Ewing and The GIMP, Attribution, https://commons.wikimedia.org/w/index.php?curid=80930} + \end{figure} +\end{frame} diff --git a/wscript b/wscript new file mode 100644 index 0000000..088f388 --- /dev/null +++ b/wscript @@ -0,0 +1,202 @@ +#!/usr/bin/env python +# encoding: utf-8 +# Created On: Tue 28 Aug 2012 11:44:05 CEST +# Last Modified: Tue 21 Mar 2017 08:40:17 pm CET +# MAKEFILE for compiling LaTeX Files + +VERSION='1.0.0' +APPNAME='MAKEFILE FOR LaTeX' + +top='.' +out='build' +chapterpath='./chapters' + +# query the options that are possible outputs +def options(ctx): + ctx.add_option('--form',action='store',default='pdflatex',help='Specify the output format. Allowed values are: pdflatex, latex, htlatex, oolatex, epub, handlatex') + ctx.add_option('--cover',action='store',help='Specify an image as cover for ePubs.\nOnly works with --form=epub') + ctx.add_option('--infile',action='store',help='Specify the tex file to use as input file.\nIf not given, all files in the top level directory will be compiled.') + ctx.add_option('--spellckpath',action='store',help='Specify the path in which to look for the content files for spellcheck.\nDefault is ./chapters',default=chapterpath); + +# configure script +def configure(ctx): + # local functions to configure the selected element + def find_tex_files(path): + import os + ret = [] + for name in os.listdir(path): + if os.path.isfile(os.path.join(path,name)): + if (name.endswith('.tex')) or (name.endswith('.ltx')): + ret.append(name) + return ret + + def conf_tex(ctx): + ctx.load('tex') + + def conf_htlatex(ctx): + ctx.find_program('mk4ht',var='TEX') + ctx.env.TEXINPUT = ctx.path.abspath() + '//' + + def conf_epub(ctx): + ctx.find_program('mk4ht',var='TEX') + ctx.find_program('ebook-convert',var='EPUB') + ctx.env.TEXINPUT = ctx.path.abspath() + '//' + + def conf_handlatex(ctx): + ctx.find_program('handlatex',var='TEX') + ctx.env.TEXINPUT = ctx.path.abspath() + '//' + + # define a structure to assign the functions to the parameters + conf_output = {'pdflatex' : conf_tex, + 'latex' : conf_tex, + 'htlatex' : conf_htlatex, + 'oolatex' : conf_htlatex, + 'epub' : conf_epub, + 'handlatex' : conf_handlatex + + } + + # set the selected mode + if ctx.options.form: + ctx.env.FORM = ctx.options.form + conf_output[ctx.env.FORM](ctx) + else: + ctx.fatal('Output format is not set!') + + # set a cover image + if ctx.options.cover: + ctx.env.COVER = ctx.options.cover + else: + ctx.env.COVER = '' + + # find the aspell program + ctx.find_program('aspell',var='ASPELL') + + # set a default path to look for spellck sources + if ctx.options.spellckpath: + ctx.env.SPELLCK = ctx.options.spellckpath + + # Set a list of all files to use + if ctx.options.infile: + sf = [] + sf.append(ctx.options.infile) + ctx.env.SOURCEFILES = sf + else: + ctx.env.SOURCEFILES = find_tex_files(top) + + +def build(ctx): + # metadata parameters + def build_metadata(fileName,cover): + ret = '--level1-toc \'//*[@class="title"]\' ' + with open(fileName,'r') as in_file: + count = 0 + for line in in_file: + if '% Author' in line: + ret += ' --authors "' + line.split(':')[1].rstrip().lstrip() +'"' + count += 1 + elif '% Title' in line: + ret += ' --title "' + line.split(':')[1].rstrip().lstrip() + '"' + count += 1 + elif count > 1: + break + in_file.close() + + if cover: + ret += ' --cover "' + cover + '"' + + return ret + + # local functions to control the build process + def build_tex(ctx): + import os + for f in ctx.env.SOURCEFILES: + ctx(features = 'tex', + type = ctx.env.FORM, + source = f, + prompt = 0 + ) + if ctx.cmd == 'install': + outExt = '.dvi' + if ctx.env.FORM == 'pdflatex': + outExt = '.pdf' + fileName, fileExt = os.path.splitext(f) + ctx.install_files('${PREFIX}',fileName + outExt) + + def build_htlatex(ctx): + import os + for f in ctx.env.SOURCEFILES: + fileName, fileExt = os.path.splitext(f) + ctx(rule='TEXINPUTS=${TEXINPUT}: ${TEX} ${FORM} ${SRC} >/dev/null',source=f, target=fileName + '.html') + if ctx.cmd == 'install': + fileName, fileExt = os.path.splitext(f) + ctx.install_files('${PREFIX}',fileName + '.html') + + def build_epub(ctx): + import os + for f in ctx.env.SOURCEFILES: + print(ctx.path.find_resource(ctx.env.COVER)) + if ctx.env.COVER : + ctx.env.META = build_metadata(f,ctx.path.find_resource(ctx.env.COVER).abspath()) + else: + ctx.env.META = build_metadata(f,'') + fileName, fileExt = os.path.splitext(f) + ctx(rule='TEXINPUTS=${TEXINPUT}: ${TEX} htlatex ${SRC} >/dev/null',source=f, target=fileName + '.html') + ctx(rule='${EPUB} ${SRC} ${TGT} ${META}',source=fileName + '.html', target=fileName + '.epub') + if ctx.cmd == 'install': + ctx.install_files('${PREFIX}',fileName + '.epub') + + def build_handlatex(ctx): + import os + for f in ctx.env.SOURCEFILES: + ctx(rule='TEXINPUTS=${TEXINPUT}: ${TEX} ${SRC} >/dev/null && rm -f ../*.h*',source=f) + if ctx.cmd == 'install': + fileName, fileExt = os.path.splitext(f) + ctx.install_files('${PREFIX}',fileName + outExt) + + + # define a structure to assign the functions to the parameters + build_output = {'pdflatex' : build_tex, + 'latex' : build_tex, + 'htlatex' : build_htlatex, + 'oolatex' : build_htlatex, + 'epub' : build_epub, + 'handlatex' : build_handlatex + } + + # call the configured build method + build_output[ctx.env.FORM](ctx) + + +# Custom command to spellcheck all +def spellck(ctx): + + # Search for all possible TEX files + def find_tex_files(path): + import os + ret = [] + for root, dirs, files in os.walk(path): + for name in files: + if (name.endswith('.tex')) or (name.endswith('.ltx')): + ret.append(os.path.join(root,name)) + return ret + + # Set a list of input files to use + if ctx.options.infile: + sf = [] + sf.append(ctx.options.infile) + ctx.env.SOURCEFILES = sf + else : + ctx.env.SOURCEFILES = find_tex_files(ctx.env.SPELLCK) + + # run aspell + from os import system + for f in ctx.env.SOURCEFILES : + system(ctx.env.ASPELL + ' -c ' + f) + system('rm ' + f + '.' +'bak') + +# Class declarartion to bind the build context to the spellck command +from waflib.Build import BuildContext +class spck(BuildContext): + cmd='spellck' + fun='spellck'