Initialized Git Foo presentation

master
agp8x 2017-08-03 14:58:33 +02:00
parent e74ee56c7d
commit c795e0642a
11 changed files with 390 additions and 0 deletions

27
.gitignore vendored Normal file
View File

@ -0,0 +1,27 @@
*.aux
*.bbl
*.blg
*.idx
*.ilg
*.ind
*.loa
*.lof
*.log
*.lot
*.nav
*.nlo
*.nls
*.out
*.pdf
*.snm
*.synctex.gz
*.toc
*.fls
*.fdb_latexmk
# Stylesheets and classes only in meta directory
*.sty
*.cls
*.bst
*.gin
# Do not initialize twice
.prepared

7
.latexmkrc Normal file
View File

@ -0,0 +1,7 @@
$pdf_mode = 1;
$pdflatex = 'pdflatex --shell-escape -interaction=nonstopmode %O %S -file-line-error -synctex=1';
# Custom dependency and function for nomencl package
add_cus_dep( 'nlo', 'nls', 0, 'makenlo2nls' );
sub makenlo2nls {
system( "makeindex -s nomencl.ist -o \"$_[0].nls\" \"$_[0].nlo\"" );
}

14
.travis.yml Normal file
View File

@ -0,0 +1,14 @@
services:
- docker
script:
- make
- ls -la | grep pdf
deploy:
provider: releases
api_key:
secure: $GITHUB_TOKEN
file: presentation.pdf
skip_cleanup: true
on:
repo: uniba-ktr/PresTeX
tags: true

31
Makefile Normal file
View File

@ -0,0 +1,31 @@
# Copyright 2016, Marcel Großmann <marcel.grossmann@uni-bamberg.de>
# Adjust your base GIT directory relatively to Makefile
base := .
# Internal Variables - Touch & Perish
# Folder to clone TeXMeta to, relatively to $base
meta := $(base)/meta
main := presentation
styles := beamerthemeUniBa169.sty beamerthemeUniBa43.sty
bibtexstyles := IEEEtran.bst
classes := IEEEtran.cls
# TeXMeta location
metaurl := "https://github.com/uniba-ktr/TeXMeta.git"
MAKE_FILE := $(meta)/Makefile
ifeq ($(wildcard $(MAKE_FILE)),)
.DEFAULT_GOAL := gitmodules
else
include $(MAKE_FILE)
endif
# Internal Targets
gitmodules: initialize
@test -d $(meta) || git submodule add $(metaurl) $(meta)
@git submodule update --init $(meta)
@( git add $(meta) && git commit -m "Update meta" ) || true
@make prepare
initialize:
@test -f .prepared || rm -rf .git .gitmodules meta
@test -f .prepared || ( cd $(base) && ( test -d .git || git init ) )

49
README.md Normal file
View File

@ -0,0 +1,49 @@
[![Build Status](https://travis-ci.org/uniba-ktr/PresTeX.svg?branch=master)](https://travis-ci.org/uniba-ktr/PresTeX)
# PresTeX
A LaTeX Beamer template for presentations in English and German.
## Requirements
You need to have **either** a LaTeX installation with [latexmk](https://www.ctan.org/pkg/latexmk?lang=de) **or** [Docker](https://www.docker.com/) running on your PC to be able to build the source code.
## Setup
### Easy Initialization with GNU make
In the `Makefile` you may adjust the `base` variable to setup your git base directory relatively to the cloned directory.
First of all, run `make` to initialize the repository and execute the initial build.
Thereafter, only run `make` in the cloned directory to recreate your `pdf` file.
### Without make
1. Remove the `.git` folder and the `.gitmodules` file to be able to create a new git repository
2. First checkout all necessary submodules with `git submodule init` followed by `git submodule update`
3. Create the directories `graphic`, `code`, `images` and `content`
4. Copy `meta/style/beamerthemeUniBa43.sty`, `meta/style/beamerthemeUniBa169.sty` and `meta/style/IEEEtran.bst` to the root of your cloned directory.
5. For versioning of your PDF files copy `meta/style/gitinfo2-hook.txt` to `.git/hooks/post-checkout`, `.git/hooks/post-commit` and `.git/hooks/post-merge` and make these copies executable.
### Necessary Configurations
1. Edit the `config/metainfo.tex` file to include
* your name and your initials in the `\author[]{}` command,
* the presentation date in `\date{}`,
* the title in `\title{}` and
* the subtitle in `\subtitle{}`.
* Additionally, you may specify subject and keywords for your presentation by providing entries for `subject{}` and `\keywords{}`
2. Modify `\gittrue` to `\gitfalse` in `config/metainfo.tex` to disable git versioning.
3. Edit the `\selectlanguage{}` command in `project.tex` to setup the language you write your submission in. Possible options are
* `ngerman`
* `english`
## Generating the PDF
Use `latexmk` to generate a readable document, or use `make all` of the `Makefile`.
If You use texmaker, set `latexmk` as your default build command
## Cleaning Up
Run `make clean` or `latexmk -C` to remove the generated PDF and all temporary LaTeX files.

18
config/metainfo.tex Executable file
View File

@ -0,0 +1,18 @@
%Meta info
%Necessary Information
\author[C\&F]{Clemens, Franz}
\title{IoT Night}
\subtitle{ESP8266 \& parts}
%The day of the presentation
\date{\today}
%Optional Information
\subject{IoT ESP8266}
\keywords{iot esp8266}
\institute[WIAI]{Fachschaft WIAI}
\titlegraphic{\includegraphics[width=13mm,height=13mm]{image/logo}}
\gittrue
\presentationtrue

9
content/bib.bib Normal file
View File

@ -0,0 +1,9 @@
@misc{pinmap,
url={https://www.roboburada.com/public/assets/ESP8266/pinmap.png}
}
@misc{esp8266,
url={http://www.c-sharpcorner.com/article/blinking-led-by-esp-12e-nodemcu-v3-module-using-arduinoide/}
}
@misc{micropython-doc,
url={https://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/intro.html}
}

BIN
images/esp8266.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 KiB

BIN
images/pinmap.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 KiB

33
packages.txt Normal file
View File

@ -0,0 +1,33 @@
beamer
fourier
menukeys
float
etoolbox
ucs
xstring
eso-pic
doublestroke
units
cancel
wasy
marvosym
wasysym
multirow
todonotes
subfig
caption
pgfplots
moreverb
algorithms
algorithmicx
nomencl
ulem
listings
zapfding
symbol
l3packages
l3kernel
adjustbox
collectbox
relsize
catoptions

202
presentation.tex Executable file
View File

@ -0,0 +1,202 @@
%===============================================================================
% Zweck: KTR-Präsentation-Vorlage
% Erstellt: 15.04.2013
% Update: 04.07.2016
% Autor: M.G.
%===============================================================================
\newcommand\ratio{169}
\documentclass[10pt,aspectratio=\ratio,
%draft,
%handout,
compress
]{beamer}
\newcommand\meta{./meta}
\input{\meta/config/commands}
\def\signed #1{{\leavevmode\unskip\nobreak\hfil\penalty50\hskip2em
\hbox{}\nobreak\hfil(#1)%
\parfillskip=0pt \finalhyphendemerits=0 \endgraf}}
\newsavebox\mybox
\newenvironment{aquote}[1]
{\savebox\mybox{#1}\begin{fancyquotes}}
{\signed{\usebox\mybox}\end{fancyquotes}}
\input{\meta/config/hyphenation}
\setbeamertemplate{caption}[numbered]
%\numberwithin{figure}{section}
\begin{document}
%===============================================================================
% Zum Kompilieren latexmk ausführen.
% Konfiguration in texmaker: Options -> Configure Texmaker -> Quick Build -> Select Latexmk + ViewPD
% Entsprechende Informationen in den config/metainfo verändern
% Zur Auswahl der Sprache im folgenden Befehl
% ngerman für deutsch eintragen, english für Englisch.
%===============================================================================
\selectlanguage{ngerman}
\ifnum\ratio<169
\frame{\titlepage}
\else
\frame[plain]{\titlepage}
\fi
\AtBeginSection[]
{
\frame<handout:0>
{
\frametitle{Outline}
\tableofcontents[currentsection,hideallsubsections]
}
}
%\AtBeginSubsection[]
%{
% \frame<handout:0>
% {
% \frametitle{Outline}
% \tableofcontents[sectionstyle=show/hide,subsectionstyle=show/shaded/hide,subsubsectionstyle=hide]
% }
%}
%
%\AtBeginSubsubsection[]
%{
% \frame<handout:0>
% {
% \frametitle{Outline}
% \tableofcontents[sectionstyle=show/hide,subsectionstyle=show/shaded/hide,subsubsectionstyle=show/shaded/hide]
% }
%}
\newcommand<>{\highlighton}[1]{%
\alt#2{\structure{#1}}{{#1}}
}
\newcommand{\icon}[1]{\pgfimage[height=1em]{#1}}
\section*{}
\phantomsection
\begin{frame}{Content}
\tableofcontents
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% Content starts here %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{ESP8266}
\subsection{Hardware}
\begin{frame}{ESP8266}
\begin{itemize}
\item 80 MHz, 64 kB RAM (Code), 96 kB RAM (Daten)
\item 4 mB
\item Open Source Hardware
\end{itemize}
\image{.6\textwidth}{esp8266}{ESP8266 + NodeMCU v3 \cite{esp8266}}{img:esp}
\end{frame}
\begin{frame}{ESP8266}
\image{.6\textwidth}{pinmap}{ESP8266 Pins \cite{pinmap}}{img:pins}
\end{frame}
\subsection{Software}
\begin{frame}{ESP8266}
\href{http://nodemcu.com/index_en.html}{NodeMCU}
\begin{itemize}
\item Open Source Firmware
\item Lua-Skriptbare Umgebung
\item Ardunio-kompatibel
\item Billige China-Klone :)
\end{itemize}
Cooler: \href{https://micropython.org/}{MicroPython}
\begin{itemize}
\item Basiert auf Python 3
\item Frei \& Open Source
\item Einige Funktionalität eingeschränkt (z.B. Multithreading)
\item Viele Boards unterstützt
\end{itemize}
\end{frame}
\section{Setup}
\subsection{Tools}
\begin{frame}{Tools}
Linux
\begin{itemize}
\item Debian, Gentoo (testing), Arch: esptool picocom
\item \texttt{adduser \$USER dialout}
\end{itemize}
Windows
\begin{itemize}
\item well, your on your own now...
\item \url{https://www.python.org/ftp/python/3.6.2/python-3.6.2-amd64.exe}
\item \texttt{pip install esptool}
\item \url{https://www.chiark.greenend.org.uk/~sgtatham/putty/download.html}
\end{itemize}
\end{frame}
\subsection{Firmware}
\begin{frame}{Firmware}
\begin{itemize}
\item \url{https://micropython.org/download\#esp8266}
\item \texttt{esptool.py --port /dev/ttyUSB0 erase\_flash}
\item \texttt{esptool.py --port /dev/ttyUSB0 --baud 460800 write\_flash --flash\_size=detect 0 esp8266-20170108-v1.8.7.bin}
\item reset
\end{itemize}
\end{frame}
\subsection{REPL}
\begin{frame}{REPL}
\end{frame}
\subsection{Wlan}
\begin{frame}{Wlan}\framesubtitle{Put the I in IoT}
\end{frame}
\subsection{Init}
\subsection{Exkurs: Flask-Server}
\section{Basteln}
\subsection{Blinkende LED}
\begin{frame}{LEDs}
\end{frame}
\subsection{Schalter und Taster}
\subsection{Sensoren}
\subsection{Push}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% References %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{}
\begin{frame}[allowframebreaks]{References}
\def\newblock{\hskip .11em plus .33em minus .07em}
\scriptsize
\bibliographystyle{IEEEtran}
\bibliography{content/bib.bib}
\normalsize
\end{frame}
%% Last frame
\frame{
\vspace{2cm}
{\huge Questions ?}
\vspace{20mm}
\nocite*
\begin{flushright}
Marcel Gro\ss mann
\structure{\footnotesize{\href{mailto:marcel.grossmann@uni-bamberg.de}{marcel.grossmann@uni-bamberg.de}}}
\end{flushright}
}
\end{document}