Lukas Reichwein
5 years ago
16 changed files with 868 additions and 0 deletions
-
1.gitignore
-
1Aufgaben.txt
-
42Code/Joystick/Joystick.ino
-
17Code/libraries/Joystick/Joystick.cpp
-
22Code/libraries/Joystick/Joystick.h
-
7Code/libraries/Joystick/Motor.cpp
-
15Code/libraries/Joystick/Motor.h
-
67Code/libraries/Joystick/Steuerung.cpp
-
25Code/libraries/Joystick/Steuerung.h
-
4Code/libraries/README.MD
-
276Latex/.gitignore
-
BINLatex/images/fish.png
-
BINLatex/main.pdf
-
139Latex/main.tex
-
19Latex/references.bib
-
233Latex/structure.tex
@ -0,0 +1 @@ |
|||||
|
Arduino/libraries/* |
@ -0,0 +1,42 @@ |
|||||
|
#include <Steuerung.h>
|
||||
|
//Informationen Joystick
|
||||
|
Joystick *joystick; |
||||
|
const uint16_t xAxisPin = 5; |
||||
|
const uint16_t yAxisPin = 4; |
||||
|
const int16_t lowestJoystickValue = 0; |
||||
|
const int16_t highestJoystickValue = 511; |
||||
|
const int16_t spaceing = 50; |
||||
|
|
||||
|
//Informationen linker Motor
|
||||
|
Motor *left; |
||||
|
const int16_t lowestPWMValueLeftMotor = -255; |
||||
|
const int16_t highestPWMValueLeftMotor = 255; |
||||
|
|
||||
|
//Informationen rechter Motor
|
||||
|
Motor *right; |
||||
|
const int16_t lowestPWMValueRightMotor = -255; |
||||
|
const int16_t highestPWMValueRightMotor = 255; |
||||
|
|
||||
|
|
||||
|
Steuerung *steuerung; |
||||
|
|
||||
|
void setup() { |
||||
|
joystick = new Joystick(xAxisPin, yAxisPin, lowestJoystickValue, highestJoystickValue, spaceing); |
||||
|
left = new Motor(lowestPWMValueLeftMotor, highestPWMValueLeftMotor); |
||||
|
right = new Motor(lowestPWMValueRightMotor, highestPWMValueRightMotor); |
||||
|
steuerung = new Steuerung(joystick, left, right); |
||||
|
Serial.begin(9600); |
||||
|
} |
||||
|
|
||||
|
void loop() { |
||||
|
steuerung -> updateValues(); |
||||
|
|
||||
|
//DEBUG
|
||||
|
Serial.print("Left motor PWMValue: "); |
||||
|
Serial.println(left -> PWMValue); |
||||
|
Serial.print("Right motor PWMValue: "); |
||||
|
Serial.println(right -> PWMValue); |
||||
|
//SendValues
|
||||
|
delay(500); |
||||
|
|
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
#include "Joystick.h"
|
||||
|
|
||||
|
Joystick::Joystick(uint16_t x_pin, uint16_t y_pin, int16_t lowestValue, int16_t highestValue, uint16_t spaceing) { |
||||
|
this -> x_pin = x_pin; |
||||
|
this -> y_pin = y_pin; |
||||
|
this -> lowestValue = lowestValue; |
||||
|
this -> highestValue = highestValue; |
||||
|
this -> spaceing = spaceing; |
||||
|
} |
||||
|
|
||||
|
void Joystick::checkJoystickInput() { |
||||
|
this -> xAxisReading = analogRead(x_pin); |
||||
|
this -> yAxisReading = analogRead(y_pin); |
||||
|
//9-bit reichen, der ADC schafft bestenfalls 8-bit praezision
|
||||
|
(this -> xAxisReading) = (this -> xAxisReading) >> 1; |
||||
|
(this -> yAxisReading) = (this -> yAxisReading) >> 1; |
||||
|
} |
@ -0,0 +1,22 @@ |
|||||
|
#ifndef __JOYSTICK__ |
||||
|
#define __JOYSTICK__ |
||||
|
|
||||
|
#include "Motor.h" |
||||
|
|
||||
|
class Joystick { |
||||
|
// Pin belegungen |
||||
|
private: |
||||
|
uint16_t x_pin; // Pin Nummer an dem der X-output des Joysticks angebunden ist. |
||||
|
uint16_t y_pin; // Pin Nummer an dem der X-output des Joysticks angebunden ist. |
||||
|
public: |
||||
|
int16_t lowestValue; |
||||
|
int16_t highestValue; |
||||
|
uint16_t spaceing; // Abstand vom mittelpunkt um zappeln zu verhindern. |
||||
|
int16_t xAxisReading; |
||||
|
int16_t yAxisReading; |
||||
|
|
||||
|
public: |
||||
|
Joystick(uint16_t x_pin, uint16_t y_pin, int16_t lowestValue, int16_t highestValue, uint16_t spaceing); |
||||
|
void checkJoystickInput(); |
||||
|
}; |
||||
|
#endif |
@ -0,0 +1,7 @@ |
|||||
|
#include "Motor.h"
|
||||
|
|
||||
|
Motor::Motor(int16_t lowestValue, int16_t highestValue) { |
||||
|
this -> highestValue = highestValue; |
||||
|
this -> lowestValue = lowestValue; |
||||
|
this -> PWMValue = 0; |
||||
|
} |
@ -0,0 +1,15 @@ |
|||||
|
#ifndef __MOTOR__ |
||||
|
#define __MOTOR__ |
||||
|
|
||||
|
#include <Arduino.h> |
||||
|
|
||||
|
class Motor { |
||||
|
public: |
||||
|
int16_t highestValue; |
||||
|
int16_t lowestValue; |
||||
|
int16_t PWMValue; |
||||
|
|
||||
|
public: |
||||
|
Motor(int16_t lowestValue, int16_t highestValue); |
||||
|
}; |
||||
|
#endif |
@ -0,0 +1,67 @@ |
|||||
|
#include "Steuerung.h"
|
||||
|
|
||||
|
Steuerung::Steuerung(Joystick* joystick, Motor* left, Motor* right) { |
||||
|
this -> joystick = joystick; |
||||
|
this -> left = left; |
||||
|
this -> right = right; |
||||
|
} |
||||
|
|
||||
|
void Steuerung::mapReadingsToMatchPWMValues() { |
||||
|
(this -> xValue) = map(joystick -> xAxisReading, joystick -> lowestValue, joystick -> highestValue, left -> lowestValue, left -> highestValue); |
||||
|
(this -> yValue) = map(joystick -> yAxisReading, joystick -> lowestValue, joystick -> highestValue, right -> highestValue, right -> lowestValue); |
||||
|
} |
||||
|
|
||||
|
void Steuerung::applyPWMValuesDependingOnReadings() { |
||||
|
if ((abs(this -> xValue) > (joystick -> spaceing)) || (abs(this -> yValue) > (joystick -> spaceing))) { |
||||
|
if (this -> yValue >= 0) { |
||||
|
if (this -> xValue >= 0) { |
||||
|
//+y , +x
|
||||
|
(left -> PWMValue) = this -> yValue; |
||||
|
(right -> PWMValue) = (this -> yValue) - (this -> xValue); |
||||
|
if ((this -> xValue) >= (this -> yValue)) { |
||||
|
(left -> PWMValue) = 255; |
||||
|
(right -> PWMValue) = -255; |
||||
|
} |
||||
|
} else { |
||||
|
//+y , -x
|
||||
|
(left -> PWMValue) = this -> yValue; |
||||
|
(right -> PWMValue) = (this -> yValue) + (this -> xValue); |
||||
|
if (abs(this -> xValue) >= (this -> yValue)) { |
||||
|
(left -> PWMValue) = -255; |
||||
|
(right -> PWMValue) = 255; |
||||
|
} |
||||
|
} |
||||
|
} else { |
||||
|
if (this -> xValue >= 0) { |
||||
|
//-y , +x
|
||||
|
(left -> PWMValue) = this -> yValue; |
||||
|
(right -> PWMValue) = (this -> yValue) + (this -> xValue); |
||||
|
if (this -> xValue >= abs(this -> yValue)) { |
||||
|
(left -> PWMValue) = 255; |
||||
|
(right -> PWMValue) = -255; |
||||
|
} |
||||
|
} else { |
||||
|
//-y , -x
|
||||
|
(left -> PWMValue) = this -> yValue; |
||||
|
(right -> PWMValue) = (this -> yValue) - (this -> xValue); |
||||
|
if (abs(this -> xValue) >= abs(this -> yValue)) { |
||||
|
(left -> PWMValue) = -255; |
||||
|
(right -> PWMValue) = 255; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
if (abs(this -> xValue) < (joystick -> spaceing)) { |
||||
|
(left -> PWMValue) = this -> yValue; |
||||
|
(right -> PWMValue) = this -> yValue; |
||||
|
} |
||||
|
} else { |
||||
|
(left -> PWMValue) = 0; |
||||
|
(right -> PWMValue) = 0; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
void Steuerung::updateValues() { |
||||
|
joystick -> checkJoystickInput(); |
||||
|
mapReadingsToMatchPWMValues(); |
||||
|
applyPWMValuesDependingOnReadings(); |
||||
|
} |
@ -0,0 +1,25 @@ |
|||||
|
#ifndef __STEUERUNG__ |
||||
|
#define __STEUERUNG__ |
||||
|
|
||||
|
#include "Motor.h" |
||||
|
#include "Joystick.h" |
||||
|
|
||||
|
class Steuerung { |
||||
|
private: |
||||
|
Joystick* joystick; |
||||
|
Motor* left; |
||||
|
Motor* right; |
||||
|
int16_t xValue; |
||||
|
int16_t yValue; |
||||
|
|
||||
|
public: |
||||
|
Steuerung(Joystick* joystick, Motor* left, Motor* right); |
||||
|
void updateValues(); |
||||
|
|
||||
|
private: |
||||
|
void mapReadingsToMatchPWMValues(); |
||||
|
void applyPWMValuesDependingOnReadings(); |
||||
|
|
||||
|
|
||||
|
}; |
||||
|
#endif |
@ -0,0 +1,4 @@ |
|||||
|
Im Ordner libraries befindet sich die Joystick librarie, |
||||
|
welche in den Ordner ...Arduino/libraries verschoben werden muss. |
||||
|
Die Joystick.ino enthält eine beispielhafte verwendung der lib, |
||||
|
sie kann mittels Arduino IDE Compiliert und auf den Arduino geuploaded werden. |
@ -0,0 +1,276 @@ |
|||||
|
## Core latex/pdflatex auxiliary files: |
||||
|
*.aux |
||||
|
*.lof |
||||
|
*.log |
||||
|
*.lot |
||||
|
*.fls |
||||
|
*.out |
||||
|
*.toc |
||||
|
*.fmt |
||||
|
*.fot |
||||
|
*.cb |
||||
|
*.cb2 |
||||
|
.*.lb |
||||
|
|
||||
|
## Intermediate documents: |
||||
|
*.dvi |
||||
|
*.xdv |
||||
|
*-converted-to.* |
||||
|
# these rules might exclude image files for figures etc. |
||||
|
# *.ps |
||||
|
# *.eps |
||||
|
# *.pdf |
||||
|
|
||||
|
## Generated if empty string is given at "Please type another file name for output:" |
||||
|
.pdf |
||||
|
|
||||
|
## Bibliography auxiliary files (bibtex/biblatex/biber): |
||||
|
*.bbl |
||||
|
*.bcf |
||||
|
*.blg |
||||
|
*-blx.aux |
||||
|
*-blx.bib |
||||
|
*.run.xml |
||||
|
|
||||
|
## Build tool auxiliary files: |
||||
|
*.fdb_latexmk |
||||
|
*.synctex |
||||
|
*.synctex(busy) |
||||
|
*.synctex.gz |
||||
|
*.synctex.gz(busy) |
||||
|
*.pdfsync |
||||
|
|
||||
|
## Build tool directories for auxiliary files |
||||
|
# latexrun |
||||
|
latex.out/ |
||||
|
|
||||
|
## Auxiliary and intermediate files from other packages: |
||||
|
# algorithms |
||||
|
*.alg |
||||
|
*.loa |
||||
|
|
||||
|
# achemso |
||||
|
acs-*.bib |
||||
|
|
||||
|
# amsthm |
||||
|
*.thm |
||||
|
|
||||
|
# beamer |
||||
|
*.nav |
||||
|
*.pre |
||||
|
*.snm |
||||
|
*.vrb |
||||
|
|
||||
|
# changes |
||||
|
*.soc |
||||
|
|
||||
|
# comment |
||||
|
*.cut |
||||
|
|
||||
|
# cprotect |
||||
|
*.cpt |
||||
|
|
||||
|
# elsarticle (documentclass of Elsevier journals) |
||||
|
*.spl |
||||
|
|
||||
|
# endnotes |
||||
|
*.ent |
||||
|
|
||||
|
# fixme |
||||
|
*.lox |
||||
|
|
||||
|
# feynmf/feynmp |
||||
|
*.mf |
||||
|
*.mp |
||||
|
*.t[1-9] |
||||
|
*.t[1-9][0-9] |
||||
|
*.tfm |
||||
|
|
||||
|
#(r)(e)ledmac/(r)(e)ledpar |
||||
|
*.end |
||||
|
*.?end |
||||
|
*.[1-9] |
||||
|
*.[1-9][0-9] |
||||
|
*.[1-9][0-9][0-9] |
||||
|
*.[1-9]R |
||||
|
*.[1-9][0-9]R |
||||
|
*.[1-9][0-9][0-9]R |
||||
|
*.eledsec[1-9] |
||||
|
*.eledsec[1-9]R |
||||
|
*.eledsec[1-9][0-9] |
||||
|
*.eledsec[1-9][0-9]R |
||||
|
*.eledsec[1-9][0-9][0-9] |
||||
|
*.eledsec[1-9][0-9][0-9]R |
||||
|
|
||||
|
# glossaries |
||||
|
*.acn |
||||
|
*.acr |
||||
|
*.glg |
||||
|
*.glo |
||||
|
*.gls |
||||
|
*.glsdefs |
||||
|
*.lzo |
||||
|
*.lzs |
||||
|
|
||||
|
# uncomment this for glossaries-extra (will ignore makeindex's style files!) |
||||
|
# *.ist |
||||
|
|
||||
|
# gnuplottex |
||||
|
*-gnuplottex-* |
||||
|
|
||||
|
# gregoriotex |
||||
|
*.gaux |
||||
|
*.gtex |
||||
|
|
||||
|
# htlatex |
||||
|
*.4ct |
||||
|
*.4tc |
||||
|
*.idv |
||||
|
*.lg |
||||
|
*.trc |
||||
|
*.xref |
||||
|
|
||||
|
# hyperref |
||||
|
*.brf |
||||
|
|
||||
|
# knitr |
||||
|
*-concordance.tex |
||||
|
# TODO Comment the next line if you want to keep your tikz graphics files |
||||
|
*.tikz |
||||
|
*-tikzDictionary |
||||
|
|
||||
|
# listings |
||||
|
*.lol |
||||
|
|
||||
|
# luatexja-ruby |
||||
|
*.ltjruby |
||||
|
|
||||
|
# makeidx |
||||
|
*.idx |
||||
|
*.ilg |
||||
|
*.ind |
||||
|
|
||||
|
# minitoc |
||||
|
*.maf |
||||
|
*.mlf |
||||
|
*.mlt |
||||
|
*.mtc[0-9]* |
||||
|
*.slf[0-9]* |
||||
|
*.slt[0-9]* |
||||
|
*.stc[0-9]* |
||||
|
|
||||
|
# minted |
||||
|
_minted* |
||||
|
*.pyg |
||||
|
|
||||
|
# morewrites |
||||
|
*.mw |
||||
|
|
||||
|
# nomencl |
||||
|
*.nlg |
||||
|
*.nlo |
||||
|
*.nls |
||||
|
|
||||
|
# pax |
||||
|
*.pax |
||||
|
|
||||
|
# pdfpcnotes |
||||
|
*.pdfpc |
||||
|
|
||||
|
# sagetex |
||||
|
*.sagetex.sage |
||||
|
*.sagetex.py |
||||
|
*.sagetex.scmd |
||||
|
|
||||
|
# scrwfile |
||||
|
*.wrt |
||||
|
|
||||
|
# sympy |
||||
|
*.sout |
||||
|
*.sympy |
||||
|
sympy-plots-for-*.tex/ |
||||
|
|
||||
|
# pdfcomment |
||||
|
*.upa |
||||
|
*.upb |
||||
|
|
||||
|
# pythontex |
||||
|
*.pytxcode |
||||
|
pythontex-files-*/ |
||||
|
|
||||
|
# tcolorbox |
||||
|
*.listing |
||||
|
|
||||
|
# thmtools |
||||
|
*.loe |
||||
|
|
||||
|
# TikZ & PGF |
||||
|
*.dpth |
||||
|
*.md5 |
||||
|
*.auxlock |
||||
|
|
||||
|
# todonotes |
||||
|
*.tdo |
||||
|
|
||||
|
# vhistory |
||||
|
*.hst |
||||
|
*.ver |
||||
|
|
||||
|
# easy-todo |
||||
|
*.lod |
||||
|
|
||||
|
# xcolor |
||||
|
*.xcp |
||||
|
|
||||
|
# xmpincl |
||||
|
*.xmpi |
||||
|
|
||||
|
# xindy |
||||
|
*.xdy |
||||
|
|
||||
|
# xypic precompiled matrices and outlines |
||||
|
*.xyc |
||||
|
*.xyd |
||||
|
|
||||
|
# endfloat |
||||
|
*.ttt |
||||
|
*.fff |
||||
|
|
||||
|
# Latexian |
||||
|
TSWLatexianTemp* |
||||
|
|
||||
|
## Editors: |
||||
|
# WinEdt |
||||
|
*.bak |
||||
|
*.sav |
||||
|
|
||||
|
# Texpad |
||||
|
.texpadtmp |
||||
|
|
||||
|
# LyX |
||||
|
*.lyx~ |
||||
|
|
||||
|
# Kile |
||||
|
*.backup |
||||
|
|
||||
|
# gummi |
||||
|
.*.swp |
||||
|
|
||||
|
# KBibTeX |
||||
|
*~[0-9]* |
||||
|
|
||||
|
# TeXnicCenter |
||||
|
*.tps |
||||
|
|
||||
|
# auto folder when using emacs and auctex |
||||
|
./auto/* |
||||
|
*.el |
||||
|
|
||||
|
# expex forward references with \gathertags |
||||
|
*-tags.tex |
||||
|
|
||||
|
# standalone packages |
||||
|
*.sta |
||||
|
|
||||
|
# Makeindex log files |
||||
|
*.lpz |
After Width: 211 | Height: 158 | Size: 15 KiB |
@ -0,0 +1,139 @@ |
|||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||||
|
% Lachaise Assignment |
||||
|
% LaTeX Template |
||||
|
% Version 1.0 (26/6/2018) |
||||
|
% |
||||
|
% This template originates from: |
||||
|
% http://www.LaTeXTemplates.com |
||||
|
% |
||||
|
% Authors: |
||||
|
% Marion Lachaise & François Févotte |
||||
|
% Vel (vel@LaTeXTemplates.com) |
||||
|
% |
||||
|
% License: |
||||
|
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/) |
||||
|
% |
||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\documentclass{article} |
||||
|
|
||||
|
\input{structure.tex} % Include the file specifying the document structure and custom commands |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% INFORMATION |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\title{Open Source Roboter Plattform} % Title |
||||
|
|
||||
|
\author{Lukas Reichwein\\ Yves Ehrlich\\ Nick Gnoevoj} |
||||
|
|
||||
|
\date{University of Applied Science Fulda --- \today} % University, school and/or department name(s) and a date |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\begin{document} |
||||
|
|
||||
|
\maketitle % Print the title |
||||
|
\tableofcontents % Inhaltsverzeichniss, Achtung zweimal Compilerien! |
||||
|
\newpage |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% INTRODUCTION |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\section*{Vorwort} % Unnumbered section |
||||
|
|
||||
|
Motivation, Basis, Ziel des Projektes. |
||||
|
|
||||
|
\newpage |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% Latex Beispeiele |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
\section{Beispiele für Spezielle LaTeX Strukturen} |
||||
|
|
||||
|
\begin{info} % Information block |
||||
|
benutze den Info block um wichtige informationen hervorzuheben. |
||||
|
\end{info} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% Beispiel für Pseudo Code. |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\begin{center} |
||||
|
\begin{minipage}{0.5\linewidth} % Adjust the minipage width to accomodate for the length of algorithm lines |
||||
|
\begin{algorithm}[H] |
||||
|
\KwIn{$(a, b)$, two floating-point numbers} % Algorithm inputs |
||||
|
\KwResult{$(c, d)$, such that $a+b = c + d$} % Algorithm outputs/results |
||||
|
\medskip |
||||
|
\If{$\vert b\vert > \vert a\vert$}{ |
||||
|
exchange $a$ and $b$ \; |
||||
|
} |
||||
|
$c \leftarrow a + b$ \; |
||||
|
$z \leftarrow c - a$ \; |
||||
|
$d \leftarrow b - z$ \; |
||||
|
{\bf return} $(c,d)$ \; |
||||
|
\caption{\texttt{FastTwoSum}} % Algorithm name |
||||
|
\label{alg:fastTwoSum} % optional label to refer to |
||||
|
\end{algorithm} |
||||
|
\end{minipage} |
||||
|
\end{center} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% Beispiel für Code Snippets. |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
% File contents |
||||
|
\begin{file}[hello.py] |
||||
|
\begin{lstlisting}[language=Python] |
||||
|
#! /usr/bin/python |
||||
|
|
||||
|
import sys |
||||
|
sys.stdout.write("Hello World!\n") |
||||
|
\end{lstlisting} |
||||
|
\end{file} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% Example for Console Prints (can also be usefull for displaying Serial monitor) |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
|
||||
|
% Command-line "screenshot" |
||||
|
\begin{commandline} |
||||
|
\begin{verbatim} |
||||
|
$ chmod +x hello.py |
||||
|
$ ./hello.py |
||||
|
|
||||
|
Hello World!S |
||||
|
\end{verbatim} |
||||
|
\end{commandline} |
||||
|
|
||||
|
|
||||
|
% Warning text, with a custom title |
||||
|
\begin{warn}[Notice:] |
||||
|
Warungen könnten auch nützlich sein, immerhin braucht der RF24 3.3V und nicht 5V |
||||
|
\end{warn} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% Beispiel für ein Bild. |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\begin{figure}[h] |
||||
|
\includegraphics[width=8cm]{fish.png} |
||||
|
\centering |
||||
|
\end{figure} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% BIBLIOGRAPHY |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\bibliographystyle{unsrt} |
||||
|
|
||||
|
\bibliography{sample.bib} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\end{document} |
@ -0,0 +1,19 @@ |
|||||
|
@BOOK{Smith:2012qr, |
||||
|
title = {{B}ook {T}itle}, |
||||
|
publisher = {Publisher}, |
||||
|
author = {Smith, J.~M. and Jones, A.~B.}, |
||||
|
year = {2012}, |
||||
|
edition = {7th}, |
||||
|
} |
||||
|
|
||||
|
@ARTICLE{Smith:2013jd, |
||||
|
author = {Jones, A.~B. and Smith, J.~M.}, |
||||
|
title = {{A}rticle {T}itle}, |
||||
|
journal = {Journal title}, |
||||
|
year = {2013}, |
||||
|
volume = {13}, |
||||
|
pages = {123-456}, |
||||
|
number = {52}, |
||||
|
month = {March}, |
||||
|
publisher = {Publisher} |
||||
|
} |
@ -0,0 +1,233 @@ |
|||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||||
|
% Lachaise Assignment |
||||
|
% Structure Specification File |
||||
|
% Version 1.0 (26/6/2018) |
||||
|
% |
||||
|
% This template originates from: |
||||
|
% http://www.LaTeXTemplates.com |
||||
|
% |
||||
|
% Authors: |
||||
|
% Marion Lachaise & François Févotte |
||||
|
% Vel (vel@LaTeXTemplates.com) |
||||
|
% |
||||
|
% License: |
||||
|
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/) |
||||
|
% |
||||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% PACKAGES AND OTHER DOCUMENT CONFIGURATIONS |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\usepackage[ngerman]{babel} %UMLAUTE |
||||
|
|
||||
|
\usepackage{amsmath,amsfonts,stmaryrd,amssymb} % Math packages |
||||
|
|
||||
|
\usepackage{enumerate} % Custom item numbers for enumerations |
||||
|
|
||||
|
\usepackage[ruled]{algorithm2e} % Algorithms |
||||
|
|
||||
|
\usepackage[framemethod=tikz]{mdframed} % Allows defining custom boxed/framed environments |
||||
|
|
||||
|
\usepackage{listings} % File listings, with syntax highlighting |
||||
|
\lstset{ |
||||
|
basicstyle=\ttfamily, % Typeset listings in monospace font |
||||
|
} |
||||
|
|
||||
|
\usepackage{graphicx} |
||||
|
%Path relative to the main .tex file |
||||
|
\graphicspath{ {images/} } |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% DOCUMENT MARGINS |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\usepackage{geometry} % Required for adjusting page dimensions and margins |
||||
|
|
||||
|
\geometry{ |
||||
|
paper=a4paper, % Paper size, change to letterpaper for US letter size |
||||
|
top=2.5cm, % Top margin |
||||
|
bottom=3cm, % Bottom margin |
||||
|
left=2.5cm, % Left margin |
||||
|
right=2.5cm, % Right margin |
||||
|
headheight=14pt, % Header height |
||||
|
footskip=1.5cm, % Space from the bottom margin to the baseline of the footer |
||||
|
headsep=1.2cm, % Space from the top margin to the baseline of the header |
||||
|
%showframe, % Uncomment to show how the type block is set on the page |
||||
|
} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% FONTS |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
\usepackage[utf8]{inputenc} % Required for inputting international characters |
||||
|
\usepackage[T1]{fontenc} % Output font encoding for international characters |
||||
|
|
||||
|
\usepackage{XCharter} % Use the XCharter fonts |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% COMMAND LINE ENVIRONMENT |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
% Usage: |
||||
|
% \begin{commandline} |
||||
|
% \begin{verbatim} |
||||
|
% $ ls |
||||
|
% |
||||
|
% Applications Desktop ... |
||||
|
% \end{verbatim} |
||||
|
% \end{commandline} |
||||
|
|
||||
|
\mdfdefinestyle{commandline}{ |
||||
|
leftmargin=10pt, |
||||
|
rightmargin=10pt, |
||||
|
innerleftmargin=15pt, |
||||
|
middlelinecolor=black!50!white, |
||||
|
middlelinewidth=2pt, |
||||
|
frametitlerule=false, |
||||
|
backgroundcolor=black!5!white, |
||||
|
frametitle={Command Line}, |
||||
|
frametitlefont={\normalfont\sffamily\color{white}\hspace{-1em}}, |
||||
|
frametitlebackgroundcolor=black!50!white, |
||||
|
nobreak, |
||||
|
} |
||||
|
|
||||
|
% Define a custom environment for command-line snapshots |
||||
|
\newenvironment{commandline}{ |
||||
|
\medskip |
||||
|
\begin{mdframed}[style=commandline] |
||||
|
}{ |
||||
|
\end{mdframed} |
||||
|
\medskip |
||||
|
} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% FILE CONTENTS ENVIRONMENT |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
% Usage: |
||||
|
% \begin{file}[optional filename, defaults to "File"] |
||||
|
% File contents, for example, with a listings environment |
||||
|
% \end{file} |
||||
|
|
||||
|
\mdfdefinestyle{file}{ |
||||
|
innertopmargin=1.6\baselineskip, |
||||
|
innerbottommargin=0.8\baselineskip, |
||||
|
topline=false, bottomline=false, |
||||
|
leftline=false, rightline=false, |
||||
|
leftmargin=2cm, |
||||
|
rightmargin=2cm, |
||||
|
singleextra={% |
||||
|
\draw[fill=black!10!white](P)++(0,-1.2em)rectangle(P-|O); |
||||
|
\node[anchor=north west] |
||||
|
at(P-|O){\ttfamily\mdfilename}; |
||||
|
% |
||||
|
\def\l{3em} |
||||
|
\draw(O-|P)++(-\l,0)--++(\l,\l)--(P)--(P-|O)--(O)--cycle; |
||||
|
\draw(O-|P)++(-\l,0)--++(0,\l)--++(\l,0); |
||||
|
}, |
||||
|
nobreak, |
||||
|
} |
||||
|
|
||||
|
% Define a custom environment for file contents |
||||
|
\newenvironment{file}[1][File]{ % Set the default filename to "File" |
||||
|
\medskip |
||||
|
\newcommand{\mdfilename}{#1} |
||||
|
\begin{mdframed}[style=file] |
||||
|
}{ |
||||
|
\end{mdframed} |
||||
|
\medskip |
||||
|
} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% NUMBERED QUESTIONS ENVIRONMENT |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
% Usage: |
||||
|
% \begin{question}[optional title] |
||||
|
% Question contents |
||||
|
% \end{question} |
||||
|
|
||||
|
\mdfdefinestyle{question}{ |
||||
|
innertopmargin=1.2\baselineskip, |
||||
|
innerbottommargin=0.8\baselineskip, |
||||
|
roundcorner=5pt, |
||||
|
nobreak, |
||||
|
singleextra={% |
||||
|
\draw(P-|O)node[xshift=1em,anchor=west,fill=white,draw,rounded corners=5pt]{% |
||||
|
Question \theQuestion\questionTitle}; |
||||
|
}, |
||||
|
} |
||||
|
|
||||
|
\newcounter{Question} % Stores the current question number that gets iterated with each new question |
||||
|
|
||||
|
% Define a custom environment for numbered questions |
||||
|
\newenvironment{question}[1][\unskip]{ |
||||
|
\bigskip |
||||
|
\stepcounter{Question} |
||||
|
\newcommand{\questionTitle}{~#1} |
||||
|
\begin{mdframed}[style=question] |
||||
|
}{ |
||||
|
\end{mdframed} |
||||
|
\medskip |
||||
|
} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% WARNING TEXT ENVIRONMENT |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
% Usage: |
||||
|
% \begin{warn}[optional title, defaults to "Warning:"] |
||||
|
% Contents |
||||
|
% \end{warn} |
||||
|
|
||||
|
\mdfdefinestyle{warning}{ |
||||
|
topline=false, bottomline=false, |
||||
|
leftline=false, rightline=false, |
||||
|
nobreak, |
||||
|
singleextra={% |
||||
|
\draw(P-|O)++(-0.5em,0)node(tmp1){}; |
||||
|
\draw(P-|O)++(0.5em,0)node(tmp2){}; |
||||
|
\fill[black,rotate around={45:(P-|O)}](tmp1)rectangle(tmp2); |
||||
|
\node at(P-|O){\color{white}\scriptsize\bf !}; |
||||
|
\draw[very thick](P-|O)++(0,-1em)--(O);%--(O-|P); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
% Define a custom environment for warning text |
||||
|
\newenvironment{warn}[1][Warning:]{ % Set the default warning to "Warning:" |
||||
|
\medskip |
||||
|
\begin{mdframed}[style=warning] |
||||
|
\noindent{\textbf{#1}} |
||||
|
}{ |
||||
|
\end{mdframed} |
||||
|
} |
||||
|
|
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
% INFORMATION ENVIRONMENT |
||||
|
%---------------------------------------------------------------------------------------- |
||||
|
|
||||
|
% Usage: |
||||
|
% \begin{info}[optional title, defaults to "Info:"] |
||||
|
% contents |
||||
|
% \end{info} |
||||
|
|
||||
|
\mdfdefinestyle{info}{% |
||||
|
topline=false, bottomline=false, |
||||
|
leftline=false, rightline=false, |
||||
|
nobreak, |
||||
|
singleextra={% |
||||
|
\fill[black](P-|O)circle[radius=0.4em]; |
||||
|
\node at(P-|O){\color{white}\scriptsize\bf i}; |
||||
|
\draw[very thick](P-|O)++(0,-0.8em)--(O);%--(O-|P); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
% Define a custom environment for information |
||||
|
\newenvironment{info}[1][Info:]{ % Set the default title to "Info:" |
||||
|
\medskip |
||||
|
\begin{mdframed}[style=info] |
||||
|
\noindent{\textbf{#1}} |
||||
|
}{ |
||||
|
\end{mdframed} |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue