Initialized Git Foo presentation

master
clemens 2017-07-26 11:21:22 +02:00
parent 2916d9319d
commit fd2a924dd2
8 changed files with 329 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[Initials]{Author}
\title{Title}
\subtitle{Subtitle}
%The day of the presentation
\date{\today}
%Optional Information
\subject{subject}
\keywords{keywords}
\institute[KTR]{\chair\\ \chairsub}
\titlegraphic{\includegraphics[width=13mm,height=13mm]{image/logo}}
\gittrue
\presentationtrue

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

150
presentation.tex Executable file
View File

@ -0,0 +1,150 @@
%===============================================================================
% 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{english}
\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{Logo}
\begin{frame}{Logo}
\framesubtitle{In Blau}
%#1 Breite
%#2 Datei (liegt im image Verzeichnis)
%#3 Beschriftung
%#4 Label fuer Referenzierung
\image{.25\textwidth}{\meta/config/images/logo.png}{Uni-Logo}{img:logo}
\end{frame}
\section{Git Version}
\begin{frame}{Git Version}\framesubtitle{\gitAbbrevHash}
\begin{itemize}
\item \#: \gitAbbrevHash
\item @: \gitAuthorIsoDate
\item \gitReferences
\end{itemize}
\textbf{Setup}\\
Follow this link to \href{https://www.ctan.org/tex-archive/macros/latex/contrib/gitinfo2}{Gitinfo 2}\\
\textbf{git hooks}\\
To fill watermark at buttom, deploy gitinfo2-hook.txt to githooks: (copy and make executable) or use \texttt{make git}
\begin{itemize}
\item .git/hooks/post-checkout
\item .git/hooks/post-commit
\item .git/hooks/post-merge
\end{itemize}
\textbf{Remove watermark}\\
To disable watermark, remove option \texttt{[mark]} from \textbackslash usepackage[mark]\{gitinfo2\} in \textit{config/commands.tex}.
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%% References %%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{}
\begin{frame}[allowframebreaks]{References}
\def\newblock{\hskip .11em plus .33em minus .07em}
\scriptsize
\bibliographystyle{IEEEtran}
\bibliography{\meta/exampleLiterature/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}