Commit cc49132c authored by Matthias Stierle's avatar Matthias Stierle
Browse files

add Template

parent be0bede5
%!TEX TS-program = /usr/texbin/pdflatex
%!GEDIT texbin = /usr/local/texlive/current/bin/x86_64-linux/pdflatex
%
% This template is MIT licensed.
% Basic file to demonstrate the usage of this LaTeX template.
% You can build your own paper/thesis on top of this file.
% Simply adjust the document class and all metadata and start working.
%
\documentclass[
language=english, % set to english or german
type=seminar % set to bachelor, master or seminar
]{isthesis}
% Graphics rendering using TikZ
% See: https://en.wikibooks.org/wiki/LaTeX/PGF/TikZ
\usepackage{tikz}
% Include required TikZ libraries here, some exemplary libraries are pre-included
\usetikzlibrary{calc}
\usetikzlibrary{matrix}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes.geometric}
% Import acronyms
\input{acronyms}
% Import symbols
\input{symbols}
% Document meta information
\isthesis{
title={A \LaTeX \- template for writing theses},
author-firstname={Firstname Middlename},
author-lastname={Lastname},
author-email={student@fau.de},
author-phone={+49 251 8338100}, % Use international numbers format
author-matriculation={123456},
author-address={Lange Gasse 20},
author-zip={90403},
author-city={N\"{u}rnberg},
principal-supervisor={Prof. Dr. Martin Matzner}, % This has to be a professor
associate-supervisor={Firstname Lastname, M.Sc.}, % This is your main supervisor, i.e., a post doc or PhD student
tutor-supervisor={}, % If required, define an additional supervisor resp. tutor here
group={Chair of Digital Industrial Information Systems},
group-institute={Friedrich-Alexander University of Erlangen-Nuremberg},
studies={International Information Systems}, %your field of studies, i.e. Wirtschaftsinformatik or International Information Systems
%associate-group={}, % When the thesis is done in cooperation with another chair, add it here
%associate-group-institute={}, % add cooperating institute or university here
seminar={Scientific Writing for Beginners}, % The title of your seminar
submission-date={2017-02-01}, % The date you handed in your document
%primary-logo={}, % Uses the WWU logo by default
%primary-logo-height={}, % Uses 16mm as default height
%secondary-logo={}, % Logo of the secondary institution (cooperating chair/university), USES Faculty logo by default
%secondary-logo-height={} % Uses 16mm as default height
}
\begin{document}
% Title page
\maketitle
% Quote
% You can put an optional quote page in front of your content
\quotepage[author={Arthur C. Clarke}]{
Any sufficiently advanced technology is indistinguishable from magic.
}
% Table of contents
\tableofcontents
% List of figures (if you have figures)
\listoffigures
% List of tables (if you have tables)
\listoftables
% List of listings (if you have listings)
\lstlistoflistings
% List of abbreviations (if you use acronyms)
\listofabbreviations
% List of symbols (if you use symbols)
\listofsymbols
% Abstract
%
% Comment out this part, if you don't require an abstract
\begin{abstract}
\input{abstract}
\end{abstract}
% Content
\begin{content}
\input{body01}
% Add your content files here
\end{content}
% Appendix
\begin{appendix}
\input{appendix}
\end{appendix}
% References
\references{library}
% Declaration of authorship
% \authorshipstatement[pagenumbering=false]
\authorshipstatement[pagenumbering=true]
% \authorshipstatement[pagenumbering=only]
% Consent form for use of plagiarism detection software
% \consentform[pagenumbering=false]
% \consentform[pagenumbering=true] %TODO: has to be adapted to FAU
% \consentform[pagenumbering=only]
% Bonus: Wordcount
% cd %FOLDER WHERE THE .tex FILES ARE IN %
% clear
% texcount -total -q -col -sum *.tex
\end{document}
\ No newline at end of file
%!TEX TS-program = /usr/texbin/pdflatex
%!GEDIT texbin = /usr/local/texlive/current/bin/x86_64-linux/pdflatex
%
% This template is MIT licensed.
%
% Basic file to demonstrate the usage of this LaTeX template.
% You can build your own paper/thesis on top of this file.
% Simply adjust the document class and all metadata and start working.
%
\documentclass[
language=german, % set to english or german
type=seminar % set to bachelor, master or seminar
]{isthesis}
% Graphics rendering using TikZ
% See: https://en.wikibooks.org/wiki/LaTeX/PGF/TikZ
\usepackage{tikz}
% Include required TikZ libraries here, some exemplary libraries are pre-included
\usetikzlibrary{calc}
\usetikzlibrary{matrix}
\usetikzlibrary{positioning}
\usetikzlibrary{shapes.geometric}
% Import acronyms
\input{acronyms}
% Import symbols
\input{symbols}
% Document meta information
\isthesis{
title={Eine \LaTeX--Vorlage zur Anfertigung wissenschaftlicher Arbeiten},
author-firstname={Vorname Mittelname},
author-lastname={Nachname},
author-email={student@fau.de},
author-phone={+49 251 8338100}, % Use international numbers format
author-matriculation={123456},
author-address={Lange Gasse 20},
author-zip={90403},
author-city={N\"{u}rnberg},
principal-supervisor={Prof. Dr. Martin Matzner}, % This has to be a professor
associate-supervisor={Vorname Nachname, M.Sc.}, % This is your main supervisor, i.e., a post doc or PhD student
tutor-supervisor={}, % If required, define an additional supervisor resp. tutor here
group={Lehrstuhl f\"ur Digital Industrial Service Systems},
group-institute={Friedrich-Alexander-Universit\"at Erlangen-N\"urnberg},
studies={Wirtschaftsinformatik}, %your field of studies, i.e. Wirtschaftsinformatik or Information Systems
%associate-group={}, % When the thesis is done in cooperation with another chair, add it here
%associate-group-institute={}, % add cooperating institute or university here
seminar={Wissenschaftliches Schreiben für Anfänger und Fortgeschrittene}, % The title of your seminar
submission-date={2017-02-01}, % The date you handed in your document
%primary-logo={}, % Uses the WWU logo by default
%primary-logo-height={}, % Uses 16mm as default height
%secondary-logo={}, % Logo of the secondary institution (cooperating chair/university), USES Faculty logo by default
%secondary-logo-height={} % Uses 16mm as default height
}
\begin{document}
% Title page
\maketitle
% Quote
% You can put an optional quote page in front of your content
\quotepage[author={Arthur C. Clarke}]{
Any sufficiently advanced technology is indistinguishable from magic.
}
% Table of contents
\tableofcontents
% List of figures (if you have figures)
\listoffigures
% List of tables (if you have tables)
\listoftables
% List of listings (if you have listings)
\lstlistoflistings
% List of abbreviations (if you use acronyms)
\listofabbreviations
% List of symbols (if you use symbols)
\listofsymbols
% Abstract
%
% Comment out this part, if you don't require an abstract
\begin{abstract}
\input{abstract}
\end{abstract}
% Content
\begin{content}
\input{body01}
% Add your content files here
\end{content}
% Appendix
\begin{appendix}
\input{appendix}
\end{appendix}
% References
\references{library}
% Declaration of authorship
% \authorshipstatement[pagenumbering=false]
\authorshipstatement[pagenumbering=true]
% \authorshipstatement[pagenumbering=only]
% Consent form for use of plagiarism detection software
% \consentform[pagenumbering=false]
%\consentform[pagenumbering=true] %TODO: has to be adapted to FAU
% \consentform[pagenumbering=only]
% Bonus: Wordcount
% cd %FOLDER WHERE THE .tex FILES ARE IN %
% clear
% texcount -total -q -col -sum *.tex
\end{document}
\ No newline at end of file
module.exports = function(grunt) {
grunt.initConfig({
pdflatex: {
options: {
executable: "pdflatex"
},
thesis: {
files: [{
src: "00_thesis.tex"
}]
}
},
watch: {
thesis: {
files: ['*.tex', '*.cls'],
tasks: [
'pdflatex:thesis',
'pdflatex:thesis',
'glossaries:thesis',
'bibtex:thesis',
'pdflatex:thesis',
'pdflatex:thesis',
'wordcount:thesis'
],
options: {
spawn: false,
},
}
},
glossaries: {
options: {
executable: "makeglossaries" /* might have to be changed for your system */
},
thesis: {
files: [{
src: ['*.glo', '*.acn']
}]
}
},
wordcount: {
thesis: {
files: [{
src: '*.tex'
}]
}
},
bibtex: {
options: {
executable: "bibtex"
},
thesis: {
files: [{
src: "00_thesis.aux"
}]
}
}
});
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-tex-pdflatex');
grunt.loadNpmTasks('grunt-tex-glossaries');
grunt.loadNpmTasks('grunt-tex-bibtex');
grunt.loadNpmTasks('grunt-tex-wordcount');
grunt.registerTask('build', [
'pdflatex:thesis',
'pdflatex:thesis',
'glossaries:thesis',
'bibtex:thesis',
'pdflatex:thesis',
'pdflatex:thesis',
'wordcount:thesis'
]);
grunt.registerTask('default', [
'pdflatex:thesis',
'pdflatex:thesis',
'glossaries:thesis',
'bibtex:thesis',
'pdflatex:thesis',
'pdflatex:thesis',
'wordcount:thesis',
'watch:thesis'
]);
};
\ No newline at end of file
The MIT License (MIT)
Original work Copyright (c) 2015 Jan Betzing
Modified work Copyright 2017 Matthias Stierle
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
\ No newline at end of file
\lipsum[1]
\ No newline at end of file
% \newacronym[longplural={<long plural>}, shortplural={<short plural>}]{<label>}{<short>}{<long>}
% label = is the unique identifier and sort key for the acronym, can be the same as <short>
% short = is the abbreviation or acronym
% short plural (optional) = is the plural of the abbreviation or acronym
% long = is the long form of the acronym, this will appear in the list of abbreviations
% long plural (optional) = is the long plural form of the abbreviation or acronym
\newacronym[shortplural={KMUen}, longplural={Kleine und Mittlere Unternehmen}]{kmu}{KMU}{Kleines und Mittleres Unternehmen}
\newacronym{CD}{CD}{Corporate Design}
\newacronym{SQL}{SQL}{Structured Query Language}
\newacronym{FAU}{FAU}{Friedrich-Alexander-Universit\"at Erlangen-N\"urnberg}
\newacronym{BPM}{BPM}{Business Process Management}
\newacronym{npm}{NPM}{Node Package Manager}
\newacronym{WWU}{WWU}{Westf\"alische Wilhelms-Universit\"at}
\ No newline at end of file
\section{Some Appendix Section}\label{sec:appendix01}
Appendices provide only two structural levels, \viz, \texttt{\textbackslash section}, and \texttt{\textbackslash subsection}.
The numbering of figures, listings, tables, and footnotes is not reset. Thus, it continues as usual in the appendix.
\subsection{Some Appendix Subsection}
\lipsum[10]
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
% !TeX spellcheck = en_US
\pagebreak
\section{Business Process Management}
This section establishes a common ground on the area of \ac{BPM} and related topics that are relevant to this thesis. First it touches \ac{BPM} and process modeling with a focus on \ac{BPMN}. Afterwards business process automation and business rules are introduced.
The \ac{BPM} paradigm refrains from a traditional, functional view on the organization. Rather, the organization is viewed on process level, \ie \textit{how} the organization creates and delivers value to a customer \citep[\p{6}]{Davenport1993}. In this sense, a process can be described as \enquote{completely closed, timely and logical sequence of activities which are required to work on a process-oriented business object} \citep[\p{4}]{Becker2003}. Business processes in particular are \enquote{designed to produce a specified output for a particular customer or market} \citep[\p{5}]{Davenport1993}.
\ac{BPM} does not view processes in isolation. From an IT-centric viewpoint, \ac{BPM} refers to process automation endeavors and the management of automated processes with software tools \citep[\p{12}]{Harmon2003}. A broader, holistic \ac{BPM} approach has more facets. \cite{Rosemann2005} identify six core elements of \ac{BPM}, \viz, strategic alignment, governance, methods, information technology, people and culture \citep[see also][]{Rosemann2015}. In this thesis \ac{BPM} is understood as \enquote{planning, steering and control} of organizational processes \citep[\p{5}]{Becker2003}. The IT-centric viewpoint is covered by the term Business Process Automation.
While educational \resp cultural dimensions of \ac{BPM} have only attracted scientific interest recently \citep[\p{531}]{VomBrocke2014a}, a large body of knowledge is available on methods of \ac{BPM}, \esp on process modeling and workflow management, \eg, \cite{Becker2011,Dumas2013,VomBrocke2015,VanderAalst2000}.
\subsection{Process Modeling}
Models are created to depict and understand real word phenomena or theoretical constructs. A model uses some form of abstraction to reduce the complexity of reality \citep[][\pp{15-16}]{Booch1998}. Depending on the purpose of modeling, only a relevant fraction of the original is depicted. Redundant elements can be omitted, important elements can be exaggerated, and additional elements that are not present in the original may be added for clarification purposes. \cite{Booch1998} identify four aims of modeling, namely the visualization of a system's as-is or to-be state, the shaping of a systems structure and behavior, the use as a template for constructing a system and documentation purposes \citep[\pp{16--17}]{Booch1998}.
These aims hold true for process modeling. Process models are used to \enquote{increase awareness and knowledge of business processes, and to deconstruct organizational complexity} \citep[\p{183}]{Recker2010}. They can be used to shape the organization by describing to-be states, thus serving as blueprint for organizational transformation \citep[\p{20}]{Dumas2013}. Organizations spend \enquote{a considerable amount of resources and time} for process modeling endeavors \citep[\p{182}]{Recker2010}.
Conceptual process models encompass at least events, activities, and decisions that make up a control flow logic \citep[\pf{3}]{Dumas2013}. Depending on the modeling language and the purpose, additional elements concerning organizational entities, data objects or key parameters might be added \citep[\p{182}]{Recker2010}. Many different languages and notations to describe business processes have been published with regard to business modeling, \eg, \acp{EPC} or \ac{BPMN}, software engineering aspects, \eg, the \ac{UML}, or automated process execution, \eg, the \ac{BPEL} \citep[\p{46}]{Recker2007}.
Graphical process modeling languages are mainly used as common representational format to codify human knowledge and as visual means for discussion \citep[][\p{76}]{Curtis1992}. On the contrary, mathematical, state based, process modeling languages, \eg Petri nets \citep{Petri1962}, are mainly used as basis for machine-based tasks like model analysis, process mining and process automation \citep[\pf{183}]{Recker2010}.
\ac{BPMN} is a notation standard for business processes that has been first specified in 2004 \citep{Omg2004}. Since then it has become the \enquote{de facto standard for graphical process modeling} \citep[\p{182}]{Recker2010}. In the following, \ac{BPMN} refers to the current specification 2.0, which was released in 2011 \citep{OMG2011}. \ac{BPMN} was designed to create a common ground for both business and IT representatives, \ie, interfacing functional requirements' analysis with process implementation \citep[\p{10}]{Kossak2014}. However, at least the first version of \ac{BPMN} was not designed to be directly executed \citep[\p{7}]{vanDerAalst2010}. Nevertheless, \ac{BPMN} models can be transformed into executable representations. The use of \ac{BPMN} models for process automation has been researched, \eg, by \cite{Decker2010}.
\subsection{Business Process Automation}\label{sec:BPA}
Business process automation, also known as workflow management, bridges the gap between conceptual process modeling and actual process execution. While process models are mainly used for business analysis, workflow models declare explicit business logic, deduced from business activities, the specified control flow and decision rules, allowing for programmatic workflow execution \citep[\p{1}]{VanDerAalst1998}. Business activities, \ie, system-to-system or human-to-system activities, are supported by or exclusively performed by one or more information systems. Consequently, so called \acp{BPMS} orchestrate and facilitate the integration of different application systems. They include a \ac{BPE} \resp workflow engine, which automates a sequence of activities based on a given procedural description \citep[\p{25}]{VanDerAalst1998}. Internally these engines can use token-based semantics to step through control flows, \ie, activities become enabled by one or more (incoming) tokens and after competition enable other activities by (outgoing) tokens \citep[\p{5}]{vanDerAalst2014}. Section \ref{sec:EAI} gives the technical background of \ac{EAI} and process orchestration with regard to the \ac{SOA} paradigm.
Although there is no \enquote{formalization accepted by a standards organization} \citep[\p{8}]{vanDerAalst2010}, \ac{BPMN} can be at least partly transformed to (executable) petri nets \citep[\p{14}]{Kossak2014} or \ac{YAWL} \citep[\p{18}]{vanDerAalst2010}. Therefore \ac{BPMN} can be seen as a hybrid, and, thus, as candidate for execution. Some authors prefer the \ac{YAWL} notation over \ac{BPMN} due to its full support of all 43 control flow workflow patterns \citep{Databases2003} and its sound formal foundation with precisely defined syntax and semantics \citep[\pp{11--14}]{Kossak2014}. Nevertheless, \ac{BPMN} was developed by IT vendors to be an industry standard and is rapidly adopted by organizations \citep[\p{186}]{Recker2010}, while \ac{YAWL} originates from academic research practice. Its industrial adoption and support by industrial \acp{BPMS} is scarce at best \citep{YAWL2014}.
\ac{BPMN} shows support for graphical process modeling and, to some extend, for process automation. Still, \ac{BPMN} is no panacea. On the one hand it is criticized for being \enquote{over-engineered}, \ie, providing too much features that are merely used by practitioners \citep[\p{181}]{Recker2010}. On the other hand, the manifold, unambiguously defined features of \ac{BPMN} strongly increase complexity for building a \ac{BPE} based on \ac{BPMN} \citep[\p{2}]{Balko2015a}. Lastly, \ac{BPMN} lacks expressive power for business rules \citep[\p{192}]{Recker2010}. To make up for this, commercial \acp{BPMS} do not merely rely on \ac{BPMN}, but provide capabilities for dedicated business rule definition, \eg, by allowing to specify decision tables or \ac{ECA} rules.
\subsection{Business Rules Management} \label{sec:ECA}
Business rules represent organizational policies and procedures in a declarative fashion, whereas process models describe business operations in a procedural fashion \citep[\p{690}]{Muehlen2008}. Business rules govern and constrain the execution of business processes, \ie influence the control flow of a process by describing decision rules for choosing specific paths \citep[\p{193}]{Recker2010}. A decision (OR / XOR split) in the control flow of a process model can be expressed as business rule, \eg, if \textit{amount} $ > 5.000 \$ $ do activity $x$ else do activity $y$. \ac{BPMN} furthermore allows to specify conditional events, \ie, timer events, which can also correspond to a business rule, \eg, if an incident is not resolved within $4$ hours, send an e-mail to the supervisor \citep[\p{124}]{Dumas2013}.
\ac{BPMN} and most other process modeling notations at most allow for simple rule definitions, as sketched above. Additionally, users can employ a complex gateway or conditional events in \ac{BPMN}, which somehow reflect business rule decisions. Nevertheless, \ac{BPMN} provides neither formal semantics for rule definition nor support for declaring complex business rules, \eg, in the form of decision tables or decision trees \citep[\p{691}]{Muehlen2008}. Empirical studies by \textsc{Recker} underpin missing support for defining business rules within \ac{BPMN} models, although business users \enquote{have a need to specify business rules in their process models} \citep[\p{192}]{Recker2010}. Researchers addressed this by proposing an integrated modeling of business processes and business rules \citep[\cf][]{Muehlen2008}, by combining \ac{BPMN}-based workflows with \ac{ECA} rules \citep[\cf][]{Dohring2011} or by extending the \ac{BPMN} specification \citep[\cf][\pf{625}]{Krumeich2014}.
Using \ac{BRM} as addition to \ac{BPM} has at least two rationales. First of all, business process models are created at some point in time and remain static until a model change occurs. As businesses are constantly evolving, processes are subject to ongoing change \citep[][\p{48}]{Bry2006}. Mostly this does not result in fundamentally re-engineered processes \citep{Davenport1993}, but in incremental process optimizations. As such the organization's body of process models has to be updated constantly, in order to reflect the way the business work \citep[\p{53}]{Bry2006}. Business rules increase the flexibility of business processes, as they allow to alter process executions without changing the overall process (model). Considering the example given above, if \textit{amount} $> 5.000 \$ $ gets changed to \textit{amount} $> 10.000 \$ $ the process model stays the same -- only the rule is altered \citep[\p{19}]{Gong2009}. The additional flexibility gained serves as enabler for \enquote{tailored service provisioning} \citep[\p{19}]{Gong2009}, as opposed to \enquote{one size fits all} processes.
Secondly, organizations face ever changing business, legal, compliance and customer requirements that have to be adapted in process design and execution \citep[\p{615}]{Krumeich2014}. Business rules are a means of governance, both by documenting decisions and by enforcing constraints \citep[\p{690}]{Muehlen2008}.
\ac{ECA} rules are a generic construct for declaring business rules, which abstracts from a specific implementation \citep[\pf{48}]{Bry2006}. The \textit{event} specifies, \textit{what} has to happen, in order to trigger the specific rule. When a rule is triggered, the \textit{condition} is checked, \ie it is determined if the system is in a particular state. If the condition holds, the \textit{action} will be executed \citep[\pp{239--241}]{Bailey2002}. Actions can change the state of the system and, in turn, trigger other \ac{ECA} rules \citep[\p{619}]{Krumeich2014}.
As hinted before, the control flow of process models can be transformed into \ac{ECA} rules. Eventually, business processes can be composed on the fly by the ongoing evaluation of \ac{ECA} rules \citep[\p{25}]{Gong2009}. This refrains from a hardwired control flow, but bears other limitations \citep[\cf][\pf{60}]{Bry2006}. Section \ref{sec:TransformationECA} shows, how \ac{BPMN} models are transformed into \ac{ECA} rules as intermediate representation for the \ac{SQL}-based executable in-memory \ac{BPE}.
For brevity, other business rule notations (\eg, \ac{BRML} \citep{Grosof1999}) are not discussed here.
\ No newline at end of file
%!TEX root = ./00_thesis.tex
%!GEDIT texmaster = ./00_thesis.tex
\chapter{Introduction}
This \LaTeX \- template has been developed by the \gls{WWU} and adapted by the Chair of Digital Industrial Service Systems at the FAU to match the FAU corporate design. \path{00_thesis.tex} is the master file.
It was originally build by Jan Betzing and Dominik Lekse and draws from the DBIS template by Till Haselmann and Florian Stahl, as well as from the IS template by Stephan Dlugosz. The adaption to FAU was done by Matthias Stierle.
This document is work-in-progress and provides instructions on how to use the template. It does not give advices on scientific writing.
Please feel free to contribute to this template.
\paragraph{TODO}
\begin{itemize}
\item Configuration switch for having \textbackslash chapter\{\} begin on a new page
\item Replace \texttt{kvoptions} with \texttt{pgfkeys}
\end{itemize}
\chapter{Elements}
This chapter gives examples on what you can do with this template. It's just a brief overview. Please consult the common sources on how to write sicentific documents and documents with \LaTeX.
\section{Structure}
This template provides three structural levels that appear in the table of contents, \viz, \texttt{\textbackslash chapter}, \texttt{\textbackslash section}, and \texttt{\textbackslash subsection}. Chapters will always start on a new page. Additionally, you can use \texttt{\textbackslash subsubsection} and \texttt{\textbackslash paragraph} as non-hierarchical means to structure your thesis.
\subsection{Lists}
You can use the default \LaTeX \- functions for writing lists, \viz, \texttt{\textbackslash enumerate} for numbered lists and \texttt{\textbackslash itemize} for bullet point lists. Again, the \texttt{\textbackslash subsubsection} and \texttt{\textbackslash paragraph} can be used as structural elements, \eg, when listing definitions of terms.
\subsection{Footnotes}
Footnotes are contiguously numbered throughout the whole document. Use the \texttt{\textbackslash footnote\{text\}} command. They appear on the page their reference is on \footnote{This is an exemplary footnote.}. Footnotes have to be placed without whitespace behind the word and within the sentence boundaries, \ie, before the period.
\subsection{ToDo-Notes}
You can use ToDo notes using the \texttt{\textbackslash todo\{text\}} command. Please make sure to remove any ToDo notes before handing in your thesis! \todo[inline]{ToDo: Remove me before publishing}
\section{Formatting Text}
\LaTeX \- provides \texttt{\textbackslash textit\{text\}} for \textit{italics}, \texttt{\textbackslash textbf\{text\}} for \textbf{bold face}, \texttt{\textbackslash texttt\{text\}} for \texttt{typewriter}, \texttt{\textbackslash textsc\{text\}} for \textsc{small caps}, \texttt{\textbackslash underline\{text\}} for \underline{underline}. Additionally, the template provides \texttt{\textbackslash texthl\{text\}} for \texthl{highlighted text}. Please remove any highlighted text before handing in your thesis!
Please use the \texttt{\textbackslash enquote\{text\}} command for \enquote{direct quotes}.
\subsection{Colors}
This template comes with the colors defined in the \glspl{CD} of the \acrshort{FAU}. \Tab \ref{tab:colors} lists the color names. You can apply them to text by using the \\ \texttt{\textbackslash textcolor\{color name\}\{text\}} command.
\begin{table}[caption={Colors defined by the template}, label=tab:colors]
\centering
\begin{tabular}{@{}ll@{}}
\toprule
{\bf Color Name} & {\bf Result} \\ \midrule
fau-grey & \textcolor{fau-grey}{Exemplary Text and 0123456789} \\
fau-red & \textcolor{fau-red}{Exemplary Text and 0123456789} \\
fau-blue & \textcolor{fau-blue}{Exemplary Text and 0123456789} \\
fau-cyan & \textcolor{fau-cyan}{Exemplary Text and 0123456789} \\
fau-orange & \textcolor{fau-orange}{Exemplary Text and 0123456789} \\
fau-green & \textcolor{fau-green}{Exemplary Text and 0123456789} \\ \midrule
\end{tabular}
\end{table}
\section{Figures}
The \texttt{figure} environment is wrapped around images. These images should either be included as PDF-file via \texttt{\textbackslash includegraphics}, or created via \textit{TikZ/PGF}. For included images, make sure to use high-resolution images, preferably vector images.
Figures float, \ie, they do not necessarily appear at exact the same position you have defined them. Make sure to set a \textit{caption} and an optional \textit{label} as figure parameters.
\begin{figure}[caption={Relationship of students and theses}, label={fig:img01}]
{ \includegraphics[width=.6\textwidth]{figures/figure01.pdf}}
\end{figure}
\subsection{Subfigures}
Sometimes it might be handy to contrast figures, \ie, by placing them next to each other. The template uses the \textit{subcaption} package to provide subfigures. The following example contains two figures, where each subfigure has its own \texttt{\textbackslash label} and \texttt{\textbackslash caption}. Additionally, the whole figure has its own \textit{caption} and \textit{label}. That means, you can reference subfigures \fig \ref{fig:subfig1} and \fig \ref{fig:subfig}. Only the whole figure will be listed in the table of figures.
Subfigures are not limited to images, but may also include listings or tables. \Fig \ref{fig:subfig} shows a sample database query expressed in \ac{SQL} (\fig \ref{fig:subfig1}) and as query plan in relational algebra (\fig \ref{fig:subfig2}).
\begin{figure}[caption={Exemplary use of subfigures}, label={fig:subfig}]
\begin{subfigure}[b]{.45\textwidth}
\begin{lstlisting}[nolol, language=SQL]
SELECT b, d FROM
EXAMPLE.RELATION1 r,
EXAMPLE.RELATION2 s,
WHERE
r.a = 'c'
AND
s.e = 2
AND
r.c = s.c;
\end{lstlisting}
\caption{\gls{SQL} select statement}\label{fig:subfig1}
\end{subfigure}
\begin{subfigure}[b]{.53\textwidth}
\centering
\begin{tikzpicture}[node distance = 2cm, auto,
database/.style={
cylinder,
cylinder uses custom fill,
cylinder body fill=gray!30,
cylinder end fill=gray!20,
shape border rotate=90,
aspect=0.25,
draw
}]
\node [] (queue) {$\Pi_{b, d}$};
\node [below of=queue] (join) {$\Join_{r.c = s.c}$};
\node [below left of=join,xshift=-1cm] (l1) {$\sigma_{r.a = 'c'}$};
\node [database, below of=l1] (l2) {\texttt{r}};
\node [below right of=join,xshift=1cm] (r1) {$\sigma_{s.e = 2}$};
\node [database,below of=r1] (r2) {\texttt{s}};
\draw [<-] (queue) -- (join);
\draw [<-] (join) -- (r1);
\draw [<-] (r1) -- (r2);
\draw [<-] (join) -- (l1);
\draw [<-] (l1) -- (l2);
\end{tikzpicture}
\caption{Sample evaluation plan}\label{fig:subfig2}
\end{subfigure}
\end{figure}
\section{Listings}
You can use listings to typeset source code. This template uses the \textit{listings} package. Wrap code inside the \texttt{lstlisting} environment and set the \textit{language} (e.g., Java, SQL), \textit{caption}, and optional \textit{label} parameters. If the source code highlighting highlights the wrong keywords or misses keywords, use the \textit{deletekeywords} \resp \textit{morekeywords} parameters. Consult the package documentation for further information.
\begin{lstlisting}[float=htp, caption={Euclid's GCD algorithm implemented in Java}, label={lst:euclid}, language=Java, deletekeywords={}, morekeywords={}]
public class Euclid {
public static int gcd(int p, int q) {
if (q == 0) return p;
else return gcd(q, p % q);
}
}
\end{lstlisting}
\section{Algorithms}
Some users might require specifying algorithms. This template uses the \textit{algorithm}, \textit{algorithmicx}, and \textit{algopseudocode} packages. Consult the respective manuals for further information. Algorithms do not appear in a table at the beginning of the document, \ie, there is no list of algorithms.
\begin{algorithm}[htb]
\begin{algorithmic}
\Require nonnegative integer $a$, nonnegative integer $b$
\Function{Euclid}{$a, b$}
\If {$b = 0$} \Comment{comment}
\State{return $a$;}
\Else
\State {return \textsc{Euclid}$(b, a\mod b)$;}
\EndIf
\EndFunction
\end{algorithmic}
\caption{Euclid's GCD algorithm in pseudocode}
\label{alg:garbage}
\end{algorithm}
\section{Acronyms and Abbreviations}
This template provides comprehensive support for acronyms and abbreviations. The template uses the \textit{glossaries} package.
Please do only define abbreviations and symbols that are uncommon. That means, common abbreviations such as \enquote{\eg} or \enquote{\ie} should not be listed. Abbreviations and symbols are sorted automatically by their label.
\subsection{Common Abbreviations}
Please note that each full stop in a common abbreviation should be followed by a non-breaking space. This template comes with a variety of macros for common abbreviations, that can be used throughout your theses. The macros differ for English and German theses. Please see the tables below.
\begin{table}[caption={Common abbreviation macros for English theses}, label=tab:macros1]
\centering
\begin{tabular}{@{}ll@{}}
\toprule
{\bf Command} & {\bf Result} \\ \midrule
\textbackslash apprx & \apprx \\
\textbackslash as & \as \\
\textbackslash cf & \cf \\
\textbackslash eg & \eg \\
\textbackslash Eg & \Eg \\
\textbackslash esp & \esp \\
\textbackslash etal & \etal \\
\textbackslash fig & \fig \\
\textbackslash Fig & \Fig \\
\textbackslash ie & \ie \\
\textbackslash Ie & \Ie \\
\textbackslash iid & \iid \\
\textbackslash p\{4711\} & \p{4711} \\
\textbackslash pf\{4711\} & \pf{4711} \\
\textbackslash pp\{11$--$47\} & \pp{11--47} \\
\textbackslash resp & \resp \\
\textbackslash sect & \sect \\
\textbackslash tab & \tab \\
\textbackslash Tab & \Tab \\
\textbackslash viz & \viz \\
\textbackslash wrt & \wrt \\ \bottomrule
\end{tabular}
\end{table}