diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..220964c --- /dev/null +++ b/.gitignore @@ -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 diff --git a/.latexmkrc b/.latexmkrc new file mode 100644 index 0000000..d36a08f --- /dev/null +++ b/.latexmkrc @@ -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\"" ); +} diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..39f1cee --- /dev/null +++ b/.travis.yml @@ -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 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5a22f84 --- /dev/null +++ b/Makefile @@ -0,0 +1,31 @@ +# Copyright 2016, Marcel Großmann +# 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 ) ) diff --git a/README.md b/README.md new file mode 100644 index 0000000..9153d43 --- /dev/null +++ b/README.md @@ -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. diff --git a/config/metainfo.tex b/config/metainfo.tex new file mode 100755 index 0000000..374460a --- /dev/null +++ b/config/metainfo.tex @@ -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 diff --git a/packages.txt b/packages.txt new file mode 100644 index 0000000..a0da718 --- /dev/null +++ b/packages.txt @@ -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 diff --git a/presentation.tex b/presentation.tex new file mode 100755 index 0000000..eaee99c --- /dev/null +++ b/presentation.tex @@ -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 +% { +% \frametitle{Outline} +% \tableofcontents[currentsection,hideallsubsections] +% } +%} + +\AtBeginSubsection[] +{ + \frame + { + \frametitle{Outline} + \tableofcontents[sectionstyle=show/hide,subsectionstyle=show/shaded/hide,subsubsectionstyle=hide] + } +} + +\AtBeginSubsubsection[] +{ + \frame + { + \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}