Inhaltsverzeichnis neu auf Seite positionieren

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


Cankar
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 3. Mär 2018, 23:14

Inhaltsverzeichnis neu auf Seite positionieren

Beitrag von Cankar »

Hallo zusammen,

ich schreibe gerade an meiner Facharbeit, und habe dazu ein Deckblatt erstellt. Da die einzelnen Zeilen durch eine Vorgabe bestimmte Abstände haben müssen, habe ich diese durch
\begin{spacing}{8}
erzeugt.
Das Problem ist, dass sich dann mein Inhaltsverzeichnis ebenfalls nach "unten" verschoben hat und nun auf zwei Seiten steht.
Gibt es eine Möglichkeit, das Inhaltsverzeichnis wieder "zurückzusetzen", sodass es wieder eine einzige Seite ausfüllt?
Ich habe schon versucht, dieses Problem durch den mathematischen, negativen Zeilenabstand zu lösen, aber leider erfolglos.

Ich packe euch den bisherigen Quellcode mal unter den Beitrag und würde mich sehr über eure Hilfe freuen :)

Liebe Grüße
Can
\documentclass[12pt,a4paper,oneside]{book}

% packages
\usepackage{mathptmx}
\usepackage[utf8]{inputenc} % Deutsche Umlaute
\usepackage[german]{babel} % Deutsche Silbentrennung
\usepackage{graphicx} % Grafikpaket laden
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{scrpage2}

% Seitenzahl oben zentriert
\clearscrheadfoot
\chead[\pagemark]{\pagemark}
\pagestyle{scrheadings}\pagestyle{plain}

% Ränder
\usepackage[left=3cm,right=2cm,top=4cm,bottom=4cm]{geometry}

% Zeilenabstände
\usepackage[onehalfspacing]{setspace}

% Projekt Infos
\author{Can Karka}
\title{Facharbeit}
\date{03. März 2018}

\begin{document}

% Deckblatt Anfang

% Abbildung
\begin{figure}[h]
\centering
\vspace{4.0cm}
\hspace{2.0cm}
\includegraphics[scale=1, angle=-90.0, width=0.25\textwidth]{5.png}
\label{img:deckblatt-grafik}
\end{figure}

% Text
\begin{spacing}{8}
Thema: Echte Zufallszahlen in der Informatik

Facharbeit im LK Informatik LK1 (Zagorski)
\medspace{\qquad}
\end{spacing}

\begin{spacing}{3}
vorgelegt von Can Karka
\medspace{\qquad}
\medspace{\qquad}
\medspace{\qquad}
\medspace{\qquad}
Q1
\medspace{\qquad}
\medspace{\qquad}
\medspace{\qquad}
Schuljahr 2018
\end{spacing}

% Deckblatt Ende

%Voreinstellungen für Inhaltsverzeichnis

\thispagestyle{empty}
\tableofcontents
\newpage
\pagenumbering{arabic}
\setcounter{page}{3}
\addtocontents{toc}{\protect\thispagestyle{empty}}


% Facharbeit

\newpage
\chapter{Vorwort}

In meiner Facharbeit geht es darum, eine ,,zufällig'' zufällige Zufallszahl zu generieren, da PC's immer nur scheinbare Zufallszahlen liefern können.
\\  
Dazu wird ein Würfel vor einem Raspberry Pi vom Anwender gewürfelt und der Raspberry macht mit einer angebauten Kamera ein Foto vom aktuellen Bild.
Das entstandene Bild wird in einem bestimmten Verzeichnis auf dem Raspberry gespeichert und es wird
automatisch ein zweites Programm gestartet, welches das Bild nach der Augenzahl des Würfels analysiert.
\\
Sobald dies abgeschlossen ist, gibt das Programm die zu sehende Augenzahl als reale
Zufallszahl zurück.
\\


\chapter{Problemstellung}

Als erstes galt es einige Hürden zu überwinden, so zum Beispiel dass überhaupt ein Bild via Code ansprechbar ist,
sprich das man an einem Bild wirklich etwas über Programmzeilen bewirken kann.
Danach war das nächste Problem die Entscheidung, mit welcher "Taktik" man das Programm schreibt.
Zur Auswahl standen eine Library, namens openCV und das darstellen des Bildschirms durch ein 2 dimensionales Array.
Auch in der Hardware gab es einige Voraussetzungen. So muss dem Benutzer ein Raspberry der 2. oder 3. Generation vorliegen.
Dieser Raspberry muss über eine Kamera verfügen und Java und Python müssen lauffähig sein (sollte default mäßig aber der Fall sein).

\chapter{Lösungsansätze}

In diesem Kapitel werden sowohl die möglichen, als auch die benutzten Lösungsansätze beschrieben.
Dabei gehe ich auf die Effizienz, Komfortabilität für den Anwender und den Entwickler, 

\newpage
\section{Mögliche Lösungsansätze}

Ein möglicher Lösungsansatz war, die openSource Bibliothek ,,openCV'' von Intel zu benutzen. Diese Library ermöglicht das tracken von Objekten aus einem Video/Foto. Jedoch gab es auch die Möglichkeit, eine ,,manuelle'' Lösung zu finden. In dieser wird ein 2 dimensionales Array vom Typ Integer erstellt und die RGB-Farbwerte des Bildes werden in diesem gespeichert.

\newpage
\section{Benutzter Lösungsansatz}

Ich habe mich für die manuelle Lösung entschieden, da ich das Programm so unabhängig wie möglich von externen Libraries designen wollte.

\chapter{Raspberry Pi 3}

\newpage
\section{Setup}

\newpage
\section{Kamera Positionierung}

\newpage
\section{Lichtverhältnisse}

\newpage
\section{Vorgang}

\newpage
\section{•}

\chapter{Python Camera Script}



\chapter{Java Programm}

\newpage
\section{Algorithmus}

\newpage
\section{Bilderkennung}

\newpage
\section{Schwierigkeiten}


\chapter{Shell Script}



\chapter{Fazit der Facharbeit}



\chapter{Benutzte Libraries, packages und Quellenangaben}


\chapter{Quellcode, Selbstständigkeitserklärung und Anhang}



\end{document}


Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Lies eine LaTeX-Einführung.

Wie setze ich einen Absatz typographisch korrekt?

Dein Inhaltsverzeichnis wird nach meiner Kenntnis nicht verschoben, sondern passt wegen der Menge der Einträge nicht mehr auf eine Seite.

Kennst Du aufgrund Deines Einsatzes von scrpage2 auch die von KOMA-Script angebotenen Dokumentklassen?

Deine Seitenumbrüche vor den Abschnitten sind ungewöhnlich.

Ich habe mal ein paar Änderungen vorgenommen, die mir beim Lesen aufgefallen sind:
\documentclass[12pt,a4paper,oneside]{book}

% packages
\usepackage{mathptmx}
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel}% <- german durch ngerman ersetzt
\usepackage{graphicx}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{scrlayer-scrpage}% scrpage2 ist veraltet, näheres unter https://ctan.org/pkg/scrpage2
\usepackage{csquotes}% für \enquote
\usepackage{parskip}% für Abstände zwischen den Absätzen

% Seitenzahl oben zentriert
\clearpairofpagestyles
\chead*{\pagemark}
%\pagestyle{scrheadings}\pagestyle{plain}

% Ränder
% Option head wegen scrlayer-scrpage Warnung ergänzt
\usepackage[left=3cm,right=2cm,top=4cm,bottom=4cm,head=17.99445pt,showframe]{geometry}

% Zeilenabstände
\usepackage[onehalfspacing]{setspace}

% Projekt Infos
% \author{Can Karka}
% \title{Facharbeit}
% \date{3. März 2018}

\begin{document}
\begin{titlepage}
\singlespacing
% Deckblatt Anfang
% Abbildung
\vspace*{4.0cm}
{
	\centering
	\includegraphics[
%		scale=1,% Bei diesem Wert verändert sich nichts.
		angle=-90.0, 
		width=0.25\textwidth
	]{example-image}
	\par
}
\vspace{4.0cm}
% Text
\raggedright
Thema: Echte Zufallszahlen in der Informatik\par
\vspace{4cm}
Facharbeit im LK Informatik LK1 (Zagorski)
\end{titlepage}

\raggedright
vorgelegt von Can Karka\hfill Q1\hfill Schuljahr 2018

% Deckblatt Ende

%Voreinstellungen für Inhaltsverzeichnis

\thispagestyle{empty}
\tableofcontents
%\newpage
%\pagenumbering{arabic}
%\setcounter{page}{3}
\addtocontents{toc}{\protect\thispagestyle{empty}}


% Facharbeit

%\newpage
\chapter{Vorwort}

In meiner Facharbeit geht es darum, eine \enquote{zufällig} zufällige Zufallszahl zu generieren, da PC's immer nur scheinbare Zufallszahlen liefern können.

Dazu wird ein Würfel vor einem Raspberry Pi vom Anwender gewürfelt und der Raspberry macht mit einer angebauten Kamera ein Foto vom aktuellen Bild.
Das entstandene Bild wird in einem bestimmten Verzeichnis auf dem Raspberry gespeichert und es wird
automatisch ein zweites Programm gestartet, welches das Bild nach der Augenzahl des Würfels analysiert.

Sobald dies abgeschlossen ist, gibt das Programm die zu sehende Augenzahl als reale
Zufallszahl zurück.

\chapter{Problemstellung}

Als erstes galt es einige Hürden zu überwinden, so zum Beispiel dass überhaupt ein Bild via Code ansprechbar ist,
sprich das man an einem Bild wirklich etwas über Programmzeilen bewirken kann.
Danach war das nächste Problem die Entscheidung, mit welcher "Taktik" man das Programm schreibt.
Zur Auswahl standen eine Library, namens openCV und das darstellen des Bildschirms durch ein 2 dimensionales Array.
Auch in der Hardware gab es einige Voraussetzungen. So muss dem Benutzer ein Raspberry der 2. oder 3. Generation vorliegen.
Dieser Raspberry muss über eine Kamera verfügen und Java und Python müssen lauffähig sein (sollte default mäßig aber der Fall sein).

\chapter{Lösungsansätze}

In diesem Kapitel werden sowohl die möglichen, als auch die benutzten Lösungsansätze beschrieben.
Dabei gehe ich auf die Effizienz, Komfortabilität für den Anwender und den Entwickler, 

\newpage
\section{Mögliche Lösungsansätze}

Ein möglicher Lösungsansatz war, die openSource Bibliothek ,,openCV'' von Intel zu benutzen. Diese Library ermöglicht das tracken von Objekten aus einem Video/Foto. Jedoch gab es auch die Möglichkeit, eine ,,manuelle'' Lösung zu finden. In dieser wird ein 2 dimensionales Array vom Typ Integer erstellt und die RGB-Farbwerte des Bildes werden in diesem gespeichert.

\newpage
\section{Benutzter Lösungsansatz}

Ich habe mich für die manuelle Lösung entschieden, da ich das Programm so unabhängig wie möglich von externen Libraries designen wollte.

\chapter{Raspberry Pi 3}

\newpage
\section{Setup}

\newpage
\section{Kamera Positionierung}

\newpage
\section{Lichtverhältnisse}

\newpage
\section{Vorgang}

\newpage
\section{•}

\chapter{Python Camera Script}

\chapter{Java Programm}

\newpage
\section{Algorithmus}

\newpage
\section{Bilderkennung}

\newpage
\section{Schwierigkeiten}

\chapter{Shell Script}

\chapter{Fazit der Facharbeit}

\chapter{Benutzte Libraries, packages und Quellenangaben}

\chapter{Quellcode, Selbstständigkeitserklärung und Anhang}
\end{document}

Cankar
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 3. Mär 2018, 23:14

Beitrag von Cankar »

Vielen Dank erst einmal, dass du dir die Zeit genommen hast :)

Ich habe das Hauptproblem denke ich gelöst bekommen, da nun zwar immer noch das Inhaltsverzeichnis verschoben ist, aber dieses Mal um eine ganze Seite, da die letzte Zeile des Deckblattes auf einer neuen Seite ist. Ich denke, wenn ich die letzte Zeile des Deckblattes noch auf die Deckblattseite bekomme, dann müsste auch das Inhaltsverzeichnis wieder richtig sein.

Hier nochmal der überarbeitete Quellcode:
\documentclass[12pt,a4paper,oneside]{book}

% packages
\usepackage{mathptmx}
\usepackage[utf8]{inputenc} % Deutsche Umlaute
\usepackage[ngerman]{babel} % Deutsche Silbentrennung
\usepackage{graphicx} % Grafikpaket laden
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{scrlayer-scrpage}
\usepackage{csquotes}
\usepackage{parskip} % für Abstände zwischen den Absätzen

% Seitenzahl oben zentriert
\clearpairofpagestyles
\chead*[\pagemark]{\pagemark}

% Ränder
\usepackage[left=3cm,right=2cm,top=4cm,bottom=4cm, head=17.99445pt]{geometry}

% Zeilenabstände
\usepackage[onehalfspacing]{setspace}

% Projekt Infos
\author{Can Karka}
\title{Facharbeit}
\date{03. März 2018}

\begin{document}

% Deckblatt Anfang

% Abbildung
\begin{titlepage}
\singlespacing
% Deckblatt Anfang
% Abbildung
\vspace*{4.0cm}
{
   \centering
   \includegraphics[
     % scale=1,% Bei diesem Wert verändert sich nichts.
      angle=-90.0,
      width=0.25\textwidth
   ]{5.png}
   \par
}
\vspace{4.0cm}
% Text
\raggedright
Thema: Echte Zufallszahlen in der Informatik\par
\vspace{3.5cm}
Facharbeit im LK Informatik LK1 (Zagorski)
\end{titlepage}

\raggedright
vorgelegt von Can Karka\hfill Q1\hfill Schuljahr 2018 
% Deckblatt Ende

%Voreinstellungen für Inhaltsverzeichnis

\thispagestyle{empty}
\tableofcontents
\setcounter{page}{2}
\addtocontents{toc}{\protect\thispagestyle{empty}}


% Facharbeit

\chapter{Vorwort}

In meiner Facharbeit geht es darum, eine ,,zufällige'' Zufallszahl zu generieren, da PC's immer nur scheinbare Zufallszahlen liefern können.
\\  
Dazu wird ein Würfel vor einem Raspberry Pi vom Anwender gewürfelt und der Raspberry macht mit einer angebauten Kamera ein Foto vom aktuellen Bild.
Das entstandene Bild wird in einem bestimmten Verzeichnis auf dem Raspberry gespeichert und es wird
automatisch ein zweites Programm gestartet, welches das Bild nach der Augenzahl des Würfels analysiert.
\\
Sobald dies abgeschlossen ist, gibt das Programm die zu sehende Augenzahl als reale
Zufallszahl zurück.
\\
Dieser Vorgang wird durch ein Shell-Script gesteuert. Das Shell-Script startet nicht nur automatisch die Programme, sondern es legt auch eine Dokumentation, sprich ein Log, von den Eingaben des Anwenders an.
\\
Dies hilft dem Anwender und dem Entwickler, seine vorherigen Schritte nachzuvollziehen und diese mit aktuellen Programmdurchläufen zu vergleichen.
\\
Die Steuerung durch das Shell-Script nimmt dem Anwender zusätzliche Arbeit ab, da alle Unterprogramme automatisiert ausgeführt werden. Der Anwender muss nur das Shell-Script starten und die Ausgaben der Programme werden automatisch auf die Quelle des Aufrufes umgeleitet.

\chapter{Problemstellung}

Als erstes galt es einige Hürden zu überwinden, so zum Beispiel dass überhaupt ein Bild über Quellcode ansprechbar ist,
sprich das man an einem Bild wirklich etwas über Programmzeilen bewirken kann.
Danach war das nächste Problem die Entscheidung, welchen Algorithmus man im Programm verwendet.
Zur Auswahl standen eine Library, namens openCV und das darstellen des Bildschirms durch ein 2 dimensionales Array.
Auch in der Hardware gab es einige Voraussetzungen. So muss dem Benutzer ein Raspberry der 2. oder 3. Generation vorliegen.
Dieser Raspberry muss über eine Kamera verfügen und Java und Python müssen lauffähig sein (sollte default mäßig aber der Fall sein).

\chapter{Lösungsansätze}

In diesem Kapitel werden sowohl die möglichen, als auch die benutzten Lösungsansätze genau beschrieben.
Dabei gehe ich auf die Effizienz, Komfortabilität für den Anwender und den Entwickler ein.

\section{Mögliche Lösungsansätze}

Ein möglicher Lösungsansatz war, die openSource Bibliothek ,,openCV'' von Intel zu benutzen. Diese Bibliothek ermöglicht das tracken von Objekten aus einem Video/Foto.
\\
Dies findet beispielsweise Anwendung bei Überwachungskamera-Technik, sowohl als private Überwachungskamera Zuhause, als auch bei Autobahnen, für sogenannte ,,Auto-Zähler''.
Diese Zähler sind auch in der Lage, schnell vorbei fahrende Fahrzeuge zu erfassen und zu dokumentieren (z.B. durch Speicherung der Kennzeichen).
\\

Die Anwendung in meiner Facharbeit wäre gewesen, die Punkte auf dem Würfel als Objekt zu deklarieren und diese dann zu tracken. Es wäre dann möglich gewesen, die Anzahl der Tracks zu zählen und so auf die gesuchte Zufallszahl zu kommen. 
\\

Ich habe mich gegen diese Lösung entschieden, weil ich mein Programm zu eigenständig wie möglich halten wollte. Hätte ich diese Bibliothek verwendet, so wäre ich auf den Umfang der Befehle limitiert gewesen.
Dies war also eine reine Design-Entscheidung. Die Performance war für mich nur ein Nebenkriterium, da ich mein Hauptaugenmerk auf die Funktionalität des Programms gerichtet habe.

\section{Benutzter Lösungsansatz}

Mein verwendeter Lösungsansatz besteht darin, den Bildschirm als 2-dimensionales Array zu deklarieren und diesen dann zu analysieren.
Als Erstes wird die Datei, welche vom Python-Camera-Script (s. Kapitel 5) erstellt wurde, als Objekt im Java Programm definiert und somit ,,ansprechbar'' gemacht. Nun ist das Programm in der Lage, das Foto pixelweise zu durchlaufen und die RGB-Farbwerte, sowie eine Bitmap des jeweiligen Pixels zu ermitteln.
\\

Diese werden dann jeweils in einem Array ,,rgb'' und ,,bitmap'' gespeichert.
Dabei enthält das rgb-Array die Farbwerte in einem Bereich von 0-255.
Die jeweilige Pixelfarbe kann bestimmt werden, indem man die Rot, Grün und Blau-Anteile des Pixels
ermittelt, diese dann addiert und mit 3 dividiert, sprich man berechnet den Durchschnitt.
\\
Das bitmap-Array enthält boolische Ausdrücke, dabei steht true für weiß und false für schwarz.
Dieses Array wird auf Grundlage des rgb-Arrays erstellt, es wird eine Grenze definiert und alles über dieser Grenze wird als weiß, alles unter der Grenze als schwarz angesehen. Auf diese Weise kann das Programm nicht nur mit 0 und 255, sprich mit schwarz und weiß, umgehen, sondern auch mit ungenaueren Farbwerten.
\\

Nachdem sowohl die rgb-Farben, als auch die bitmap-Daten korrekt ermittelt wurden, startet ein ,,shrink''-Vorgang. Dieser Vorgang funktioniert ähnlich wie das Spiel ,,Game-of-Life''.
\\
Es wird zunächst nach einem schwarzen Pixel gesucht, danach wird überprüft, ob dieser schwarze Pixel Nachbarn, sprich andere schwarze Pixel, besitzt. Ist dies der Fall, wird der zuvor ausgewählte Pixel weiß gefärbt. Bei diesem Nachbarn handelt es sich um einen boolischen Wert, der nur dann true ist, wenn sowohl links als auch rechts vom Pixel die Nachbarnfarbe schwarz ist. Ist dies nicht der Fall, so wird geschaut, ob auf einer der beiden Seiten ein Nachbar vorhanden ist, trifft dies zu, so wird auch hier der ursprüngliche Pixel weiß gefärbt.
\\

An diesem Punkt bin ich allerdings auf einige Schwierigkeiten gestoßen, da ich dieses Modell zunächst statisch modelliert habe. Die Überprüfung der Nachbarn wurde fälschlicher Weise von bestimmten Koordinaten abhängig gemacht. Dies hatte zunächst bei einer Bildskalierung von 20x20 Pixeln auch funktioniert, als das Bild jedoch, aufgrund von Detail-Verlusten, auf eine höhere Skalierung skaliert wurde, bekam ich falsche Lösungen heraus, weil die Pixel die ich überprüft habe nun nicht mehr gezwungenermaßen meinen Überprüfungen entsprachen. Auch wurden andere Pixel, welche nun schwarz waren nicht überprüft.

Dies hatte zur Folge, dass zu viele schwarze Pixel auf einem ,,Haufen'' vorhanden waren.
Die Lösung bestand darin, die schwarzen Pixelhaufen schrittweise zu verkleinern, bis nur 
noch ein einzelner schwarzer Pixel, pro Pixelhaufen, vorhanden war. Dazu wurde diese Methode von einer weiteren Methode solange aufgerufen, bis nur noch ein Pixel vorhanden ist. Die Methode, welche die Verkleinerung vornimmt, übergibt der aufrufenden Methode die Anzahl der geänderten Pixel. So kann die aufrufende Methode eine Abbruchbedingung ermitteln, nämlich wenn die Anzahl der geänderten Pixel 0 ist, da dann nur noch ein schwarzer Pixel übrig ist. Auf diese Weise ist man in der Lage, die Anzahl der Pixelhaufen dynamisch zu bestimmen.

\section{Gescheiterte Lösungsansätze}



\chapter{Raspberry Pi 3}

\newpage
\section{Setup}

\newpage
\section{Kamera Positionierung}

\newpage
\section{Lichtverhältnisse}

\newpage
\section{Vorgang}

\newpage
\section{•}

\chapter{Python Camera Script}



\chapter{Java Programm}

\newpage
\section{Algorithmus}

\newpage
\section{Bilderkennung}

\newpage
\section{Schwierigkeiten}


\chapter{Shell Script}



\chapter{Fazit der Facharbeit}



\chapter{Benutzte Libraries, packages und Quellenangaben}


\chapter{Quellcode, Selbstständigkeitserklärung und Anhang}



\end{document}
NACHTRAG:
Ich hab total vergessen auf deine Frage einzugehen, sry :shock:
Ich bin heute viel auf das KOMA-Script bei meiner Recherche gestoßen, habe es aber noch nie selbst angewendet, da ich noch ein relativ neuer TeX User bin :)

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Wir haben Deine Bilddatei nicht.

Nach der Anpassung des Deckblattes belegt das Inhaltsverzeichnis immer noch die nächste Seite.
\documentclass[12pt,a4paper,oneside]{book}

% packages
\usepackage{mathptmx}
\usepackage[utf8]{inputenc} 
\usepackage[ngerman]{babel} % <- german durch ngerman ersetzt
\usepackage{graphicx}
\usepackage[T1]{fontenc}
\usepackage{scrlayer-scrpage}% scrpage2 ist veraltet, näheres unter https://ctan.org/pkg/scrpage2
\usepackage{csquotes}% für \enquote
\usepackage{parskip}% für Abstände zwischen den Absätzen

% Seitenzahl oben zentriert
\clearpairofpagestyles
\chead*{\pagemark}
%\pagestyle{scrheadings}\pagestyle{plain}

% Ränder
% Option head wegen scrlayer-scrpage Warnung ergänzt
\usepackage[left=3cm,right=2cm,top=4cm,bottom=4cm,head=17.99445pt,showframe]{geometry}

% Zeilenabstände
\usepackage[onehalfspacing]{setspace}

% Projekt Infos
% \author{Can Karka}
% \title{Facharbeit}
% \date{3. März 2018}

\begin{document}
\begin{titlepage}
\singlespacing
% Deckblatt Anfang
% Abbildung
\vspace*{4.0cm}
{
	\centering
	\includegraphics[
%		scale=1,% Bei diesem Wert verändert sich nichts.
		angle=-90.0, 
		width=0.25\textwidth
	]{example-image}
	\par
}
\vspace{4.0cm}
% Text
Thema: Echte Zufallszahlen in der Informatik\par
\vspace{3.5cm}
Facharbeit im LK Informatik LK1 (Zagorski)
\vfill
vorgelegt von Can Karka\hfill Q1\hfill Schuljahr 2018
\end{titlepage}

% Deckblatt Ende

%Voreinstellungen für Inhaltsverzeichnis

\thispagestyle{empty}
\tableofcontents
%\newpage
%\pagenumbering{arabic}
%\setcounter{page}{3}
\addtocontents{toc}{\protect\thispagestyle{empty}}


% Facharbeit

%\newpage
\chapter{Vorwort}

In meiner Facharbeit geht es darum, eine \enquote{zufällig} zufällige Zufallszahl zu generieren, da PC's immer nur scheinbare Zufallszahlen liefern können.

Dazu wird ein Würfel vor einem Raspberry Pi vom Anwender gewürfelt und der Raspberry macht mit einer angebauten Kamera ein Foto vom aktuellen Bild.
Das entstandene Bild wird in einem bestimmten Verzeichnis auf dem Raspberry gespeichert und es wird
automatisch ein zweites Programm gestartet, welches das Bild nach der Augenzahl des Würfels analysiert.

Sobald dies abgeschlossen ist, gibt das Programm die zu sehende Augenzahl als reale
Zufallszahl zurück.

\chapter{Problemstellung}

Als erstes galt es einige Hürden zu überwinden, so zum Beispiel dass überhaupt ein Bild via Code ansprechbar ist,
sprich das man an einem Bild wirklich etwas über Programmzeilen bewirken kann.
Danach war das nächste Problem die Entscheidung, mit welcher "Taktik" man das Programm schreibt.
Zur Auswahl standen eine Library, namens openCV und das darstellen des Bildschirms durch ein 2 dimensionales Array.
Auch in der Hardware gab es einige Voraussetzungen. So muss dem Benutzer ein Raspberry der 2. oder 3. Generation vorliegen.
Dieser Raspberry muss über eine Kamera verfügen und Java und Python müssen lauffähig sein (sollte default mäßig aber der Fall sein).

\chapter{Lösungsansätze}

In diesem Kapitel werden sowohl die möglichen, als auch die benutzten Lösungsansätze beschrieben.
Dabei gehe ich auf die Effizienz, Komfortabilität für den Anwender und den Entwickler, 

\newpage
\section{Mögliche Lösungsansätze}

Ein möglicher Lösungsansatz war, die openSource Bibliothek ,,openCV'' von Intel zu benutzen. Diese Library ermöglicht das tracken von Objekten aus einem Video/Foto. Jedoch gab es auch die Möglichkeit, eine ,,manuelle'' Lösung zu finden. In dieser wird ein 2 dimensionales Array vom Typ Integer erstellt und die RGB-Farbwerte des Bildes werden in diesem gespeichert.

\newpage
\section{Benutzter Lösungsansatz}

Ich habe mich für die manuelle Lösung entschieden, da ich das Programm so unabhängig wie möglich von externen Libraries designen wollte.

\chapter{Raspberry Pi 3}

\newpage
\section{Setup}

\newpage
\section{Kamera Positionierung}

\newpage
\section{Lichtverhältnisse}

\newpage
\section{Vorgang}

\newpage
\section{•}

\chapter{Python Camera Script}

\chapter{Java Programm}

\newpage
\section{Algorithmus}

\newpage
\section{Bilderkennung}

\newpage
\section{Schwierigkeiten}

\chapter{Shell Script}

\chapter{Fazit der Facharbeit}

\chapter{Benutzte Libraries, packages und Quellenangaben}

\chapter{Quellcode, Selbstständigkeitserklärung und Anhang}
\end{document}
Nachträgliche Änderung des Beispiels: Ich habe \raggedright wegen parskip entfernt.
Zuletzt geändert von Bartman am So 4. Mär 2018, 13:32, insgesamt 1-mal geändert.

Cankar
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 3. Mär 2018, 23:14

Beitrag von Cankar »

Auch das lässt sich leider nicht über
 \vspace{-5em}
lösen.
Gibt es da vielleicht noch irgendeinen Trick?

Liebe Grüße
Can
Dateianhänge
5.png
5.png (4.03 KiB) 2569 mal betrachtet

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2466
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

\newgeometry{bottom=3.9cm}
\tableofcontents
\restoregeometry

Cankar
Forum-Newbie
Forum-Newbie
Beiträge: 4
Registriert: Sa 3. Mär 2018, 23:14

Beitrag von Cankar »

Perfekt, hat alles geklappt!
Vielen lieben Dank für deine Hilfe zu so später Stunde! :)

Liebe Grüße
Can

Antworten