Stufe 3: Formatvorlagen & Makros (siunitx, \thn)
This commit is contained in:
parent
008e1fdfa0
commit
5c7ec2f207
@ -5,6 +5,6 @@
|
||||
\begin{abstract}
|
||||
Diese Arbeit charakterisiert eine Drehzahl-Regelstrecke durch
|
||||
Frequenzgangmessung. Die theoretische Knickfrequenz von
|
||||
\omegaKtheorie\ rad/s wird durch die Messung mit einer Abweichung
|
||||
von \abweichung\ \% best\"atigt.
|
||||
\SI{\omegaKtheorie}{\radian\per\second} wird durch die Messung mit
|
||||
einer Abweichung von \SI{\abweichung}{\percent} best\"atigt.
|
||||
\end{abstract}
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
|
||||
\chapter{Einleitung}
|
||||
|
||||
Diese Arbeit charakterisiert eine Drehzahl-Regelstrecke an der
|
||||
TH N\"urnberg Georg Simon Ohm. Die theoretische Knickfrequenz der
|
||||
Strecke betr\"agt \omegaKtheorie\ rad/s [Lutz/Wendt, 2014]. Ziel ist
|
||||
Diese Arbeit charakterisiert eine Drehzahl-Regelstrecke an der \thn.
|
||||
Die theoretische Knickfrequenz der Strecke betr\"agt
|
||||
\SI{\omegaKtheorie}{\radian\per\second} [Lutz/Wendt, 2014]. Ziel ist
|
||||
die Validierung des PT2-Modells durch eine Frequenzgangmessung,
|
||||
durchgef\"uhrt an der TH N\"urnberg Georg Simon Ohm.
|
||||
durchgef\"uhrt an der \thn.
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
\chapter{Aufbau und Messung}
|
||||
|
||||
\section{Aufbau}
|
||||
Der Aufbau ist in Abb.~1 dargestellt. Verwendet wurde das
|
||||
BORIS-Modell mit Sinus-Generator, Drehzahlstrecke und Multiplot.
|
||||
Der Aufbau ist in Abb.~1 dargestellt. Verwendet wurde das BORIS-Modell
|
||||
mit Sinus-Generator, Drehzahlstrecke und Multiplot.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
@ -14,9 +14,10 @@ BORIS-Modell mit Sinus-Generator, Drehzahlstrecke und Multiplot.
|
||||
|
||||
\section{Messergebnisse}
|
||||
Das gemessene Bode-Diagramm ist in Abb.~2 dargestellt. Die ermittelte
|
||||
Knickfrequenz liegt bei \omegaKmess\ rad/s und weicht um
|
||||
\abweichung\ \% vom theoretischen Wert von \omegaKtheorie\ rad/s ab
|
||||
[Lutz/Wendt, 2014]. Die Messpunkte zeigt Tabelle~1.
|
||||
Knickfrequenz liegt bei \SI{\omegaKmess}{\radian\per\second} und weicht
|
||||
um \SI{\abweichung}{\percent} vom theoretischen Wert von
|
||||
\SI{\omegaKtheorie}{\radian\per\second} ab [Lutz/Wendt, 2014]. Die
|
||||
Messpunkte zeigt Tabelle~1.
|
||||
|
||||
\begin{figure}[ht]
|
||||
\centering
|
||||
|
||||
257
abschlussarbeit/.gitignore
vendored
257
abschlussarbeit/.gitignore
vendored
@ -1,257 +0,0 @@
|
||||
# ---> TeX
|
||||
## 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
|
||||
|
||||
# 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
|
||||
|
||||
# makeidx
|
||||
*.idx
|
||||
*.ilg
|
||||
*.ind
|
||||
*.ist
|
||||
|
||||
# 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
|
||||
|
||||
# easy-todo
|
||||
*.lod
|
||||
|
||||
# xcolor
|
||||
*.xcp
|
||||
|
||||
# xmpincl
|
||||
*.xmpi
|
||||
|
||||
# xindy
|
||||
*.xdy
|
||||
|
||||
# xypic precompiled matrices
|
||||
*.xyc
|
||||
|
||||
# endfloat
|
||||
*.ttt
|
||||
*.fff
|
||||
|
||||
# Latexian
|
||||
TSWLatexianTemp*
|
||||
|
||||
## Editors:
|
||||
# WinEdt
|
||||
*.bak
|
||||
*.sav
|
||||
|
||||
# Texpad
|
||||
.texpadtmp
|
||||
|
||||
# LyX
|
||||
*.lyx~
|
||||
|
||||
# Kile
|
||||
*.backup
|
||||
|
||||
# KBibTeX
|
||||
*~[0-9]*
|
||||
|
||||
# auto folder when using emacs and auctex
|
||||
./auto/*
|
||||
*.el
|
||||
|
||||
# expex forward references with \gathertags
|
||||
*-tags.tex
|
||||
|
||||
# standalone packages
|
||||
*.sta
|
||||
|
||||
Binary file not shown.
@ -1,82 +0,0 @@
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%
|
||||
% CC BY-NC-SA 4.0
|
||||
%
|
||||
% Template für die Erstellung einer Abschlussarbeit an der TH Nürnberg
|
||||
% Author: Prof. Dr. Christine Niebler, TH Nürnberg
|
||||
% Überarbeitung: Hannes Dippold, Fachschaft EFI
|
||||
%
|
||||
% Das Template muss mit pdflatex und biber kompiliert werden
|
||||
% Für Fragen stehe ich gerne zur Verfügung
|
||||
%
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Definition des Dokumentenlayouts
|
||||
|
||||
\documentclass[a4paper, parskip=half, titlepage=yes, 11pt, BCOR=12mm, toc=flat]{scrreprt} %toc=flat statt tocleft, macht das Inhaltsverzeichnis linksbündig
|
||||
|
||||
% Einbinden der Präambel
|
||||
\input{01_AbschlussarbeitPraeambel}
|
||||
|
||||
\pagenumbering{roman}
|
||||
|
||||
%% Hier startet der Dokumenteninhalt
|
||||
\begin{document}
|
||||
|
||||
% Deckblatt einbinden
|
||||
\maketitle
|
||||
|
||||
% Eigenständigkeitserklärung einbinden, auskommentiert lassen solange noch nicht existent
|
||||
\begin{center}
|
||||
%\includepdf[scale=0.8,page=1]{Eigenstaendigkeitserklaerung.pdf}
|
||||
\thispagestyle{empty}
|
||||
\end{center}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%% Hier Abstract einfügen %%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Abstract einbinden
|
||||
\input{02_Abstract}
|
||||
|
||||
\selectlanguage{ngerman}
|
||||
|
||||
%Inhaltsverzeichnis
|
||||
\tableofcontents
|
||||
\clearpage
|
||||
|
||||
% Abkürzungsverzeichnis einbinden, das glossaries-Paket ist sehr umfangreich, eignet sich auch gut für ein Formelverzeichnis
|
||||
\input{03_Abkuerzungen}
|
||||
\printglossary[type=acronym, title=Abkürzungsverzeichnis]
|
||||
|
||||
\newpage
|
||||
\pagenumbering{arabic}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%% Text %%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Inhaltsdateien einbinden
|
||||
\input{10_Einleitung}
|
||||
\input{20_Hauptteil}
|
||||
\input{30_Schluss}
|
||||
|
||||
% Literaturverzeichnis
|
||||
\printbibliography
|
||||
|
||||
% Abbildungsverzeichnis
|
||||
\listoffigures
|
||||
|
||||
% Tabellenverzeichnis
|
||||
\listoftables
|
||||
|
||||
% Quellcodeverzeichnis
|
||||
% \renewcommand*{\lstlistingname}{Quellcodeverzeichnis}
|
||||
\renewcommand*{\lstlistlistingname}{Quellcodeverzeichnis}
|
||||
\lstlistoflistings
|
||||
|
||||
% Anhang einbinden
|
||||
\input{40_Anhang}
|
||||
|
||||
\end{document}
|
||||
@ -1,164 +0,0 @@
|
||||
%!TeX root=00_Abschlussarbeit.tex
|
||||
% \pdfcompresslevel=0
|
||||
% \pdfobjcompresslevel=0
|
||||
|
||||
% Pakete für die Darstellung und Eingabemöglichkeit von Umlauten
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[utf8]{inputenc}
|
||||
|
||||
%Für Tabellen
|
||||
\usepackage{rotating} % Drehen
|
||||
\usepackage{colortbl} % Farben
|
||||
\usepackage{booktabs} % dickere Linien
|
||||
\usepackage{longtable} % für lange Tabellen
|
||||
\usepackage{tabularx}
|
||||
\usepackage{array}
|
||||
\usepackage{multirow}
|
||||
|
||||
% Anpassung Seitenränder
|
||||
\usepackage[left= 3cm, right = 2cm, bottom = 3 cm, top = 2cm]{geometry}
|
||||
|
||||
% Verwendung deutscher Begriffe für automatisch generierte Worte wie z.B. "Inhaltsverzeichnis"
|
||||
\usepackage[ngerman, english]{babel}
|
||||
|
||||
% Anführungszeichen/Zitate
|
||||
\usepackage{csquotes}
|
||||
|
||||
% Trennen wenn Latex es nicht richtig macht:
|
||||
% \hyphenation{}
|
||||
|
||||
% Paket um Dummy-Text/Blindtext zu erzeugen
|
||||
\usepackage{blindtext}
|
||||
|
||||
% Eigenes Titelblatt
|
||||
\usepackage{LTXKursTitel}
|
||||
|
||||
% Zeilenabstand auf 1,5 setzen
|
||||
\usepackage[onehalfspacing]{setspace}
|
||||
\AfterTOCHead{\singlespacing}
|
||||
\KOMAoptions{DIV=last} % KOMA Klasse für europ. Layout
|
||||
\usepackage{scrdate, scrtime} % Zeit und Datumsbefehle
|
||||
\usepackage{scrlayer-scrpage} % Erweitere Layout-Optionen
|
||||
\pagestyle{scrheadings} % Seitenlayout selbst definieren
|
||||
|
||||
% Belegung von KOMA Variablen für Kopf- und Fußzeilen Gestaltung
|
||||
\newcommand{\footlinetext}{\footnotesize \textsf{\color{gray} Kapitel \thesection \ \normalsize}}
|
||||
\KOMAoptions{headsepline = no, footsepline = yes}
|
||||
\ihead{\headmark}
|
||||
\chead{}
|
||||
\ohead{}
|
||||
\ifoot{\footlinetext}
|
||||
\cfoot{}
|
||||
\ofoot{\pagemark}
|
||||
|
||||
% Pakete zum Einbinden von Bildern und Farben
|
||||
\usepackage{xcolor}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{pdfpages} %PDFs einbinden
|
||||
|
||||
|
||||
% Pakete für Mathematik
|
||||
\usepackage[free-standing-units,locale = DE]{siunitx} % Befehle für SI-Einheiten
|
||||
\usepackage{amsmath} % Mathematik Befehle
|
||||
\usepackage{amsfonts}
|
||||
|
||||
% Paket und Spezifikation der Parameter zur Darstellung von Programmcode mit Courier-Schriftart
|
||||
\usepackage{listings} % Darstellung von Quellcode
|
||||
\usepackage{courier} % Schriftart laden
|
||||
\lstset{
|
||||
language=C++,
|
||||
basicstyle=\footnotesize\ttfamily, % Standardschrift
|
||||
numbers=left, % Ort der Zeilennummern
|
||||
numberstyle=\tiny, % Stil der Zeilennummern
|
||||
%stepnumber=2, % Abstand zwischen den Zeilennummern
|
||||
numbersep=5pt, % Abstand der Nummern zum Text
|
||||
tabsize=2, % Groesse von Tabs
|
||||
extendedchars=true, %
|
||||
breaklines=true, % Zeilen werden Umgebrochen
|
||||
keywordstyle=\color{blue}\bfseries,
|
||||
frame=b,
|
||||
% keywordstyle=[1]\textbf, % Stil der Keywords
|
||||
% keywordstyle=[2]\textbf, %
|
||||
% keywordstyle=[3]\textbf, %
|
||||
% keywordstyle=[4]\textbf, \sqrt{\sqrt{}} %
|
||||
stringstyle=\color{magenta}\ttfamily, % Farbe der String
|
||||
showspaces=false, % Leerzeichen anzeigen ?
|
||||
showtabs=false, % Tabs anzeigen ?
|
||||
%xleftmargin=17pt, % Abstände
|
||||
%framexleftmargin=17pt,
|
||||
%framexrightmargin=5pt,
|
||||
%framexbottommargin=4pt,
|
||||
commentstyle=\color{green!100!blue}\bfseries,
|
||||
%backgroundcolor=\color{grey},
|
||||
showstringspaces=true, % Leerzeichen in Strings anzeigen ?
|
||||
morekeywords={__global__}, % additional language specific keywords
|
||||
morecomment=[l]
|
||||
}
|
||||
\lstloadlanguages{% Check Dokumentation for further languages ...
|
||||
%[Visual]Basic
|
||||
%Pascal
|
||||
C,
|
||||
C++,
|
||||
%XML
|
||||
%HTML
|
||||
%Matlab
|
||||
%Java
|
||||
}
|
||||
|
||||
% Literaturverzeichnis mit BibLaTeX und Biber erstellen
|
||||
\usepackage[style=ieee, sorting=none, backend=biber]{biblatex}
|
||||
% bib-Datei einbinden
|
||||
\addbibresource{Literatur.bib}
|
||||
|
||||
\usepackage{abstract}
|
||||
|
||||
\usepackage[printonlyused]{acronym} %Abkürzungsverzeichnis
|
||||
|
||||
\usepackage{tocbasic}
|
||||
\usepackage{textcmds}
|
||||
\usepackage{scrhack} %gets rid of \float@addtolists error
|
||||
|
||||
\usepackage{hyperref} % Layout im PDF Viewer. Muss als letztes Paket geladen werden
|
||||
\hypersetup{%
|
||||
plainpages=false,
|
||||
linktocpage=true,
|
||||
breaklinks=true,
|
||||
colorlinks=true,
|
||||
linkcolor=black,%blue,
|
||||
anchorcolor=black,
|
||||
citecolor=black,%green,
|
||||
filecolor=black,%blue,
|
||||
urlcolor=black,%blue%
|
||||
pdfstartview={FitV},
|
||||
pdfview={FitH},
|
||||
pdfpagelayout={SinglePage},
|
||||
%pdfpagemode={None}, %unknown value "None"
|
||||
}
|
||||
|
||||
\usepackage[xindy, order=letter, acronym=true]{glossaries} % muss nach hyperref geladen werden
|
||||
% \usepackage{glossaries-german} % verwendete Sprachen laden, https://www.ctan.org/pkg/glossaries-german, nötig?
|
||||
\makeglossaries
|
||||
\setacronymstyle{long-short}
|
||||
\setglossarystyle{index} %alternativ: tree, list, long3col, weitere: https://www.dickimaw-books.com/gallery/glossaries-styles/#long
|
||||
|
||||
\setcounter{tocdepth}{4} %Erweiterung des Inhaltsverzeichnisses um eine weitere Ebene
|
||||
\setcounter{secnumdepth}{4} %Erweiterung der Kapiteltiefe um eine weitere Ebene
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%% Variablen zum Belegen %%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% Variables for title page
|
||||
\DAAutor{Vorname Name \par Matrikelnummer}
|
||||
\DATyp{Bachelorarbeit/Masterarbeit}
|
||||
\DAAutorAdresse{Straße Hausnummer \par PLZ Ort}
|
||||
\DAFachbereich{efi}
|
||||
\DATitel{Titel}
|
||||
\DABetreuerTextA{Betreuer*in}
|
||||
\DABetreuerTextB{Betreuer*in}
|
||||
\DABetreuerA{Betreuer*in 1}
|
||||
\DABetreuerB{Betreuer*in 2}
|
||||
\DAOrt{Abgabe: Ort}
|
||||
\DAAbgabedatum{Tag.\,Monat\,Jahr}
|
||||
\DAAbgabesemester{Wintersemester/Sommersemester Jahr}
|
||||
@ -1,19 +0,0 @@
|
||||
%!TeX root=00_Abschlussarbeit.tex
|
||||
|
||||
\selectlanguage{ngerman}
|
||||
\renewcommand{\abstractname}{Kurzfassung}
|
||||
\begin{abstract}
|
||||
|
||||
% TEXT DEUTSCH %
|
||||
\blindtext
|
||||
|
||||
\end{abstract}
|
||||
|
||||
\selectlanguage{english}
|
||||
\renewcommand{\abstractname}{Abstract}
|
||||
\begin{abstract}
|
||||
|
||||
% TEXT ENGLISCH %
|
||||
\blindtext
|
||||
|
||||
\end{abstract}
|
||||
@ -1,4 +0,0 @@
|
||||
%!TeX root=00_Abschlussarbeit.tex
|
||||
|
||||
%\label{sec:abkuerzungsverzeichnis}
|
||||
\newacronym{USB}{USB}{universal serial bus}
|
||||
@ -1,9 +0,0 @@
|
||||
%!TeX root=00_Abschlussarbeit.tex
|
||||
|
||||
\chapter{Einleitung}
|
||||
|
||||
% TEXT %
|
||||
\gls{USB}\\
|
||||
\gls{USB}\\
|
||||
\blindtext
|
||||
\cite[S. xx]{horowitzArtElectronics2015}
|
||||
@ -1,12 +0,0 @@
|
||||
%!TeX root=00_Abschlussarbeit.tex
|
||||
|
||||
% Kapitel des Hauptteils einbinden
|
||||
\input{21_Grundlagen_Theorie}
|
||||
|
||||
\input{22_Stand_der_Technik}
|
||||
|
||||
\input{23_Konzeptentwicklung}
|
||||
|
||||
\input{24_Implementierung}
|
||||
|
||||
\input{25_Test}
|
||||
@ -1,5 +0,0 @@
|
||||
%!TeX root=20_Hauptteil.tex
|
||||
|
||||
\chapter{Grundlagen und Theorie}
|
||||
|
||||
% TEXT %
|
||||
@ -1,5 +0,0 @@
|
||||
%!TeX root=00_Bachelorarbeit_Dippold.tex
|
||||
|
||||
\chapter{Stand der Technik}
|
||||
|
||||
% TEXT %
|
||||
@ -1,5 +0,0 @@
|
||||
%!TeX root=20_Hauptteil.tex
|
||||
|
||||
\chapter{Konzeptentwicklung}
|
||||
|
||||
% TEXT %
|
||||
@ -1,5 +0,0 @@
|
||||
%!TeX root=20_Hauptteil.tex
|
||||
|
||||
\chapter{Implementierung}
|
||||
|
||||
% TEXT %
|
||||
@ -1,5 +0,0 @@
|
||||
%!TeX root=20_Hauptteil.tex
|
||||
|
||||
\chapter{Test}
|
||||
|
||||
% TEXT %
|
||||
@ -1,5 +0,0 @@
|
||||
%!TeX root=00_Abschlussarbeit.tex
|
||||
|
||||
\chapter{Zusammenfassung und Ausblick}
|
||||
|
||||
% TEXT %
|
||||
@ -1,25 +0,0 @@
|
||||
%!TeX root=00_Abschlussarbeit.tex
|
||||
|
||||
\chapter{Anhang}
|
||||
% \section{Code}
|
||||
% Anhang mit Quellcode
|
||||
%\lstset{language=C++,
|
||||
% basicstyle=\ttfamily,
|
||||
% keywordstyle=\color{blue}\ttfamily,
|
||||
% stringstyle=\color{red}\ttfamily,
|
||||
% commentstyle=\color{green}\ttfamily,
|
||||
% morecomment=[l][\color{magenta}]{\#}
|
||||
%}
|
||||
|
||||
% \begin{lstlisting}[caption={[For-Schleife] For-Schleife die die Zahlen von 1 bis 10 ausgiebt}]
|
||||
% // Print numbers from 1 to 10
|
||||
% #include <stdio.h>
|
||||
% int main() {
|
||||
% int i;
|
||||
% for (i = 1; i < 11; ++i)
|
||||
% {
|
||||
% printf("%d ", i);
|
||||
% }
|
||||
% return 0;
|
||||
% }
|
||||
% \end{lstlisting}
|
||||
@ -1 +0,0 @@
|
||||
put your Anhang in this folder
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 6.6 KiB |
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 27 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 26 KiB |
@ -1,170 +0,0 @@
|
||||
% Muster-Stylefile, LaTeX-Kurs GSO Nürnberg, SS 2008
|
||||
% Dieses Package stellt eine Titelseite für eine Diplomarbeit
|
||||
% zur Verfügung. Das Design ist hierbei an die Vorgaben
|
||||
% der GSO angelehnt. Für die Vorgaben Ihres Fachbereiches
|
||||
% müssen evtl. Anpassungen unternommen werden!
|
||||
% Dieses Musterfile stellt weder Anspruch auf Vollständigkeit, noch ist es als Beispiel
|
||||
% für besonders gute TeX-Programmierung zu verstehen. Es soll lediglich eine Möglichkeit
|
||||
% aufzeigen, wie ein eigenes Stylefile aussehen kann.
|
||||
% Versionshistorie:
|
||||
% 1.0 2006/12/04(HB) Erstausgabe für WS 2006/07
|
||||
% 2.0 2007/04/21(HB) Überarbeitung und Designanpassung, SS 2007
|
||||
% 2.1 2008/05/25(HB) Initialisierung der Variablen statisch, Fehlerabfrage bei Pflichtangaben
|
||||
%
|
||||
% Dieses File darf frei zur Gestaltung von akademischen Arbeiten an der GSO Nürnberg
|
||||
% verwendet werden. Eine Garantie für Übereinstimmung mit eventuellen Vorgaben
|
||||
% einzelner Fachbereiche wird nicht gegeben.
|
||||
% Kopieren und Modifikationen ausdrücklich gestattet.
|
||||
%
|
||||
%
|
||||
\NeedsTeXFormat{LaTeX2e} % Kompatibilität sicherstellen.
|
||||
\ProvidesPackage{LTXKursTitel}[2014/07/07 v2.2 Titelblatt LaTeX-Kurs GSO Nbg.]
|
||||
% Identifikation eines packages. Die Versionsinformation wird im logfile ausgegeben.
|
||||
% Der Dateiname und der obige Identifikationstext müssen übereinstimmen!
|
||||
\RequirePackage{calc}
|
||||
% Aufruf von anderen Packages in eigenen .sty-Files nicht mit usepackage.
|
||||
% \RequirePackage stellt sicher, dass das angefordere Package nicht bereits vorher u. U. mit anderen Optionen geladen wurde.
|
||||
\RequirePackage{ifthen} % für vereinfachte Konditionale
|
||||
\RequirePackage[absolute]{textpos} % Absolute Positionierung auf Seite
|
||||
\RequirePackage{graphicx,xcolor}
|
||||
|
||||
% Layout
|
||||
% ------
|
||||
\newlength{\RandLinks} % Initialisierung der Längen
|
||||
\newlength{\RandRechts}
|
||||
\newlength{\RandOben}
|
||||
\newlength{\TitelBreite}
|
||||
%
|
||||
\setlength{\RandLinks}{3cm}
|
||||
\setlength{\RandRechts}{2cm}
|
||||
% Berechnung der Breite des Titels aus den Randeinstellungen
|
||||
\setlength{\TitelBreite}{\paperwidth-\RandLinks-\RandRechts}
|
||||
%
|
||||
\setlength{\RandOben}{2cm}
|
||||
%
|
||||
% Die Werte können durch \setlength... im Dokument umdefiniert werden.
|
||||
|
||||
% Statische Texte:
|
||||
% ----------------
|
||||
% Diese Variablen stellen statische Textelemente
|
||||
% der Titelei zur Verfügung. Vorbelegung mit den deutschen Begriffen
|
||||
\newcommand{\@DAFH}{Technische Hochschule Nürnberg Georg Simon Ohm}
|
||||
\newcommand{\@DAFB}{in~der~Fakultät}
|
||||
|
||||
% Falls Englisch als Dokumentensprache gewählt ist:
|
||||
%\renewcommand{\@DAFH}{Georg-Simon-Ohm-University of Applied Sciences Nuremberg}
|
||||
%\renewcommand{\@DAFB}{at~the Faculty~of}
|
||||
%\renewcommand{\@DABetreuerTextA}{Advisor}
|
||||
%\renewcommand{\@DABetreuerTextB}{Advisor}
|
||||
%
|
||||
|
||||
%Dynamische Texte :
|
||||
%------------------
|
||||
% Diese Texte werden zur Aufrufzeit verändert. Hierzu möchten
|
||||
% wir die gleiche Syntax wie in den Standardklassen verwenden
|
||||
% können, d. h. vor dem \maketitle im Dokument sollen mittels
|
||||
% \DAAutor{Max Mustermann} etc. die Werte gesetzt werden können.
|
||||
%
|
||||
% Die Definition der Kommandos passiert in 2 Schritten:
|
||||
% 1) Vorbelegung der Variablen mit "nix" = \relax
|
||||
\newcommand{\@DAAutor}{\relax}
|
||||
% 2) Beim Aufruf des Benutzerkommandos: Re-Definition des
|
||||
% Platzhalters mit dem Argument des Benutzerbefehls.
|
||||
% Achtung:
|
||||
% \newcommand wirkt nur innerhalb der Gruppe,
|
||||
% wir wollen aber ein globales Kommando definieren!
|
||||
% LaTeX-Syntax funktioniert hier wenn dann nur zufällig!
|
||||
% \newcommand{\Autor}[1]{\global\renewcommand\DAAutor[1]{#1}}
|
||||
% => TeX-Syntax - handle with care!
|
||||
%\newcommand{\DAAutor}[1]{\global\def\@DAAutor{#1}}
|
||||
\newcommand{\DAAutor}[1]{\gdef\@DAAutor{#1}}
|
||||
% \gdef macht (fast) dasselbe wie \newcommand, nur wirkt es 'g'lobal
|
||||
% Nur verwenden, wenn Sie sich sicher sind, was Sie tun!
|
||||
%
|
||||
% Analog werden die anderen Platzhalter definiert:
|
||||
\newcommand{\@DATyp}{Diplomarbeit} % hier mit Voreinstellung
|
||||
\newcommand{\DATyp}[1]{\gdef\@DATyp{#1}}
|
||||
|
||||
\newcommand{\@DAAutorAdresse}{- Meine Adresse - }
|
||||
\newcommand{\DAAutorAdresse}[1]{\gdef\@DAAutorAdresse{#1}}
|
||||
%
|
||||
\newcommand{\@DAFachbereich}{AW}
|
||||
\newcommand{\DAFachbereich}[1]{\gdef\@DAFachbereich{#1}}
|
||||
%
|
||||
\newcommand{\@DATitel}{\relax}
|
||||
\newcommand{\DATitel}[1]{\gdef\@DATitel{#1}}
|
||||
%
|
||||
\newcommand{\@DABetreuerA}{Musterbetreuer 1}
|
||||
\newcommand{\DABetreuerA}[1]{\gdef\@DABetreuerA{#1}}
|
||||
%
|
||||
\newcommand{\@DABetreuerB}{Musterbetreuer 2}
|
||||
\newcommand{\DABetreuerB}[1]{\gdef\@DABetreuerB{#1}}
|
||||
%
|
||||
\newcommand{\@DABetreuerTextA}{Betreuer}
|
||||
\newcommand{\DABetreuerTextA}[1]{\gdef\@DABetreuerTextA{#1}}
|
||||
%
|
||||
\newcommand{\@DABetreuerTextB}{Betreuer}
|
||||
\newcommand{\DABetreuerTextB}[1]{\gdef\@DABetreuerTextB{#1}}
|
||||
%
|
||||
\newcommand{\@DAOrt}{Nürnberg}
|
||||
\newcommand{\DAOrt}[1]{\gdef\@DAOrt{#1}}
|
||||
%
|
||||
\newcommand{\@DAAbgabedatum}{\today}
|
||||
\newcommand{\DAAbgabedatum}[1]{\gdef\@DAAbgabedatum{#1}}
|
||||
%
|
||||
\newcommand{\@DAAbgabesemester}{Sommersemester 2022}
|
||||
\newcommand{\DAAbgabesemester}[1]{\gdef\@DAAbgabesemester{#1}}
|
||||
%
|
||||
\renewcommand{\maketitle}{% Neudefinition des \maketitle-Befehls:
|
||||
%
|
||||
% --------------------------------Für TeXperten!--------------------------------
|
||||
% Fehlerbehandlung: bei undefiniertem \@DAAutor wird ein Fehler mit einer
|
||||
% hoffentlich hilfreichen Beschreibung ausgegeben und die Erstellung ggf. abgebrochen.
|
||||
\ifthenelse{\equal{\@DAAutor}{\relax}}{% Fehler: kein Autor
|
||||
\PackageError {LTXKursTitel}{Fehler beim Erstellen des Titelblatts - kein Autor definiert!\MessageBreak Bitte mit \noexpand\DAAutor\space vor \noexpand\maketitle\space definieren!}{Es wurde kein Autor definiert, bevor \noexpand\maketitle\space aufgerufen wurde.}%
|
||||
} % Abbrechen mit Fehlermeldung
|
||||
{\relax}% kein Fehler: mach gar nix
|
||||
%
|
||||
%% Gleiches Spiel mit dem Titel:
|
||||
\ifthenelse{\equal{\@DATitel}{\relax}}{% Fehler: kein Autor
|
||||
\PackageError {LTXKursTitel}{Fehler beim Erstellen des Titelblatts - kein Titel definiert!\MessageBreak Bitte mit \noexpand\DATitel\space vor \noexpand\maketitle\space definieren!}{Es wurde kein Titel definiert, bevor \noexpand\maketitle\space aufgerufen wurde.}%
|
||||
} % Abbrechen mit Fehlermeldung
|
||||
{\relax}% kein Fehler: mach gar nix
|
||||
|
||||
% -------------------------------\Für TeXperten!--------------------------------
|
||||
%
|
||||
%
|
||||
%
|
||||
\thispagestyle{empty} % nötig, da sonst eine Seitenzahl ausgegeben wird
|
||||
%
|
||||
\definecolor{th_blau}{HTML}{1D60A8} % oder 0046A0
|
||||
\definecolor{ohm_rot}{HTML}{C72426}
|
||||
\begin{textblock*}{\TitelBreite}(\RandLinks,\RandOben)% Textblock mit Breite \TitelBreite
|
||||
% Auswahl nur Ohm-Logo oder Firmenlogo + Ohm-Logo
|
||||
% \par\vspace{5mm}~\includegraphics[width=0.3\textwidth]{Bilder/firmenlogo.jpg}\hfill\includegraphics[width=0.4\textwidth]{Bilder/ohm_logo_crop.png}\\[2mm] % Ohm-Logo
|
||||
\par\vspace{5mm}~\hfill\includegraphics[width=0.4\textwidth]{Bilder/ohm_logo_crop.png}\\[2mm] % Ohm-Logo
|
||||
{\color{ohm_rot}\rule{\TitelBreite}{2mm}}\\[2cm] % Linie
|
||||
{\centering
|
||||
\sffamily\Large
|
||||
\@DAFH\\ % Einsetzen der
|
||||
\@DATyp{} \@DAFB{} \@DAFachbereich\\[\baselineskip] % einzelnen
|
||||
{\Huge\@DATitel}\\[\baselineskip] % Textbausteine
|
||||
\@DAAutor\\[\baselineskip]
|
||||
\@DAAutorAdresse\\[2\baselineskip]
|
||||
\begin{center}%
|
||||
\begin{tabular}{ll}
|
||||
\@DABetreuerTextA:&~\@DABetreuerA\\
|
||||
\@DABetreuerTextB:&~\@DABetreuerB\\ \\
|
||||
\end{tabular}%
|
||||
\end{center}
|
||||
\@DAOrt, \@DAAbgabedatum \\
|
||||
\@DAAbgabesemester
|
||||
\par
|
||||
}%
|
||||
\end{textblock*}
|
||||
% ~\clearpage % Seitenumbruch, das geschützte Leerzeichen ist notwendig,
|
||||
% da außer dem textblock* nichts auf der Seite steht und somit
|
||||
% die Seite als "`leer"' angesehen wird.
|
||||
} % Ende der Definition von \maketitle
|
||||
%
|
||||
% </package>
|
||||
Binary file not shown.
Binary file not shown.
@ -1,11 +0,0 @@
|
||||
@book{horowitzArtElectronics2015,
|
||||
title = {The {{Art}} of {{Electronics}}},
|
||||
author = {Horowitz, Paul and Hill, Winfield},
|
||||
date = {2015},
|
||||
edition = {Third edition},
|
||||
publisher = {{Cambridge University Press}},
|
||||
location = {{New York, NY}},
|
||||
isbn = {978-0-521-80926-9},
|
||||
pagetotal = {xxxi, 1230 Seiten},
|
||||
file = {C\:\\Users\\ddh1sc\\Documents\\Bachelorarbeit\\Zotero\\storage\\LNMYHH77\\singleHit.html}
|
||||
}
|
||||
@ -1,102 +0,0 @@
|
||||
# LaTeX-Template Abschlussarbeit
|
||||
|
||||
Hier findet Ihr ein LaTeX-Template für eure Abschlussarbeit an der Fakultät efi.
|
||||
Das Template basiert auf der Vorlage von Frau Prof. Dr. Niebler und wurde aktualisiert und ergänzt.
|
||||
|
||||
Die Fachschaft ist nicht dafür verantwortlich, ob das Template die aktuell gültigen formalen Bestimmungen einhält!
|
||||
|
||||
## Nutzung
|
||||
|
||||
Das Repository entweder in der Weboberfläche oder über die Kommandozeile kopieren:
|
||||
|
||||
git clone --branch main https://git.efi.th-nuernberg.de/gitea/efi-fachschaft/Abschlussarbeit.git
|
||||
|
||||
Die Dateistruktur und Kapitelstruktur sowie die Benennung ist natürlich nicht fest und sollte so angepasst werden, wie es für eure Arbeit am Besten passt. Dazu steht im Leitfaden mehr.
|
||||
Für eine bessere Übersichtlichkeit (und evtl. Debugging) ist es definitiv ratsam, den Text logisch in verschiedene Dateien aufzuteilen.
|
||||
|
||||
Das Dokument wird über `00_Abschlussarbeit.tex`, `01_AbschlussarbeitPraeambel.tex` und `LTXKursTitel.sty` angepasst. Viele Optionen sind kommentiert und sollten relativ selbsterklärend sein.
|
||||
Diese Dateien daher unbedingt sorgfältig anschauen!
|
||||
|
||||
### LaTeX-Distribution
|
||||
|
||||
Ich nutze [TeX Live](https://tug.org/texlive/) als LaTeX-Distribution und Ubuntu als Betriebssystem.
|
||||
|
||||
### Editor
|
||||
|
||||
Als Editor kann ich VS Code bzw. [VS Codium](https://vscodium.com/) empfehlen (= VS Code ohne Microsoft-Binaries).
|
||||
|
||||
Dazu die Erweiterungen:
|
||||
- LaTeX Workshop (viele nützliche Funktionen)
|
||||
- LTeX (sehr gute Rechtschreib- und Grammatikprüfung)
|
||||
|
||||
### Kompilieren
|
||||
|
||||
>Kompilierreihenfolge: pdflatex > biber > makeglossaries > pdflatex > pdflatex
|
||||
|
||||
In VS Code müssen dazu die Tools `biber` und `makeglossaries` ergänzt werden.
|
||||
|
||||
Dazu:
|
||||
\> Einstellungen (<kbd>Strg</kbd>+<kbd>,</kbd>)
|
||||
\> Latex-workshop>Latex:Tools (nach "tools" suchen)
|
||||
\> Edit in settings.json
|
||||
|
||||
Diesen Code am Ende des Abschnitts "latex-workshop.latex.tools" einfügen:
|
||||
|
||||
{
|
||||
"name": "biber",
|
||||
"command": "biber",
|
||||
"args": [
|
||||
"%DOCFILE%"
|
||||
],
|
||||
"env": {}
|
||||
},
|
||||
{
|
||||
"name": "makeglossaries",
|
||||
"command": "makeglossaries",
|
||||
"args": [
|
||||
"%DOC%"
|
||||
],
|
||||
"env": {}
|
||||
}
|
||||
|
||||
Anschließend muss ein entsprechendes `recipe` angelegt werden.
|
||||
|
||||
Dazu:
|
||||
\> Einstellungen (<kbd>Strg</kbd>+<kbd>,</kbd>)
|
||||
\> Latex-workshop>Latex:Recipes (nach "recipes" suchen)
|
||||
\> Edit in settings.json
|
||||
|
||||
Diesen Code am Ende des Abschnitts "latex-workshop.latex.recipes" einfügen:
|
||||
|
||||
{
|
||||
"name": "Abschlussarbeit",
|
||||
"tools": [
|
||||
"pdflatex",
|
||||
"biber",
|
||||
"makeglossaries",
|
||||
"pdflatex",
|
||||
"pdflatex"
|
||||
]
|
||||
}
|
||||
|
||||
Anschließend kann man das Recipe wie andere auch normal zum Kompilieren auswählen.
|
||||
|
||||
Damit das verwendete Paket `glossaries` funktioniert muss außerdem [Perl](https://www.perl.org/get.html) installiert sein.
|
||||
|
||||
### Literatur
|
||||
|
||||
Literaturverwaltung funktioniert gut über [Zotero](https://www.zotero.org/), ergänzend dazu das Zotero-Plugin BetterBibTeX (automatisiert das Exportieren des Literaturverzeichnis in die .bib-Datei) und das Zotero Browser-Plugin.
|
||||
|
||||
### Backups
|
||||
|
||||
Zum Sichern und Versionieren der Arbeit bietet sich der [efi-eigene git-Server](https://git.efi.th-nuernberg.de/gitea/) an.
|
||||
Der Login erfolgt über die üblichen TH-Anmeldedaten.
|
||||
|
||||
## Infos, Tipps und Hilfe
|
||||
|
||||
Weitere Infos finden sich u.a. auf den Seiten des [Schreibzentrums](https://www.th-nuernberg.de/einrichtungen-gesamt/administration-und-service/lehr-und-kompetenzentwicklung/ueberfachliche-kompetenzen/schreibzentrum/) und der [Bibliothek](https://www.th-nuernberg.de/einrichtungen-gesamt/administration-und-service/bibliothek/).
|
||||
Feedback, Hinweise, Verbesserungsvorschläge und weitere nützliche Tools/Extensions/Plugins gerne direkt an mich:
|
||||
- Hannes Dippold: dippoldha78415@th-nuernberg.de
|
||||
|
||||
oder die Fachschaft
|
||||
- Fachschaft efi: efi-fachschaft@th-nuernberg.de
|
||||
30
paper.tex
30
paper.tex
@ -1,23 +1,14 @@
|
||||
% =====================================================================
|
||||
% STUFE 2 -- Template anwenden
|
||||
% STUFE 3 -- Formatvorlagen & Makros
|
||||
% --------------------------------------------------------------------
|
||||
% Was sich gegenueber Stufe 1 geaendert hat:
|
||||
% + Offizielles TH-Nuernberg-Abschlussarbeit-Template (Fakultaet efi)
|
||||
% -> 01_AbschlussarbeitPraeambel.tex (Layout, Pakete, Einstellungen)
|
||||
% -> LTXKursTitel.sty (Deckblatt mit Ohm-Logo)
|
||||
% + scrreprt + KOMA-Script Layout statt selbstgebautes article
|
||||
% + Inhalt logisch in Dateien aufgeteilt:
|
||||
% 02_Abstract.tex
|
||||
% 10_Einleitung.tex
|
||||
% 20_Hauptteil.tex
|
||||
% 30_Schluss.tex
|
||||
% + Title page, Abstract, Inhaltsverzeichnis,
|
||||
% Abbildungs- und Tabellenverzeichnis kommen aus dem Template
|
||||
% + Pakete wie siunitx, biblatex, hyperref sind in der Praeambel
|
||||
% bereits geladen -- die spaeteren Stufen nutzen sie
|
||||
% Was sich gegenueber Stufe 2 geaendert hat:
|
||||
% + \newcommand{\thn}{...} -> 1x definieren statt mehrfach tippen
|
||||
% + \SI{56}{\radian\per\second}, \SI{...}{\decibel} statt freier Text
|
||||
% + S-Spalten in der Tabelle -> Werte am Komma ausgerichtet
|
||||
% + plot.py liefert Rohzahlen -> siunitx formatiert deutsch
|
||||
% + siunitx ist bereits in der Praeambel (locale=DE) geladen
|
||||
%
|
||||
% Was noch unschoen ist:
|
||||
% - "TH N\"urnberg Georg Simon Ohm" 2x im Text getippt (Regel 3)
|
||||
% - Zitat [Lutz/Wendt, 2014] hand-getippt (Regel 4)
|
||||
% - "Abb.~1", "Abb.~2", "Tabelle~1" hart codiert (Regel 5)
|
||||
% - aufbau.png noch pixelig (Regel 7)
|
||||
@ -29,7 +20,10 @@
|
||||
|
||||
\input{werte.tex}
|
||||
|
||||
% --- Variablen fuer das Deckblatt (aus LTXKursTitel.sty) ---
|
||||
% --- Eigene Makros (zentral statt mehrfach tippen) ---
|
||||
\newcommand{\thn}{TH N\"urnberg Georg Simon Ohm}
|
||||
|
||||
% --- Variablen fuer das Deckblatt ---
|
||||
\DAAutor{Tom Ne\ss \par Cedric Fritzsch \par Lukas Klausen \par Gruppe 10.4}
|
||||
\DATyp{Praktikumsbericht Regelungstechnik V4}
|
||||
\DAAutorAdresse{Wassertorstra\ss e 10 \par 90489 N\"urnberg}
|
||||
@ -71,6 +65,4 @@
|
||||
|
||||
\listoftables
|
||||
|
||||
% Hinweis: Literaturverzeichnis kommt in Stufe 4 (\printbibliography).
|
||||
|
||||
\end{document}
|
||||
|
||||
40
plot.py
40
plot.py
@ -1,36 +1,34 @@
|
||||
"""
|
||||
plot.py -- erzeugt aus messwerte.csv:
|
||||
* plot.pdf Bode-Diagramm (Betrag und Phase)
|
||||
* tabelle.tex LaTeX-Tabelle der Messpunkte
|
||||
* werte.tex LaTeX-Makros: \\omegaKtheorie, \\omegaKmess, \\abweichung
|
||||
* tabelle.tex LaTeX-Tabelle (mit siunitx S-Spalten)
|
||||
* werte.tex LaTeX-Makros mit Rohzahlen (1.59 statt 1{,}59)
|
||||
|
||||
Idee: messwerte.csv ist die EINZIGE Quelle der Wahrheit. paper.tex
|
||||
enthaelt keine Messzahlen mehr. CSV aendern, plot.py laufen lassen,
|
||||
paper.tex neu kompilieren -- alles bleibt konsistent.
|
||||
Aenderung gegenueber Stufe 2:
|
||||
siunitx (\\SI{...}{...}) im paper.tex formatiert die Zahlen jetzt
|
||||
selber -- wir geben hier nur Rohzahlen mit Punkt aus. Das macht
|
||||
plot.py einfacher (kein "Komma-Bastel" mehr).
|
||||
"""
|
||||
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# 1) CSV einlesen ------------------------------------------------------
|
||||
# 3 Spalten: omega_rad_s, betrag_dB, phase_grad (erste Zeile = Ueberschrift)
|
||||
daten = np.loadtxt("messwerte.csv", delimiter=",", skiprows=1)
|
||||
omega = daten[:, 0] # Kreisfrequenz in rad/s
|
||||
betrag = daten[:, 1] # Amplitudengang in dB
|
||||
phase = daten[:, 2] # Phasengang in Grad
|
||||
|
||||
# 2) Theoretische Knickfrequenz (aus Identifikation der Strecke) -------
|
||||
# PT2-Modell der Drehzahl-Strecke: omega_n = 56 rad/s
|
||||
omega_K_theor = 56 # Knickfrequenz lt. Modell
|
||||
omega_K_theor = 56 # PT2-Modell, omega_n
|
||||
K_s_dB = betrag[0] # DC-Verstaerkung (tiefste Frequenz)
|
||||
|
||||
# 3) Gemessene Knickfrequenz: dort wo der Betrag um 3 dB faellt --------
|
||||
ziel_dB = K_s_dB - 3
|
||||
# np.interp braucht aufsteigende x-Werte; betrag faellt mit omega -> umdrehen:
|
||||
omega_K_mess = np.interp(ziel_dB, np.flip(betrag), np.flip(omega))
|
||||
abweichung = abs(omega_K_mess - omega_K_theor) / omega_K_theor * 100
|
||||
|
||||
# 4) Bode-Diagramm zeichnen (zwei Subplots: Betrag + Phase) ------------
|
||||
# 4) Bode-Diagramm zeichnen --------------------------------------------
|
||||
fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(5, 4), sharex=True)
|
||||
ax1.semilogx(omega, betrag, "o-")
|
||||
ax1.axhline(ziel_dB, linestyle=":", color="gray",
|
||||
@ -49,32 +47,26 @@ ax2.grid(True, which="both", alpha=0.3)
|
||||
fig.tight_layout()
|
||||
fig.savefig("plot.pdf")
|
||||
|
||||
# 5) Hilfsfunktion: Zahl mit deutschem Komma ---------------------------
|
||||
def deutsch(zahl, nachkommastellen=2):
|
||||
"""1.59 -> '1{,}59' (LaTeX-tauglich, deutsches Komma)."""
|
||||
text = f"{zahl:.{nachkommastellen}f}"
|
||||
return text.replace(".", "{,}")
|
||||
|
||||
# 6) Tabelle als LaTeX-Code schreiben ----------------------------------
|
||||
# 5) Tabelle (S-Spalten -- siunitx richtet am Komma aus) ---------------
|
||||
zeilen = [
|
||||
r"\begin{tabular}{rrr}",
|
||||
r"\begin{tabular}{S[table-format=4.1] S[table-format=-2.2] S[table-format=-3.1]}",
|
||||
r"\toprule",
|
||||
r"$\omega$ (rad/s) & Betrag (dB) & Phase ($^\circ$) \\",
|
||||
r"{$\omega$ (rad/s)} & {Betrag (dB)} & {Phase ($^\circ$)} \\",
|
||||
r"\midrule",
|
||||
]
|
||||
for i in range(len(omega)):
|
||||
zeilen.append(f"{omega[i]:g} & {deutsch(betrag[i])} & {deutsch(phase[i], 1)} \\\\")
|
||||
zeilen.append(f"{omega[i]:g} & {betrag[i]:.2f} & {phase[i]:.1f} \\\\")
|
||||
zeilen.append(r"\bottomrule")
|
||||
zeilen.append(r"\end{tabular}")
|
||||
|
||||
with open("tabelle.tex", "w", encoding="utf-8") as datei:
|
||||
datei.write("\n".join(zeilen) + "\n")
|
||||
|
||||
# 7) Werte als LaTeX-Makros schreiben ----------------------------------
|
||||
# 6) Werte als LaTeX-Makros (Rohzahlen -- siunitx formatiert deutsch) --
|
||||
with open("werte.tex", "w", encoding="utf-8") as datei:
|
||||
datei.write(r"\newcommand{\omegaKtheorie}{" + deutsch(omega_K_theor, 0) + "}\n")
|
||||
datei.write(r"\newcommand{\omegaKmess}{" + deutsch(omega_K_mess, 1) + "}\n")
|
||||
datei.write(r"\newcommand{\abweichung}{" + deutsch(abweichung, 1) + "}\n")
|
||||
datei.write(f"\\newcommand{{\\omegaKtheorie}}{{{omega_K_theor}}}\n")
|
||||
datei.write(f"\\newcommand{{\\omegaKmess}}{{{omega_K_mess:.1f}}}\n")
|
||||
datei.write(f"\\newcommand{{\\abweichung}}{{{abweichung:.1f}}}\n")
|
||||
|
||||
print("Fertig: plot.pdf, tabelle.tex, werte.tex")
|
||||
print(f" theoretisch: omega_K = {omega_K_theor} rad/s")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user