Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Project: test
Views: 1983
1
\documentclass[a4paper,11pt,twoside]{report}
2
% KOMPILOWAĆ ZA POMOCĄ pdfLaTeXa, PRZEZ XeLaTeXa MOŻE NIE BYĆ POLSKICH ZNAKÓW
3
4
% -------------- Kodowanie znaków, język polski -------------
5
6
\usepackage{standalone}
7
8
\usepackage{sagetex}
9
\usepackage{bxtexlogo}
10
\bxtexlogoimport{**}
11
\usepackage[utf8]{inputenc}
12
\usepackage{microtype}
13
\usepackage{float}
14
\usepackage[MeX]{polski}
15
%\usepackage[T1]{fontenc}
16
\usepackage[OT4]{fontenc}
17
\usepackage[english,polish]{babel}
18
\frenchspacing
19
20
21
\usepackage{listings}
22
\lstset{%
23
basicstyle=\ttfamily,
24
breaklines = false,
25
}
26
\usepackage{realboxes}
27
\usepackage{hyperref}
28
29
30
31
\usepackage[automake,toc]{glossaries}
32
\makeglossaries
33
34
35
36
%czcionka bezszeryfowa
37
\renewcommand*\familydefault{\sfdefault}
38
39
40
\usepackage{amsmath, amsfonts, amsthm, latexsym} % głównie symbole matematyczne, środowiska twierdzeń
41
42
\usepackage[final]{pdfpages} % inputowanie pdfa
43
44
\usepackage[backend=bibtex, sorting=none]{biblatex}
45
\bibliography{Elementy_Bibliografia.bib}
46
47
48
% Custom penalties
49
50
\hyphenpenalty = 100 % Dzielenie wyrazow
51
\uchyph=0 % Blokowanie przenoszenia wyrazow zaczynajacych sie wielka litera
52
\doublehyphendemerits=1000 % Przeniesienie w nastepujacych po sobie wierszach
53
\lefthyphenmin=3 % Minimalna liczna liter na końcu linii dzielonego wyrazu
54
\brokenpenalty=1000 % Przelamanie wyrazu miedzy strony
55
\widowpenalty=1000 % Pojedynczy wiersz na koncu strony
56
\clubpenalty=1000 % Pojedynczy wiersz na poczatku strony
57
\hfuzz=1pt % dopuszczalne przekroczenie prawego marginesu
58
59
% ---------------- Marginesy, akapity, interlinia ------------------
60
61
\usepackage[inner=20mm, outer=20mm, bindingoffset=10mm, top=25mm, bottom=25mm]{geometry}
62
63
64
\linespread{1.5}
65
\allowdisplaybreaks
66
67
\usepackage{indentfirst} % opcjonalnie; pierwszy akapit z wcięciem
68
\setlength{\parindent}{5mm}
69
70
71
%--------------------------- ŻYWA PAGINA ------------------------
72
73
\usepackage{fancyhdr}
74
\pagestyle{fancy}
75
\fancyhf{}
76
% numery stron: lewa do lewego, prawa do prawego
77
\fancyfoot[LE,RO]{\thepage}
78
% prawa pagina: zawartość \rightmark do lewego, wewnętrznego (marginesu)
79
%\fancyhead[LO]{\sc \nouppercase{\rightmark}}
80
% lewa pagina: zawartość \leftmark do prawego, wewnętrznego (marginesu)
81
%\fancyhead[RE]{\sc \leftmark}
82
83
%\renewcommand{\chaptermark}[1]{
84
%\markboth{\thechapter.\ #1}{}}
85
86
% kreski oddzielające paginy (górną i dolną):
87
\renewcommand{\headrulewidth}{0 pt} % 0 - nie ma, 0.5 - jest linia
88
89
90
\fancypagestyle{plain}{% to definiuje wygląd pierwszej strony nowego rozdziału - obecnie tylko numeracja
91
\fancyhf{}%
92
\fancyfoot[LE,RO]{\thepage}%
93
94
\renewcommand{\headrulewidth}{0pt}% Line at the header invisible
95
\renewcommand{\footrulewidth}{0.0pt}
96
}
97
98
99
100
% ---------------- Nagłówki rozdziałów ---------------------
101
102
\usepackage{titlesec}
103
\titleformat{\chapter}%[display]
104
{\normalfont\Large \bfseries}
105
{\thechapter.}{1ex}{\Large}
106
107
\titleformat{\section}
108
{\normalfont\large\bfseries}
109
{\thesection.}{1ex}{}
110
\titlespacing{\section}{0pt}{30pt}{20pt}
111
\titlespacing{\co}{akapit}{ile przed}{ile po}
112
113
\titleformat{\subsection}
114
{\normalfont \bfseries}
115
{\thesubsection.}{1ex}{}
116
117
118
% ----------------------- Spis treści ---------------------------
119
\def\cleardoublepage{\clearpage\if@twoside
120
\ifodd\c@page\else\hbox{}\thispagestyle{empty}\newpage
121
\if@twocolumn\hbox{}\newpage\fi\fi\fi}
122
123
124
% kropki dla chapterów
125
\usepackage{etoolbox}
126
\makeatletter
127
\patchcmd{\l@chapter}
128
{\hfil}
129
{\leaders\hbox{\normalfont$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill}
130
{}{}
131
\makeatother
132
133
\usepackage{titletoc}
134
\makeatletter
135
\titlecontents{chapter}% <section-type>
136
[0pt]% <left>
137
{}% <above-code>
138
{\bfseries \thecontentslabel.\quad}% <numbered-entry-format>
139
{\bfseries}% <numberless-entry-format>
140
{\bfseries\leaders\hbox{\normalfont$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill\contentspage}% <filler-page-format>
141
142
\titlecontents{section}
143
[1em]
144
{}
145
{\thecontentslabel.\quad}
146
{}
147
{\leaders\hbox{\normalfont$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill\contentspage}
148
149
\titlecontents{subsection}
150
[2em]
151
{}
152
{\thecontentslabel.\quad}
153
{}
154
{\leaders\hbox{\normalfont$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill\contentspage}
155
\makeatother
156
157
158
159
% ---------------------- Spisy tabel i obrazków ----------------------
160
161
\renewcommand*{\thetable}{\arabic{chapter}.\arabic{table}}
162
\renewcommand*{\thefigure}{\arabic{chapter}.\arabic{figure}}
163
%\let\c@table\c@figure % jeśli włączone, numeruje tabele i obrazki razem
164
165
% -------------------------- POCZĄTEK --------------------------
166
167
168
% --------------------- Ustawienia użytkownika ------------------
169
\newcommand{\praca}{Praca przejściowa/dyplomowa}
170
\newcommand{\dyplom}{inżynierska/magisterska}
171
\newcommand{\kierunek}{Wpisać kierunek}
172
\newcommand{\specjalnosc}{Wpisać specjalność}
173
\newcommand{\autor}{Wpisać imię i nazwisko}
174
\newcommand{\album}{Wpisać numer albumu}
175
\newcommand{\opiekun}{Dr hab. inż. Robert Zalewskim, prof. PW}
176
\newcommand{\promotor}{dr inż. Bogumił Chiliński}
177
\newcommand{\konsultant}{Wpisać konsultanta}
178
\newcommand{\tytul}{Wpisać tytuł pracy dyplomowej po polsku}
179
\renewcommand{\title}{Wpisać tytuł pracy dyplomowej po angielsku}
180
\newcommand{\supervisor}{dr inż. Bogumił Chiliński}
181
\newcommand{\rok}{Wpisać rok}
182
\newcommand{\kluczowe}{Słowa kluczowe: Wpisać słowa kluczowe po polsku}
183
\newcommand{\keywords}{Keywords: Wpisać słowa kluczowe po angielsku}
184
\newcommand{\aspect}[1]{\addcontentsline{toc}{paragraph}{#1}}
185
186
187
%%% Table of contents to list down to subsectns and no further - pokazywane poziomy - ustawić 2 do czytania, ustawić 4 do sprawdzenia spisu treści
188
\setcounter{tocdepth}{4}
189
190
%%% Number down to subsubsections only - głębokość numeracji
191
\setcounter{secnumdepth}{2}
192
193
194
195
\begin{document}
196
\sloppy
197
198
\begin{figure}[H]
199
\begin{center}
200
\includegraphics[width=6.3in,height=1.0in]{./media/image1.jpeg}
201
\end{center}
202
\end{figure}
203
204
%czcionka Adagio slab light
205
\begin{center}
206
{\fontsize{36pt}{43pt}\selectfont \praca \par}
207
\end{center}\par
208
%czcionka Adagio slab light
209
\begin{center}
210
{\fontsize{36pt}{43pt}\selectfont \dyplom} %usunąć niewłaściwe
211
\end{center}
212
213
%Helvetica light 12p
214
\begin{center}
215
{\fontsize{12pt}{12pt}\selectfont na kierunku \kierunek}
216
\end{center}\par
217
%Helvetica light 12p
218
\begin{center}
219
{\fontsize{12pt}{12pt}\selectfont w specjalności \specjalnosc}
220
\end{center}\par
221
%Helvetica light 14p
222
\begin{center}
223
{\fontsize{14pt}{14pt}\selectfont \tytul}
224
\end{center}
225
\begin{center}
226
{\fontsize{12pt}{12pt}\selectfont \title}
227
\end{center}\par
228
\vspace{\baselineskip}
229
%\begin{center}
230
%numer pracy według wydziałowej ewidencji prac: %tutaj nic nie piszemy
231
%\end{center}\par
232
233
%Helvetica light 21p
234
\setlength{\parskip}{0.0pt}
235
\begin{center}
236
{\fontsize{21pt}{21pt}\selectfont \autor \par}
237
\end{center}\par
238
239
\setlength{\parskip}{9.96pt}
240
\begin{center}
241
{\fontsize{12pt}{12pt}\selectfont \album ???}
242
\end{center}\par
243
244
\setlength{\parskip}{0.0pt}
245
\begin{center}
246
{\fontsize{12pt}{12pt}\selectfont Opiekun naukowy:}
247
\end{center}\par
248
249
\begin{center}
250
{\fontsize{12pt}{12pt}\selectfont \opiekun}
251
\end{center}\par
252
253
\begin{center}
254
{\fontsize{12pt}{12pt}\selectfont Promotor:}
255
\end{center}\par
256
257
\begin{center}
258
{\fontsize{12pt}{12pt}\selectfont \promotor}
259
\end{center}\par
260
261
\begin{center}
262
{\fontsize{12pt}{12pt}\selectfont Konsultacje:}
263
\end{center}
264
265
\begin{center}
266
{\fontsize{12pt}{12pt}\selectfont \konsultant}
267
\end{center}
268
269
\vspace{\baselineskip}
270
\setlength{\parskip}{2pt}
271
272
\vspace{\baselineskip}
273
\begin{center}
274
{\fontsize{12pt}{12pt}\selectfont Warszawa \rok}
275
\end{center}
276
\null\thispagestyle{empty}
277
278
279
% ------------------ STRONA Z PODPISAMI AUTORA/AUTORÓW I PROMOTORA ------------------
280
281
282
\thispagestyle{empty}\newpage
283
\null
284
285
\vfill
286
287
288
\null\thispagestyle{empty}\newpage
289
290
\null\thispagestyle{empty}\newpage
291
292
\null\thispagestyle{empty}\newpage
293
294
% --------------------- OŚWIADCZENIE -----------------------------------------
295
296
297
\autor
298
299
300
\vspace{\baselineskip}
301
302
\vspace{\baselineskip}
303
304
\vspace{\baselineskip}
305
\textbf{OŚWIADCZENIE }\par
306
307
\vspace{\baselineskip}
308
Jako autor pracy dyplomowej pt.: \par
309
310
"\tytul" ,\par
311
312
którą wykonałem/am samodzielnie przestrzegając zasad ochrony własności intelektualnej zezwalam na publiczne udostępnienie pracy i wyrażam zgodę na jej udostępnienie w Bibliotece Wydziału Samochodów i Maszyn Roboczych Politechniki Warszawskiej w ramach realizacji zadań statutowych biblioteki. \par
313
314
315
\vspace{\baselineskip}
316
317
\vspace{\baselineskip}
318
319
\vspace{\baselineskip}
320
Warszawa, dnia ???.\par
321
322
\begin{flushright}
323
/podpis/\par
324
325
\end{flushright}
326
327
\vspace{\baselineskip}
328
329
\vspace{\baselineskip}
330
331
\vspace{\baselineskip}
332
\begin{center}
333
\textbf{SŁOWA KLUCZOWE}
334
\end{center}\par
335
336
\vspace{\baselineskip}
337
338
\vspace{\baselineskip}
339
\kluczowe
340
341
342
\null\thispagestyle{empty}
343
344
%\null \hfill Warszawa, dnia ..................\\
345
346
%\vspace{5cm}
347
348
%\begin{center}
349
%Oświadczenie
350
%\end{center}
351
352
%\indent Oświadczam, że pracę \type ką pod
353
%tytułem ,,\tytul '', której promotorem jest \supervisor ,którą wykonałem
354
%samodzielnie przestrzegając zasad ochrony własności intelektualnej zezwalam na %publiczne udostępnianie pracy
355
%i wyrażam zgodę na jej udostępnianie w Bibliotece Wydziału Samochodów i Maszyn %Roboczych Politechniki Warszawskiej w ramach
356
%realizacji zadań statutowych biblioteki.
357
%\vspace{2cm}
358
359
360
%\begin{flushright}
361
% \begin{minipage}{50mm}
362
% \begin{center}
363
% ..............................................
364
%
365
% \end{center}
366
% \end{minipage}
367
%\end{flushright}
368
369
%\thispagestyle{empty}
370
%\newpage
371
372
%\null\thispagestyle{empty}\newpage
373
374
% ---------------------------- ABSTRAKTY -----------------------------
375
% W PRACY PO POLSKU, NAPIERW STRESZCZENIE PL, POTEM ABSTRACT EN
376
377
\null\thispagestyle{empty}\newpage
378
379
{
380
\begin{abstract}
381
382
\begin{center}
383
\textbf{\tytul}
384
\end{center}
385
386
Problematyką poruszoną w niniejszej pracy było opracowanie metodyki pisania prac dyplomowych i przejściowych, realizowanych na Politechnice Warszawskiej. Rezultatem podjętych przez Autorów prac jest dokument będący jednocześnie szablonem, a także propozycją metodyki planowania prac, mającą ułatwić studentom pisanie podobnych opracowań.
387
388
Na początku opracowania przedstawiono cel oraz zakres planowanych prac, a także motywację skłaniającą do podjęcia tematyki. Kolejno opisano przyjętą metodykę badawczą. W pierwszych rozdziałach opisany został proces przygotowania do tworzenia pracy dyplomowej, w którym ujęto takie aspekty jak kompozycja pracy oraz podkreślono ważność systematyczności jej opracowywania. Kolejno omówiona została poprawność językową oraz stylistyczna tekstu. Uzupełnieniem rozdziału było przedstawienie podstawowych i powszechnie używanych narzędzi wspomagających edycję tekstu oraz obliczenia inżynierskie. W ramach rozpatrywanego zagadnienia przeprowadzono analizę porównawczą dostępnego na rynku oprogramowania do edycji tekstu oraz wspomagającego prace inżynierskie, a następnie wybrano spośród nich spełniające, założone przez Autorów pracy cele i kryteria doboru. Wybranym oprogramowaniem wspomagającym pracę redakcyjną został \LaTeX, a środowisko wspomagające obliczenia inżynierskie - SageMath.
389
390
Następnie dokonano obszernego opisu składania tekstu w środowisku \TeX oraz działania przydatnych funkcji oraz pakietów służących formatowaniu i edycji tekstu, a także tworzeniu wzorów, tabel i rysunków. Środowisko SageMath wspomagające obliczenia inżynierskie zostało wyczerpująco opracowane w kolejnym rozdziale. Omówiono w nim język skryptowy Python oraz wiele przydatnych bibliotek ułatwiających i optymalizujących prace związane z tworzeniem skryptów oraz opracowywaniem wyników. Całość pracy została podsumowana syntetycznymi wnioskami.
391
392
393
%Słowa kluczowe są inne w streszczenia i inne w oświadczeniu!!!
394
\noindent \textbf{\kluczowe}
395
\end{abstract}
396
397
398
399
\null\thispagestyle{empty}
400
\newpage
401
402
{\selectlanguage{english}
403
\begin{abstract}
404
405
\begin{center}
406
\textbf{\title}
407
\end{center}
408
At the beginning of the paper present the construction of crankshafts and identify the phenomena that must be taken into account by designers at the stage of their design. These include vibrations that can lead the shaft to resonance. The methods of suppressing this phenomenon as well as tools for vibration analysis were introduced.
409
410
The methods of deriving equations of motion were presented and the mathematical model of the position was adopted in subsequent chapters. From the model the moment of inertia and torsional stiffness was calculated. Natural frequency was initially around $5$ $Hz$.
411
412
Then, the selection of the elements of the station is described, i. e. the selection of discs with a specific moment of inertia and the selection of springs with a specific torsional stiffness. As part of the verification of the calculations, the parameters of the elements were experimentally checked and the stand was additionally created in two variants of construction. Experiments have confirmed the formulae used in the calculations.
413
414
In the fifth chapter, a series of measurements of the lateral accelerations of the individual discs were carried out. Accelerations were measured with the free oscillating system and with the free oscillating system under the influence of extortion.
415
416
On the basis of the results of a series of measurements it can be concluded that the assumed model is good and the obtained results are qualitative and consistent with the calculations.
417
418
\noindent \textbf{\keywords}
419
\end{abstract}
420
}
421
\null\thispagestyle{empty}\newpage
422
423
% ------------------- 4. Spis treści ---------------------
424
\pagenumbering{gobble}
425
\tableofcontents
426
%\thispagestyle{empty}
427
428
%\newpage % JEŻELI SPIS TREŚCI MA PARZYSTĄ LICZBĘ STRON, ZAKOMENTOWAĆ
429
% ALBO JAK KTOŚ WOLI WTEDY DWIE STRONY ODSTĘPU, DODAĆ \null\newpage
430
431
% -------------- 5. ZASADNICZA CZĘŚĆ PRACY --------------------
432
\null\thispagestyle{empty}\newpage
433
\pagestyle{fancy}
434
\pagenumbering{arabic}
435
\setcounter{page}{11} % JEŻELI Z POWODU DUŻEJ ILOŚCI STRON W SPISIE TREŚCI SIĘ NIE ZGADZA, TRZEBA ZMODYFIKOWAĆ RĘCZNIE
436
437
% Intro
438
%\chapter*{Wstęp}
439
%\markboth{}{Wstęp}
440
%\addcontentsline{toc}{chapter}{Wstęp}
441
%\input{source/0_intro.tex}
442
443
%-------------------------- Proper chapters: ---------------------------------
444
445
% Wstęp
446
447
448
\chapter{Wstęp}
449
450
\section{Wprowadzenie do tematyki}
451
452
% Wyjaśnienie: Wprowadzenie do tematyki jest odpowiedzią na pytanie: o czym jest praca? Wprowadzenie do tematu powinno zawierać kilka ogólnych zdań na temat podejmowanej przez studetna problematyki. Ten podrozdział powinien zawierać krótki opis omawianego w pracy zagadnienia oraz problemy badawcze, które student będzie starał się wyjaśnić w swojej pracy. Poprawnie napisane wprowadzenie do pracy dyplomowej na pewno zachęci Czytelnika do dalszego zagłębienia się w jej tekst, a może i nawet do przeczytania całej pracy. We wprowadzeniu podaje się zwykle wiadomości istotne w sensie badawczym i pisarskim, okoliczności powstania problemu, niewystarczalność istniejących rozwiązań itp. Wstęp, podobnie jak zakończenie, powinien zostać ostatecznie zredagowany po zakończeniu pisania pracy.
453
\aspect{Czym jest praca dyplomowa}
454
Praca dyplomowa jest podsumowaniem wiedzy i umiejętności, jakie student powinien był nabyć w trakcie nauki na wyższej uczelni. Praca dyplomowa powinna być zatem opracowana samodzielnie i twórczo, jak również dotyczyć praktycznego lub teoretycznego problemu. Stanowi ona bowiem wizytówkę studenta, a także promotora, pod którego opieką powstawała. Zarówno student jak i promotor mają największy wpływ na jej tematykę, a także treść i formę. Należy więc zadbać o to, aby praca dyplomowa została przygotowana starannie i rzetelnie, zarówno na poziomie merytorycznym jak i redakcyjnym.
455
456
\aspect{Istotność wstępu pracy}
457
Wstęp jest jedną z najważniejszych części każdej pracy dyplomowej. Jako że jest najczęściej czytany, powinien zawierać więc krótkie omówienie problemu, będącego przedmiotem pracy oraz krótkie przedstawienie aktualnego stanu wiedzy - źródła literaturowe w zakresie poruszanej problematyki, oraz ewentualne hipotezy, które autor zamierza sprawdzić lub udowodnić. Dodatkowo należy uwzględniać motywacje, które skłoniły autora pracy do zajęcia się daną tematyką. Wszystkie te informacje mają za zadanie uzasadnić celowość podjęcia pracy oraz zaciekawić i zachęcić Czytelnika do dalszego zapoznania się z tematem.
458
459
\aspect{Cel pisania pracy dyplomowej}
460
Dla wielu studentów praca dyplomowa, poza próbą wykazania się umiejętnościami formułowania i rozwiązywania problemów, wykazaniem się znajomością metod analitycznych i sposobów badawczych, stanowi pierwszą, większą wypowiedź pisemną. Służy ona zatem nauce poprawnego pisania w stylu naukowym, a także nauce poprawnego redagowania i formatowania tekstu, tak aby struktura, konstrukcja, język i stylistyka pracy pozwalały Czytelnikowi na łatwe zrozumienie omawianej przez autora tematyki. W niniejszej pracy omówione zostaną zatem środowiska wspomagające pisanie pracy dyplomowej od strony redakcyjnej i inżynierskiej. W tym celu przedstawione i opisane zostanie oprogramowanie \LaTeX, wspomagające tworzenie pracy od strony redakcyjnej oraz formatowania oraz środowisko SageMath, wraz z przydatnymi bibliotekami, jako narzędzie wspomagające obliczenia inżynierskie.
461
462
\section{Cel i zakres pracy}
463
464
% Wyjaśnienie: Pisząc pracę, należy pamiętać o jej założonym celu. Każdy element pracy – rozdział, podrozdział, czy akapit musi mieć swój cel, a jego miejsce względem pozostałych elementów pracy nie może być przypadkowe. Celem pracy jest lepsze poznanie interesującej studenta problematyki, ale przede wszystkim wykazanie się umiejętnością formułowania i rozwiązywania problemów wiążących się z programem odbytych studiów, wykazanie się znajomością metod i sposobów prowadzenia analizy oraz redakcyjnego przygotowania pracy w oparciu o umiejętności nabyte w trakcie nauki. Należy pamiętać, iż cel pracy powinien być uzasadniony przydatnością do wykorzystania w przyszłości, np. w pracy (przemyśle), w kolejnym etapie edukacji bądź w pracy naukowej (studenci o ambicjach naukowych mogą spróbować opublikować fragmenty lub nawet całą pracę). Zakres pracy powinien prowadzić Czytelnika kolejno przez przedstawienie problemu, jego rozwiązanie oraz wnioski. Dlatego każdy kolejny element pracy musi stanowić ciąg dalszy poprzedniego, jego logiczną kontynuację – z pierwszego zdania danego akapitu powinno wynikać, jakiemu problemowi będzie on poświęcony, czyli innymi słowy jaki jest jego cel. Dzięki temu łatwiej będzie wprowadzać Czytelnika w daną tematykę, a następnie przechodzić do kolejnej.
465
466
%BCh: Plan
467
\aspect{głowny cel pracy - ogólny zarys}
468
Celem pracy jest opracowanie metodyki wykonywania prac i pisania tekstów inżynierskich jakimi są prace dyplomowe i przejściowe realizowane na Politechnice Warszawskiej. Proces przygotowania takiego opracowania składa się z dwóch aspektów, które najczęściej wykonywane są równolegle, rzadziej sekwencyjnie. Pierwszym aspektem jest realizacja celu, stanowiąca wartość dodaną. Drugi element to opis przeprowadzonych działań, który to w większości jest wymiernym efektem prowadzonych prac. W związku z tym, jakość tej części w sposób istotny wpływa na ocenę całego dzieła.
469
470
\aspect{Dodatkowe cele pracy}
471
Ponadto planowanym rezultatem przeprowadzony prac jest gotowy dokument będący jednocześnie szablonem tezy oraz pomocą mającą ułatwić studentom pisanie podobnych opracowań. W praktyce okazuje się, że studenci potrzebują dodatkowych materiałów pomocniczych. Przyczyną jest konieczność spełnienia wielu wymagań jakie stawia się tego typu tekstom oraz brak jednoznacznych wytycznych odnośnie do wszystkich aspektów występujących w pracach realizowanych na Politechnice Warszawskiej.
472
473
\aspect{Określenie głównych założeń}
474
Praktyka wskazuje, żę większość opracowań o charakterze inżynierskim lub naukowym wykazuje pewne podobieńtwo. Bazując tylko na wiedzy i doświadczeniu Autorów przyjęto, że analizowane prace charakteryzują się:
475
\begin{itemize}
476
\item stałą kompozycją,
477
\item występowaniem wzorów i zależności matematycznych,
478
\item koniecznością wykonywanie analiz oraz obliczeń,
479
\item obszernym materiałem ilustracyjnym w postaci zdjęć i wykresów,
480
\item formą typową dla tekstów naukowych.
481
482
\end{itemize}
483
W związku z tym, założono że w ramach tej pracy przygotowany zostanie tekst:
484
\begin{itemize}
485
\item zgodny z wymaganiami stawianymi opracowaniom inżynierskim lub naukowym realizowanym na Politechnice Warszawskiej,
486
\item zawierający wszystkie elementy typowe dla tego typu dzieł,
487
\item automatyzujący często powtarzające się działania.
488
489
\end{itemize}
490
491
492
\aspect{Zakres opracowania}
493
Wymiernym efektem przeprowadzonych prac jest dokument będący jednocześnie propozycją metodyki opracowywania tez oraz edytowalnym szablonem pracy dyplomowej.
494
495
496
497
498
499
\section{Motywacja i aktualny stan wiedzy}
500
501
% Wyjaśnienie: Wskazanie obszaru zainteresowań dla niektórych studentów może być dość proste, ponieważ będzie stanowiło konsekwencję dotychczasowych zainteresowań oraz ciekawości naukowo-badawczej. Dla niektórych jednak określenie problematyki, na temat której chcieliby napisać swoją pracę dyplomową będzie większym wyzwaniem. Studenci, którzy nie wiedzą lub są niezdecydowani co do wyboru obszaru tematycznego powinni przede wszystkim odpowiedzieć sobie na pytania: jaki problem omawiany na zajęciach był dla nich ciekawy i interesujący oraz czego chcieliby się dowiedzieć w obszarze danego tematu? Po umotywowaniu podjętego wyboru, kolejnym krokiem powinno być zweryfikowanie obszaru wybranej tematyki na tle aktualnego stanu wiedzy. Przegląd literatury przedmiotu jest niezbędny. Brak szczegółowo omówionego tematu w literaturze może stać się problemem w rozważaniach teoretycznych, ponieważ student będzie miał problemy aby skonfrontować swoje założenia. Należy jednak pamiętać, że z kolei zbyt szeroko omówiony temat może stać się przyczyną złego doboru literatury, ponieważ trudności sprawić może wówczas skupienie uwagi na konkretnym problemie. Przy opisywaniu aktualnego stanu wiedzy z odwołaniem do literatury należy skupić się na wskazaniu wad czy niedoskonałości obecnych rozwiązań oraz nowej jakości, którą należałoby w tym zakresie stworzyć.
502
503
\aspect{Motywacja}
504
Motywacją do stworzenia niniejszego szablonu była chęć pomocy studentom przy samodzielnym opracowywaniu pracy dyplomowej. Ze względu na niezadawalający poziom stylistyczny, a także kłopoty przy redagowaniu i formatowaniu prac tworzonych dotychczas przez studentów, autorzy niniejszego szablonu zdecydowali się na przygotowanie krótkiego opracowania mającego na celu ułatwienie studentom samodzielne redagowanie i edytowanie tekstów prac dyplomowych czy przejściowych. Jednocześnie jednak, szablon ma stanowić pomoc promotorom, ograniczając ich pracę wyłącznie do korekty merytorycznej, a nie jak miało to miejsce do tej pory, redakcyjnej, która może zostać wykonana samodzielnie przez studenta, już na etapie tworzenia pracy.
505
506
\aspect{Brak publikacji na ten temat}
507
Jako, że do tej pory na Wydziale Samochodów i Maszyn Roboczych, poza oficjalnymi wytycznymi pisania prac dyplomowych zamieszczonymi w zarządzeniu Rektora PW oraz informacjami, jakie można znaleźć na stronie Wydziału SiMR, nie powstała jeszcze praca o podobnej tematyce, autorzy tekstu pokładają ufność, iż dzięki ich wysiłkom, od teraz tworzenie, redagowanie i formatowanie tekstów prac dyplomowych będzie dla studentów dużo bardziej przystępne, a staranność nowopowstałych prac na najwyższym poziomie.
508
509
\aspect{Wymogi i kryteria tworzenia pracy}
510
Prace dyplomowe oraz przejściowe charakteryzują się pewnymi cechami związanymi ze stylem, językiem czy edycją tekstu. Właścicielem pracy wykonanej na uczelni, w ramach pracy dyplomowej jest jednostka naukowa. W przypadku prac tworzonych na wydziale Samochodów i Maszyn Roboczych, to właśnie wydział jest ich właścicielem. Z tego powodu narzucone są określone wymogi związane z wyglądem pracy. Wszelkie informacje dotyczące edycji tekstu, zawartości pracy czy innych wymogów są do znalezienia na stronie internetowej Wydziału SiMR: [ODNOŚNIK]. %http://www.simr.pw.edu.pl/Strona-glowna-wydzialu-SiMR/Studia/Dyplomy/Forma-i-zawartosc-pracy-dyplomowej KIEDY BĘDZIE BIBLIOGRAFIA TO ZMIENI SIĘ NA ODNOŚNIK
511
Oficjalne, ujednolicone wytyczne zawierają zarządzenia Rektora Politechniki Warszawskiej nr 43/2016 z dnia 8/09/2016 i nr 57/2016 z dnia 15/12/2016 [odnośnik][odnośnik]
512
513
\aspect{Publikacja o pokrewnej tematyce}
514
515
\aspect{Inna publikacja o pokrewnej tematyce}
516
517
518
519
\section{Metodyka badawcza}
520
521
% Wyjaśnienie: Praca dyplomowa powinna zawierać rozdział metodologiczny. Pierwszym krokiem na tym etapie powinien być wybór metodologii badawczej, to znaczy pewnej koncepcji, podejścia, schematu wg którego student będzie prowadził analizę omawianej przez niego problematyki. Kolejnym etapem powinno być określenie czynności zmierzających do osiągnięcia celu badawczego. Po doborze odpowiednich metod i czynności, przy pomocy, których będzie można przeprowadzić badania, należy zastanowić się nad tym jakie techniki badawcze i narzędzia zostaną wykorzystane i posłużą optymalizacji pracy studenta.
522
\aspect{Przedstawienie koncepcji analizy i badania}
523
524
Planuje się w ramach rozwiązywania rozpatrywanego zagadnienia przeprowadzenie analizy porównawczej dostępnego na runku oprogramowania do wspomagania prac inżynierskich.
525
526
następnie wybranie tych, które spełniać będą założone przez autorów pracy cele i kryteria doboru. K a także dwóch wybranych spośród wielu, pakietów optymalizujących pracę studenta. Jednym z nich będzie oprogramowanie wspomagającego pracę redakcyjną oraz środowisko wspomagające obliczenia inżynierskie. Pozwoli to na zaproponowanie łatwego procesu generowania dokumentów spełniających stawiane pracom dyplomowym warunki.
527
\aspect{Analiza porównawcza dostępnych pakietów - wybór}
528
529
\aspect{Opis wybranego edytora tekstu}
530
531
532
\section{Przygotowanie do pisania pracy dyplomowej}
533
\aspect{Czemu ma służyć praca dyplomowa?}
534
Przed rozpoczęciem pisania pracy dyplomowej należy pracę tę zaplanować, przemyśleć jej zakres oraz poznać wytyczne dotyczące zawartości i formatowania tekstu.
535
Sama praca dyplomowa ma na celu udowodnienie posiadania przez studenta umiejętności samodzielnego rozwiązywania problemu inżynierskiego lub naukowego, w oparciu o zdobytą w trakcie studiów wiedzę. Tematyka prac powinna być związana problemami technicznymi dotyczącymi budowy i eksploatacji maszyn, pojazdów itp. Dobrze, kiedy praca dyplomowa traktuje o nietypowych zagadnieniach czy rozwiązuje rzeczywisty problem.
536
537
W tym miejscu należy zaznaczyć, że właścicielem praw do pracy dyplomowej jest Wydział Samochodów i Maszyn Roboczych Politechniki Warszawskiej.
538
539
\aspect{Przygotowanie spisu treści}
540
Dobrym przygotowaniem i planem pracy jest spis treści. Dokładne przemyślenie spisu treści pozwala zapanować nad logiką pracy, wyznacza kierunki jej rozwoju, zbiera informacje dotyczące koniecznej do zastosowania teorii. W pierwszych fazach powstawania pracy, sugeruje się aby spis treści był podzielony na jak najwięcej konkretnych punktów. Każdy punkt powinien wskazywać na jedno, wyspecjalizowane zagadnienie. Przykład: jeżeli rozdział o oscylatorze harmonicznym ma zawierać rysunek, opis, równania i podsumowanie, należy stworzyć cztery punkty używając środowiska \LaTeX warto posłużyć się komendą {\lstinline|\aspect|. Prowadzi to do podziału pracy na rozdziały ({\lstinline|\chapter|), podrozdziały ({\lstinline|\section|) i niewyszczególnione w docelowym spisie treści punkty - zagadnienia ({\lstinline|\aspect|).
541
542
\aspect{Systematyczność w przygotowywaniu pracy i egzekwowanie postępów}
543
Ułożenie przemyślanego i skonsultowanego z opiekunem spisu treści ułatwia zachowanie systematyczności w wykonywaniu prac. Postępy w tworzeniu pracy są egzekwowane i oceniane przez opiekuna. Niewywiązywanie się z ustalonych terminów i jawne ignorowanie zasad pisania prac dyplomowych skutkuje brakiem możliwości ponadnormatywnego konsultowania pracy, a nawet wydaleniem z grona dyplomantów będących pod opieką danego opiekuna. Ponadto, spis treści pozwala przezwyciężyć trudności związane z utrzymaniem uwagi na temacie pracy.
544
545
\aspect{Struktura pracy dyplomowej}
546
Struktura pracy dyplomowej wykonanej na Wydziale Samochodów i Maszyn Roboczych jest określona przez wymieniony w rozdziale pierwszym dokument. Dyplom ma zawierać następujące elementy (podane w kolejności występowania):
547
548
\begin{enumerate}
549
\item Strona tytułowa - zgodna z szablonem strony tytułowej dostępnym na stronie APD,
550
\item Oświadczenie autora,
551
\item Słowa kluczowe - 3-4 słowa pozwalające łatwo odnaleźć pracę i rozwiązywany w niej problem,
552
\item Streszczenie w języku polski i w języku obcym - obie wersje muszą być jednakowe co do treści. Pod streszczeniami musi znaleźć się odręczny podpis autora i prowadzącego pracę,
553
\item Spis treści - w przypadku pracy zespołowej należy jednoznacznie zaznaczyć wykonawców poszczególnych rozdziałów,
554
\item Kolejne rozdziały pracy
555
\item Bibliografia,
556
\item Wykaz symboli i skrótów,
557
\item Spis rysunków,
558
\item Spis tabel,
559
\item Spis załączników,
560
\item Załączniki
561
562
\end{enumerate}
563
564
Szczegółowy opis poszczególnych rozdziałów znajduje się w innych częściach niniejszego opracowania.
565
566
\aspect{Spójnośc i logika w podziale pracy}
567
Praca powinna być podzielona w sposób logiczny, pozwalający na bezproblemowe zapoznanie się z tokiem rozumowania autora. Konieczne jest jasne sformułowanie celu i motywacji pracy. Należy zawrzeć opisy niezbędnych narzędzi i kroków wykonanych w celu rozwiązania postawionego problemu. Całość powinna być podsumowana nietrywialnymi wnioskami, które można wysnuć na podstawie przeprowadzonych działań.
568
569
\section{Opracowanie językowe tekstu}
570
\aspect{Poprawność składniowa}
571
Każde opracowanie w formie pisemnej należy tworzyć zachowując jeden czas, osobę i formę zdań. Zalecanymi do użycia środkami językowymi są:
572
\begin{itemize}
573
\item Czas przeszły, o autorze wypowiada się w trzeciej osobie. Przykład: \textit{Autor wykorzystał istniejącą infrastrukturę badawczą. Dzięki niej przeprowadzono szereg eksperymentów}.
574
\item Używanie biernego trybu czasowników. Przykład: \textit{Eksperyment został przeprowadzony}.
575
\end{itemize}
576
577
\aspect{Neutralnośc opisu i oceny, błędy stylistyczne}
578
Należy powstrzymać się od osobistych ocen faktów opisywanych w pracy, niepotrzebnego skalowania przymiotników oraz wyrazów uważanych za kolokwializmy i słownictwa tzw. warsztatowego. Autor nie powinien za wszelką cenę unikać powtórzeń. Praca inżynierska czy magisterska z zakresu nauk ścisłych wymaga precyzyjnego wypowiadania się. Często próba zastąpienia ścisłego terminu fizycznego innym, prowadzi do nieporozumienia albo wręcz do zmiany sensu zdania.
579
580
\section{Narzędzia edycji tekstu}
581
\aspect{Opis wybranych programów do edytowania tekstów}
582
Najpopularniejszym narzędziem do tworzenia prac dyplomowych jest środowisko "MS Office" i zawarty w nim edytor tekstu "Word". Jest to program działający w formule "What you see is what you get" (WYSIWYG), co znaczy "to co widzisz jest tym co otrzymasz". Na tej samej zasadzie działają inne edytory tekstu zawarte w pakietach takich jak OpenOffice, LibreOffice, Google Docs czy Office Online (dostępny dla studentów Politechniki Warszawskiej). Mimo wielu zalet i wygody polegającej na możliwości ciągłego podglądu pracy, tego typu edytory mają swoje wady. Korzystanie z tego oprogramowania stwarza kłopoty podczas edycji długiego tekstu, podziału stron, umieszczania rysunków, numeracji wzorów czy ilustracji.
583
584
\aspect{Alternatywy}
585
Alternatywą dla systemów "WYSIWYG" jest środowisko \LaTeX i jemu podobne. Jest ono szczególnie użyteczne w przypadkach prac zawierających wiele wzorów matematycznych, rysunków, podziałów logicznych na akapity i podakapity. \LaTeX pozwala na automatyzację wielu operacji takich jak numeracja wzorów, cytowania pozycji literaturowych. W kombinacji z platformami integrującymi środowiska obliczeniowe z edytorami tekstu takie jak CoCalc, otrzymuje się narzędzie pozwalające na daleko posuniętą automatyzację pracy. Możliwe jest importowanie do tekstu wyników symulacji, rozwiązanych równań czy wieloelementowych macieży. Znacząco skraca to czas potrzebny na wprowadzenie takich obiektów do opracowania. Więcej na temat \LaTeX znajduje się w dalszych rozdziałach niniejszego opracowania.
586
587
Porównująć do siebie środowiska do edycji tekstów WYSIWYG i środowiska typu \LaTeX do opracowywania prac dyplomowych wybrano te drugie, jako usprawniające przebieg prac. Dodatkowo, środowisko CoCalc pozwala na równoległą edycję dowolnych plików przez kilku użytkowników. Stwarza to nowe pola do współpracy między studentem a opiekunem naukowym.
588
589
\section{Programy wspomagające obliczenia inżynierskie}
590
\aspect{Opis wybranych programów, pakietów obliczeniowych}
591
W trakcie prac naukowych czy technicznych często pojawiają się problemy związane z rozwiązywaniem złożonych zagadnień. Z pomocą przychodzą programy wspomagające obliczenia inżynierskie. Problemy, które dzięki nim można rozwiązać są bardzo zróżnicowane. Oprogramowanie tego typu jest nieocenioną pomocą przy skomplikowanych obliczeniach symbolicznych, numerycznych czy przy analizie dużych zbiorów danych. Dalsza część podrozdziału służy krótkiemu opisowi przykładowych programów.
592
\begin{enumerate}
593
\item \textbf{MatLab} jest popularnym oprogramowaniem służącym do obliczeń numerycznych. Konsekwencją swojej powszechności jest duże rozbudowanie środowiska, obecność wielu wyspecjalizowanych narzędzi i makr do obliczeń konkretnych problemów (np: analiza statystyczna), mnogość poradników, podręczników, filmów instruktażowych itp. Cechą charakteryzującą MatLaba jest traktowanie każdej zmiennej jako macierzy. Ma to wpływ na logikę tworzenia kodów. Pakiet MatLab zawiera program Simulink, który pozwala w graficzny sposób modelować problemy inżynierskie takie jak rozwiązywanie równań różniczkowych. Dla studentów Politechniki Warszawskiej pakiet MatLab jest dostępny za darmo.
594
\item \textbf{Octave, SciLab} są to programy bliźniaczo podobne do MatLaba. Jedynie SciLab korzysta z nieco odmiennej składni. Logika jednak pozostaje ta sama. Oba produkty są programami typu \textit{open source}.
595
\item \textbf{Python} jest językiem programowania wysokiego poziomu. Nadaje się do wielu zastosowań. Założeniem jego twórców jest łatwość i klarowność pisanego kodu. Python jest standardowo wyposażony w wiele użytecznych blibliotek. \textbf{SageMath} jest stworzony w języku Python i służy do wspomagania operacji matematycznych. Więcej informacji na temat Pythona i SageMath, jako jednych z użyteczniejszych środowisk, zostanie przedstawione w dalszej części pracy.
596
\item \textbf{MathCad} jest programem służącym do obliczeń algebraicznych. Jego zaletą jest przejrzystość interfejsu i łatwość przygotowywania obliczeń. Program pozwala na przeprowadzanie obliczeń symbolicznych i numerycznych.
597
\item \textbf{Mathematica} to komercyjny system obliczeń symbolicznych i numerycznych opracowany w 1988 przez Stephena Wolframa. W ciągu swojego istnienia stał się popularny w środowisku naukowców i inżynierów. Mathematicę charakteryzują wysoka wydajność, szerokie możliwości wizualizacji i prezentacji danych oraz przenośność. Obecnie jest dostępna na większość platform 32- i 64-bitowych.
598
Komercyjną konkurencją dla pakietu Mathematica jest Maple. Spośród wolnego oprogramowania podobne funkcje oferują programy Maxima oraz Sage.
599
\item \textbf{Maxima} jest programem do obliczeń symbolicznych. W swoim działaniu jest podobna do programu Mathematica. Zaletą Maximy jest to, że jest to program darmowy.
600
\item \textbf{Ansys, Abaqus} są to programy do tworzenia analiz metodą elementów skończonych. Pozwalają na tworzenie modeli, importowanie geometrii z programów CAD, dyskretyzację (tworzenie siatki), ustalanie warunków brzegowych, określanie scenariusza symulacji (np: obciążenia). Z tych programów możliwe jest uzyskanie między innymi takich informacji jak naprężenia, odkształcenia, częstości własne, postacie drgań.
601
\item \textbf{Comsol} jest programem bazującym na metodzie elementów skończonych. Jest podobny do programów takich jak Ansys czy Abaqus. Różni się od nich tym, że w łatwy sposób umożliwia przeprowadzenie analiz układów w których występują zjawiska z różnych dziedzin fizyki np: sprzężenia elekto-chemiczne, termo-mechaniczne. Zaletami Comsola są również łatwy dostęp do równań wykorzystywanych przy obliczeniach oraz możliwość wpływania na dowolny parametr układu. Jest to oprogramowanie skierowane \textit{stricte} dla naukowców, przez co jest mało popularne i trudno dostępne.
602
\end{enumerate}
603
604
%do rozważenia
605
%\section{Programowanie}
606
607
\chapter{Oprogramowanie \LaTeX}
608
609
\aspect{Opis oprogramowania, jego zalety, porównanie z alternatywnymi narzędziami}
610
\section{Składania tekstu z wykorzystaniem środowiska \TeX}
611
Obecnie każdy użytkownik komputera jest zmuszony do częstego pisania dokumentów tekstowych w postaci sprawozdań, wniosków, podań, prac dyplomowych itd. W tym celu powstało wiele programów komputerowych, które w różny sposób pomagają rozwiązywać problemy edytorskie. Najbardziej znanym program jest Microsoft Word. Już od najmłodszych lat w szkołach uczy się tego oprogramowania. Jednak w trakcie wykonywania złożonych problemów takich jak obliczenia inżynierskie oraz pisanie prac dyplomowych napotkano wiele problemów, które wymagają innego podejścia niż oferuje oprogramowanie. W zawodowym środowisku edytorskim (np. składanie książek oraz artykułów naukowych) powszechnie stosowanych oprogramowanie jest system {{\LaTeX}}. Jest to forma pisania tekstu poprzez programowanie. Dla początkujących osób może się ona wydawać nieprzyjaznym środowiskiem. Jednakże po zdobyciu podstawowej wiedzy na temat tego programu można zaobserwować potencjał oferowany przez środowisko \LaTeX. W ramach pisania pracy dyplomowej zdecydowano się na korzystanie z platformy Cocalc. Jest to środowisko sprzęgające ze sobą możliwość pisania dokumentów w \LaTeX oraz wykonywania złożonych obliczeń inżynierskich w środowisku SageMath lub z wykorzystaniem języka Python.
612
613
\aspect{Opis konstrukcji pliku tekstowego}
614
\section{Struktura dokumentu}
615
Oprogramowanie \LaTeX umożliwia tworzenie dokumentów tekstowych. Niestety nie przypomina pod względem graficznym dobrze znanego większości osób programu 'Word'. Strukturę pisania dokumentu można podzielić na kilka etapów:
616
617
\begin{itemize}
618
\item Ogólne określenie formatu dokumentu (ustawienie czcionki, rozmiaru, marginesów, podział na kolumny itd.)
619
620
\item wczytanie odpowiednich paczek oraz pakietów umożliwiających wykonanie wszystkich dalszych czynności pisania pracy (np. pisanie wzorów, wstawianie rysunków, cytowanie bibliografii itd.)
621
622
\item zamieszczanie tekstu, wzorów, rysunków i innych elementów według schematów opisanych w kolejnych rozdziałach,
623
624
\item tworzenie bibliografii, spisu tabel, rysunków oraz załączników,
625
626
\item możliwość ciągłego podglądania dokumentu w postaci pliku .pdf
627
628
\end{itemize}
629
630
Forma dokumentu została przygotowana według wytycznych przedstawionych przez komisję dyplomową. Zadaniem każdego studenta jest wypełnienie dokumentu tekstem według schematów przestawianych w tej pracy.
631
632
\aspect{Opis kodu definiującego format tekstu oraz możliwości wykonywania zadań}
633
\section{Wykorzystywanie pakietów oraz formatowanie}
634
635
Formuła umżliwiająca wykorzystanie odpowiedniego pakietu składa się z {\lstinline{\usepackage{nazwa odpowiedniej paczki}}}. Na początku nauki oprogramowania \LaTeX\ problem może stanowić brak wiedzy w kwestii wczytywania odpowiednich paczek. Dlatego też w tym celu należy koszytać z literatury (\cite{ksiazka_latex_2})
636
637
Formatowanie dokumentu można wykonać w sposób globalny oraz lokalny. Pierwszą komendą dokumentu {\lstinline|.tex| jest {\lstinline|\documentclass{klasa}}|.
638
639
W dalszej części pracy istnieje możliwość zmiany formatu poszczególnych tekstów m.in:
640
641
\begin{itemize}
642
\item wielkość czcionki,
643
644
\item styl,
645
646
\item pogrubienie,
647
648
\item kursywa,
649
650
\item wyśrodkowanie,
651
652
\item inne.
653
654
\end{itemize}
655
656
Składnie funkcji pozwalające zmienić lokalnie wygląd tekstu zamieszczono w rozdziale - przydatne funkcje.
657
658
\aspect{Opis procesu tworzenia i numerowania wzorów}
659
\section{Wstawianie wzorów, tabel oraz rysunków}\label{sec:elems_include}
660
Tworząc pracę dyplomową niezbędne jest przedstawienie wzorów pozwalających rozwiązać określony problem inżynierski. Aby wstawić wzór matematyczny należy odpowiednią komendą {\lstinline|\begin{equation}}| rozpocząć oraz {\lstinline|\end{equation}}| zakończyć strukturę wzoru. Następnie wykorzystując odpowiednią składnię należy zbudować docelowy wzór. W tym celu pomocne będzie korzystanie ze stron internetowych \cite{www_latex_1} i \cite{www_latex_2}. Do każdego wzoru należy dodać etykietę wykorzystując funkcję {\lstinline|\label{eq:nazwaetykiety}}|. Nazwa etykiety powinna być unikatowa, ponieważ wyeliminuje to powtórzenia w trakciv wstawiania odnośników do tekstu. Odwołanie do wzoru wykonuje się poprzez wstawienie w tekście komendy {\lstinline|\ref{eq:nazwaetykiety}}|. Przestrzeganie powyższych zasad powoduje automatyczne numerowanie wzoru, a dodawanie unikatowych odnośników wyeliminuje niebezpieczeństwo popełnienia błedu w cytowaniu. Jeżeli we wzorze wystąpi nowy symbol należy go opisać. W tym celu należy użyć funkcji {\lstinline|\begin{describe}}| i {\lstinline|\end{describe}}|.
661
662
\begin{equation}
663
n=\frac{E}{c \varphi }=\frac{U-R_{t} \cdot I_{t}}{c \varphi }
664
\label{eq:predkosc_obrotowa}
665
\end{equation}
666
667
gdzie:
668
669
\begin{description}
670
\item[$x^2$] współrzędna
671
\end{description}
672
673
674
\newglossaryentry{pi}
675
{
676
name={\ensuremath{\pi}},
677
description={ratio of circumference of circle to its
678
diameter},
679
sort=pi
680
}
681
\gls{pi} - \glsdesc{pi}
682
683
684
685
686
\aspect{Opis budowy struktury i systematyzowania rysunków}
687
Podobnie wygląda wstawianie do dokumentu rysunków. Każdy rysunek powinien znaleźć się w tym samy folderze, co plik dokumentu \LaTeX. Składania wstawiania rysunków jest analogiczna jak w przypadku wzórów. Również należy rozpocząć komendą begin. Litera H w nawiasie kwadratowym powoduje wstawienie rysunku w miejsce gdzie wpisana jest struktura. Jest to istotne ze względu na to, że \LaTeX ma tendencje do wykorzystywania wolnej przestrzenie dokumentu, a wpisanie np. małej litery h spowoduje ustawienie wzoru w optymalne miejsce na stronie, niekoniecznie w miejscu, w którym znajduje się struktura. Funkcja {\lstinline{\centering}} powoduje wyśrodkowanie rysunku oraz jego podpisu. Wstawianie odpowiedniego rysunku wywołuje się poprzez koemendę {\lstinline{\includegraphics}}. W nawiasie klamrowym należy podać źródło pliku. Rysunki należy zapisywać w rozszerzeniu .jpg. Funkcja caption pozwala na dodanie podpisu pod rysunkiem. Komenda Label tak jak w przypadku wzórów umożliwia nadanie unikatowej etykiety. Cytowanie rysunku odbywa się poprzez wstawienie komendy {\lstinline{\ref{fig:nazwa etykiety}}}. Na koniec należy całość zakończyć przez {\lstinline{\end{figure}}}.
688
689
\begin{lstlisting}[language=Python]
690
\begin{figure}[H]
691
\centering
692
\includegraphics{./media/stanowisko_real.jpg}
693
\caption{Gotowe stanowisko}
694
\label{fig:Gotowe_stanowisko}
695
\end{figure}
696
\end{lstlisting}
697
698
\begin{figure}[H]
699
\centering
700
\includegraphics{./media/stanowisko_real.jpg}
701
\caption{Gotowe stanowisko}
702
\label{fig:Gotowe_stanowisko}
703
\end{figure}
704
705
\aspect{Opis budowy struktury tabel}
706
Początek i koniec budowy tabeli \ref{tab:Res_exp} jest analogiczny do tworzenia wzorów czy rysunków. Nowością jest definiowanie liczby kolumn poprzez dodawanie kolejnych pozycji w składni: \lstinline{ | l | l | l | l | l | l | l | l |}. \lstinline{\hline} rysuje w tabeli linię poziomą. Następnie należy wypełniać pola tabeli.Przechodzenie do następnej kolumny wykonuje się poprzez wstawienie \lstinline{&}. Zakończenie wiersza i przejście do następnego umożliwia komenda \lstinline{\\}. Poniżej przedstawiono pełną budowę tabeli.
707
708
\begin{lstlisting}[language=Python]
709
\begin{table}[H]
710
\centering
711
\begin{tabular}{ | l | l | l | l | l | l | l | l |}
712
\hline
713
Nazwa 1 & Nazwa 2 & Nazwa 3 & Nazwa 4 & Nazwa 5 & Nazwa 6 &
714
Nazwa 7 \\ \hline
715
0.94 & 0.97 & 0.91 & 0.92 & 0.95 & 0.938 & 1 \\ \hline
716
\end{tabular}
717
\caption{Wyniki eksperymentu} \label{tab:Res_exp}
718
\end{table}
719
\end{lstlisting}
720
721
\begin{table}[H]
722
\centering
723
\begin{tabular}{ | l | l | l | l | l | l | l | l |}
724
\hline
725
Nazwa 1 & Nazwa 2 & Nazwa 3 & Nazwa 4 & Nazwa 5 & Nazwa 6 &
726
Nazwa 7 \\ \hline
727
0.94 & 0.97 & 0.91 & 0.92 & 0.95 & 0.938 & 1 \\ \hline
728
\end{tabular}
729
\caption{Wyniki eksperymentu} \label{tab:Res_exp}
730
\end{table}
731
732
\aspect{Systematyzacja spisów rysunków, tabel}
733
\section{Automatyczne generowanie spisów rzeczy}
734
Jednym z wymagań prac dyplomowych jest przedstawienie m.in. spisu rysunków i tabel. Operacje te można wywołać poprzez wstawienie funkcji \lstinline{\listoffigures} i \lstinline{\listoftables}. Należy jednak pamiętać, aby struktura wszystkich tabel oraz rysunków posiadała formę przedstawioną w pracy. W niniejszej pracy w docelowym miejscu wstawiono powyższe funkcje, a spisy wykonują się automatycznie. Stanowi to duże uproszczenie w pisaniu pracy dyplomowej, ponieważ należy pamiętać o wstawianiu poszczególnych elementów w formie przedstawionej niniejszym dokumencie.
735
736
\aspect{Opis tworzenia spisu bibliograficznego i cytowania w tekście}
737
\section{Tworzenie bibliografii - środowisko Bib\LaTeX}
738
Jednym z elementów prac dyplomowych jest bibliografia. Środowisko Latex umożliwia bezbłędne wstawianie pozycji literaturowych. W tym celu wykonano kilka kroków niezbędnych do stworzenia bibliografii:
739
740
\begin{itemize}
741
\item stworzono plik z rozszerzenie .bib (na potrzeby prac dyplomowych w folderze znajduje się plik o nazwie {\lstinline{Elementy_bibliografia.bib}} i jego należy modyfikować) oraz dodano do niego pozycje literaturowe.
742
743
\item każda pozycja w pliku .bib rozpoczyna się od komendy \lstinline|@article(indywidualna nazwa pozycji,...)| (dla artykułów) oraz {\lstinline{@book(indywidualna nazwa pozycji,...)}} (dla książek)
744
745
\item przykładowa pozycja literaturowa w pliku .bib:
746
\lstinline|@article{rubber_bands,
747
title = {Do rubber bands acts like springs?},
748
url = {https://www.wired.com/2012/08/do-rubber-bands-act-like-springs/},
749
abstract = {Do rubber bands acts like springs?},
750
urldate = {26.08.08},
751
author = {Rhett Allain},
752
year = {2012}}|
753
754
\item cytowanie w tekście kolejnych pozycji z plik {\lstinline{.bib}} powoduje automatyczne wstawianie odnośnika oraz pojawienie się zacytowanej pozycji w rozdziale Bibliografia.
755
756
\item w tekście źródłowym w miejscu wyświetlania bibliografii wstawiono funkcję {\lstinline{\printbibliography}}
757
758
\item cytowanie pozycji odbywa się poprzez wstawienie do tekstu funkcji \lstinline|\cite{indywidualna nazwa pozycji w pliku .bib}|
759
760
przykład: W artykule (\lstinline|\cite{rubber_bands}|}) \cite{rubber_bands} przedstawiono możliwości zastosowania...
761
762
Należy zwrócić uwagę, że taki zabieg dodaje na koniec pracy (w bibliografii) informacje o zacytowanej pozycji literaturowej.
763
764
765
766
\end{itemize}
767
768
\aspect{Dodatkowe informacje o przydatnych funkcjach}
769
%Zostały wybrane tylko niektóre, pozostałe należy analizować w linkach znajdujących się w bibliografii.
770
\section{Przydatne funkcje}
771
772
W tym rozdziale przedstawiono zbiór funkcji, które pomogą sformatować tekst, wzory, tabele, rysunki i inne rzeczy w oczekiwany przez projektanta sposób. Ze względu na błędy sposób wyświetlania specjalnych znaków w podglądzie oraz dokumencie pdf należy zwrócić uwagę na formę składni znajdującą się w pliku źródłowym ( {\lstinline{.tex}})
773
774
\aspect{Przykłady}
775
\begin{itemize}
776
\item Wstawianie komentarzy do dokumentu źródłowego odbywa się poprzez wstaweinie $\%$ na początku zdania,
777
\item {\lstinline{\textbf{tekst}}} pogrubienie tekstu,
778
\item {\lstinline{\newpage}} wstawienie nowej strony,
779
\item $ I_{t} $ - wstawienie symbolu,
780
\item wstawianie macierzy: struktura oraz jej reprezentacja graficzna:
781
782
\begin{lstlisting}[language=Python]
783
$$K={\left[\begin{array}{ccc} 8.6 & -19.7 & 14.8 \\
784
-19.7 & 54.4 & -56.8 \\
785
14.8 & -56.8 & 98.9 \end{array}\right]} \cdot 10^4 $$ \end{lstlisting}
786
787
$$K={\left[\begin{array}{ccc} 8.6 & -19.7 & 14.8 \\-19.7 & 54.4 & -56.8 \\14.8 & -56.8 & 98.9 \end{array}\right]} \cdot 10^4 $$
788
789
\item {\lstinline{\eqref{nazwa etykiety wzoru}} odnośnik do wzoru wyświetlany w nawiasie okrągłym ,
790
\item {\lstinline{\ref{nazwa etykiety wzoru}}} odnośnik do wzoru wyświetlany bez nawiasu,
791
792
\item Aby użyć innych funkcji należy skorzystać z książek \cite{ksiazka_latex_1} i \cite{ksiazka_latex_2} oraz stron internetowych \cite{www_latex_1} i \cite{www_latex_2}
793
794
\item Przykładowe wzory zamieszczono w załącznikach (na końcu pracy).
795
\end{itemize}
796
797
798
\chapter{Wspomagane komputerowo obliczenia w środowisku SageMath}
799
\section{Środkowisko SageMath}\label{sec:sage_math}
800
\aspect{Czym jest SageMath}
801
Środowisko SageMath (wcześniej SAGE od ang. Software for Algebra and Geometry Experimentation) jest programem typu CAS (System algebry komputerowej z ang. Computer algebra system).
802
\aspect{Informacje podstawowe}
803
Autorem jest William A. Stein, który zaproponował koncepcję integracji wielu specjalistycznych narzędzi, zamiast tworzenia nowego oprogramowania od podstaw. Środowisko to stanowi wspólną platformą dla wielu zaawansowanych narzędzi i bibliotek programistycznych do wspomagania skomplikowanych obliczeń matematycznych. System Sage pozwala na wykonywanie działań w sposób symboliczny oraz numeryczny.
804
\aspect{Zakres zastosowań}
805
Całość środowiska została napisana w języku Python (głównie implemtacja CPython) i umożliwia:
806
\begin{itemize}
807
\item obliczenia statystyczne - pakiet R oraz biblioteki NumPy,
808
\item operacje symboliczne - program Maxima oraz biblioteka SymPy,
809
\item symulacje numeryczne - biblioteka NumPy oraz pakiet Octave,
810
\item bezpośrednie zastosowanie Python'a - terminal IPython,
811
\item integrację obliczeń z tekstem - dokument \LaTeX\ oraz moduł \SageTeX,
812
\item pracę w środowisku rozproszonym - interfejs www na domenie www.cocalc.com.
813
814
\end{itemize}
815
\aspect{Zalety środowiska SageMath}
816
Program składa się tylko z darmowych bibliotek i jest rozprowadzany na licencji GNU GPL. Oznacza to, możliwość całkowicie darmowego użytku do celów prywatnych oraz komercyjnych.
817
Przedstawione zalety powodują, że środowisko SageMath stanowi ciekawą alternatywę dla płatnych programów takich jak Mathematica, MATLAB czy MathCad. Szczególnie wygodne jest jego zastosowanie przy pisaniu dłuższych tekstów o charakterze naukowym, ze względu na możliwość wykorzystania środowiska \LaTeX oraz integrację systemu CAS z edytorem tekstu.
818
819
\section{Język skryptowy Python}
820
%BCh: Plan:
821
\aspect{Co to Python?}
822
Python jest wieloparadygmatowym językiem programowania wysokiego poziomu ogólnego przeznaczenia. Jednym z podstawowych założeń twórców było stworzenie języka o bardzo wysokiej czytelności kodu.
823
\aspect{Składnia języka Python}
824
Struktura programu stanowi jeden z elementów składni. Jest to wygodne, ponieważ zmusza programistę do dbania o zachowanie odpowiedniej przejrzystości kodu.
825
\aspect{Paradygmaty i działanie}
826
Omawiany język wspiera koncepcje programowanie strukturalnego, imperatywnego, obiektowego oraz w pewnym stopniu funkcyjnego. Ponadto Python charakteryzuje się dynamicznym typowaniem danych oraz automatycznym zarządzaniem pamięcią. Oznacza to, że obiekty są inicjowane w zależności od wprowadzanych danych. Przykładowo liczby z założenia inicjują obiekty liczbowe, pomimo że teoretycznie mogłby konstruować obiekt typu znakowego. W większości praktycznych przypadków nie powoduje to błędów w kodzie.
827
828
\aspect{jezyk skryptowy i enkapsulacja}
829
Dynamiczne typowanie oraz automatyczne usuwanie niewykorzystywanych obiektów powoduje, że Python jest często stosowany jako język skryptowy. Cechą znamienną tego języka jest brak zapewnienia enkapsulacji właściwości obiektów w momencie deklaracji pól. Zapewnia on odpowiednie mechanizmy zapewniające hermetyzajcę, ale nie są one wymagane, tak jak ma to miejsce np. w języku~C.
830
831
\aspect{przeznaczenia Pythona oraz obliczenia inżynierskie}
832
Python zapewnia swoją duża uniwersalność przez możliwość zastosowania dodatkowych bibliotek. Ze względu na łatwość programowania w tym język zbiór dodatkowych modułów jest bardzo obszerny i pozwala zastosować Pythona niemalże w każdej dziedziny. W obliczenia inżynierskich stosuje się głównie biblioteki NumPy, SymPy oraz Matplotlib, wchodzące w skład większego pakietu SciPy. Wykorzystanie środowiska SageMath oraz pakietu \SageTeX\ pozwala na łatwe i efektywne osadzanie wyników skryptów Pythona w dokumentach {\lstinline{*.tex}}.
833
834
\section{Biblioteka NumPy}
835
%BCh: plan:
836
\aspect{co to jest NumPy}
837
Biblioteka NumPy jest zbiorem procedur numerycznych napisanych w języku Python. Twórcą tego pakietu jest Travis Oliphant \cite{numpy_wikipedia}. NumPy przede wszytkim dostarcza wygodnego interfejsu do pracy z macierzami. Oferuje składnie i funkcjonalność porównywalną z komercyjnymi rozwiązaniami takim jak Matlab, czy jego darmowy odpowiednik GNU Octave. Głównym zastosowaniem pakietu jest wspomaganie skomplikowanych obliczeń matematycznych i inżynierskich na dużych zbiorach danych.
838
839
\aspect{z czego się składa NumPy}
840
Biblioteka dostarcza wiele powszechnie stosowanych procedur numerycznych. W skład pakietu wchodzą między innymi moduły do:
841
\begin{itemize}
842
\item obliczeń na przestrzeniach wektorowych,
843
\item numerycznego rozwiązywania równań różniczkowych,
844
\item poszukiwania pierwiastków zagadnienień liniowych i nieliniowych,
845
\item analizy sygnałów,
846
\item transformacji Fouriera,
847
\item operacji na dużych zbiorach danych,
848
\item analizy obrazów.
849
\end{itemize}
850
Dokładną listę procedur oraz klas można znaleźć na stronie projektu \cite{numpy_references}.
851
852
853
\aspect{co umożliwia w kontekście pisania pracy dyplomowej}
854
Zbiór NumPy pozwala na sprawne rozwiązywanie wielu praktycznych problemów inżynierskich. Podstawowa jej funcjonalność dostarcza łatwy interfejs do tworzenia macierzy oraz wykonywania na nich operacji. Szczególnie często wykorzystywane są procedury {\lstinline{numpy.arange()}}, {\lstinline{numpy.linspace()}} pozwalające na generowanie macierzy oraz operatory {\lstinline{+}}, {\lstinline{-}}, {\lstinline{*}} oraz {\lstinline{^}} zastępujące standardowe implementacje działań dla języka Python (przeciążenie operatora).
855
856
W przypadku analizy problemów analizy sztywnościowej oraz dynamiki układów fizycznych NumPy dostarcza zbiory procedur {\lstinline{numpy.linalg.inv}}, {lstinline{numpy.desolve}}, {\lstinline{numpy.linalg.eig}} oraz {\lstinline{numpy.fft}} do odwracania macierzy, rozwiązywania równań różniczkowych, poszukiwania wartości i wektorów własnych oraz przetwarzania sygnałów.
857
858
\aspect{przykład zastosowania}
859
Obliczenia inżynierskie bardzo często wymagają działań na macierzach oraz wektorach. Definiowanie macierzy z wykorzystaniem języka Python wymaga doładowanie odpowiednich bibliotek. Kod programu generującego wektor przedstawiający zakres liniowy jest następujący:
860
861
862
\begin{lstlisting}[language=Python]
863
import numpy as np
864
np.linspace(2.0, 3.0, num=5)
865
866
\end{lstlisting}
867
Wynikiem programu jest wektor o postaci:
868
869
870
\begin{lstlisting}[language=Python]
871
array([ 2. , 2.2, 2.4, 2.6, 2.8])
872
873
\end{lstlisting}
874
Otrzymany wynik jest traktowany jako tablica. Założeniem programu było wygenerowanie wektora. W tym aspekcie środowisko NumPy jest bardzo zbliżone do komercyjnego oprogramowania Matlaba, które wszytkie obiekty liczbowe traktuje jako macierze (w tym przypadku tablice). Wektory i skalary są reprezentowane jako odpowiednio macierze wierszowe oraz jednoelementowe.
875
876
W większości praktycznych przypadków taki zapis nie powoduje żadnych problemów interpretacyjnych. Jednocześnie znacząco upraszcza składnię.
877
878
\section{Biblioteka Matplotlib}
879
%BCh: Plan:
880
\aspect{Czym jest Matplotlib}
881
Biblioteka Matplotlib należąca do pakietu SciPy stanowi zbiór procedur pozwalających na graficzną reprezentację danych. Umożliwia wykonanie niemal dowolnego wykresu bazując na zestawie danych numerycznych. Wprowadzone środowisko jest napisane zgodnie z paradygmatem programowania obiektowego. Istotną zaletą pakietu jest interfejs PyLab. Jego celem jest upodobnienie procesu wykonywania wykresów w sposób możliwie najbliższy do stosowanego w środowisku MATLAB \cite{matplotlib_wiki}.
882
883
\aspect{Mozliwosci pakietu}
884
Wykorzystując środowisko Matplotlib możliwe jest wykonywanie różnego typu wykresów. Najczęściej wykorzystywane z nich to:
885
\begin{itemize}
886
\item wykresy dwuwymiarowe,
887
\item wykresy trójwymiarowe,
888
\item histogramy,
889
\item wykresy z polami błędów,
890
\item wykresy słupkowe.
891
\end{itemize}
892
Możliwe jest dodawanie do sceny dodatkowych grafik, opisów, wzór oraz dowolne formatowanie osi. Wyświetlane wartości mogą być reprezentowane w skali liniowej lub logarytmicznej. Ponadto każdy typ wykresu można wykreślić w postaci wielu pól na jednej scenie (tak zwane subplots).
893
894
\aspect{Przygotowanie pola wykresu}
895
Brak uniwersalnych wymagań dotycząch sposobu wyświetlania danych powoduje, że nie istnieje jedna metoda reprezentacji i opisu wartości znajdujących się na wykresie. W zależności od przeznaczenia i póżniejszego zastosowania grafiki zalecenia odnośnie do formatowania mogą być inne. Środowisko Matplotlib umożliwia bardzo elastyczny wybór kroju, wielkości oraz rodzaju pisma. Wykorzystywane są do tego metody: {\lstinline{matplotlib.rcParams['text.usetex']}}, {\lstinline{matplotlib.rcParams['text.latex.unicode']}} i {\lstinline{matplotlib.rcParams['mathtext.fontset']}}. Odpowiadają one za wykorzystanie środowiska \LaTeX\ oraz zastosowanie odpowiedniej czcionki do opisów osi.
896
897
W przypadku prac dyplomowych realizowanych w Politechnice Warszawskiej nie istnieją ścisłe wytyczne jak opracowywać wykresy zamieszczane w opracowaniach \cite{rozporzadzenie_pw_dyplomy}. Natomiast wymagania ogólne zalecają stosowanie bezszeryfowego kroju pisma w całej pracy. Zazwyczaj dodatkowo stosuje się pochyły krój szeryfowy dla oznaczenia symboli matematycznych.
898
899
900
\aspect{Przyklad zastosowania}
901
Kod programu generującego wykres sformatowany w opisany sposób jest następujący:
902
\begin{lstlisting}[language=Python]
903
import numpy as np
904
905
vector=np.array([ 2.0 , 2.2, 2.4, 2.6, 2.8])
906
907
import matplotlib
908
matplotlib.rcParams['text.usetex'] = False
909
matplotlib.rcParams['text.latex.unicode'] = False
910
matplotlib.rcParams['mathtext.fontset'] = 'cm'
911
import matplotlib.pyplot as plt
912
913
plt.plot(vector)
914
915
plt.xlabel(r'$n [-]$')
916
plt.ylabel(r'$\vector [m]$')
917
plt.title('Wykres')
918
919
plt.show()
920
\end{lstlisting}
921
922
Zgodnie z oczekiwaniem, efektem działania programu jest wykres przedstawiający linię prostą. Metodą {\lstinline{plt.plot()}} można nanieść na scenę dowolny zbiór danych. Jedynym wymaganiem jest numeryczna postać danych.
923
924
\section{Pakiet SageTex}\label{sec:sage_tex}
925
%BCh: Plan:
926
\aspect{Czy jest pakiet \SageTeX}
927
Pakiet \SageTeX\ jest pakietem dla systemu \LaTeX\ umożliwiającym wykonywanie obliczeń bezpośrednio w opracowywanym dokumencie. Działania algebraiczne i przekształcenia są realizowane w środowisku SageMath jako integralna część dokumentu głównego {\lstinline{.tex}}. Operacje matematyczne wyrażone są głównie w języku Python (patrz rodział \ref{sec:sage_math}). Arkusz roboczy systemu Sage dołączany jest zbioru plików i wykonywany każdorazowo podczas przebudowywania dokumentu. Ze względów praktycznych warto ograniczać długość wykonywanego kodu. Przekłada się to na czas niezbędny do wygenerowania pliku wynikowego.
928
929
\aspect{Mozliwości pakietu}
930
Moduł \SageTeX\ dostarcza kilku środowisk/trybów wprowadzanie danych oraz wykonywania obliczeń. Wyniki działań można wstawić w trybie:
931
\begin{itemize}
932
\item inline, który pozwala na wykonanie obliczeń bezpośrednio w tekście. Wywoływany jest przy pomocy komendy \lstinline|\sage{<kod programu>}| i zwraca bezpośrednio wzory w formacie \LaTeX gotowe do osadzenie w tekście;
933
\item sageplot, gdzie środowisko SageMath wykonuje niezbędne obliczenia i automatycznie generuje wykres, a następnie osadza grafikę w tekście. Procedurę wywołuje się poleceniem \lstinline|\sageplot{<kod programu>}|. Funkcja jest tożsama z wykorzystaniem makra \lstinline|\includegraphics{.\sciezka\do\nazwa_pliku.rozszerzenie}| i pozwala na zastosowanie wszystkich jej atrybutów;
934
\item sageblock, który jest środowiskiem (z angielskiego environment) systemu \LaTeX. Wywoływane jest komendą \lstinline|\begin{sageblock}|. Program wykonywany jest do wystąpieenia frazy \lstinline|\end{sageblock}|. Kod zawarty w bloku jest jednocześnie wykonywany i wyświetlany w dokumencie.
935
\item sageverbatim, gdzie wykonywane obliczenia są tylko wyświetlane. Realizowane operacje umieszcza się w środowisku o tej samej nazwie, pomiędzy komendami \lstinline|\begin{sageverbatim}| i \lstinline|\end{sageverbatim}|;
936
\item sagesilent, będący środowiskiem do rachunków nie umieszczanych w teście. Obliczenia są zapisywane w dodatkowym pliku z rozszerzeniem \lstinline|.sage|. Kod zamieszcza się w pomiędzy polecenami \lstinline|\begin{sagesilent}| i \lstinline|\end{sagesilent}|.
937
938
\end{itemize}
939
Możliwosci trybów działania oferowanych przez pakiet \SageTeX\ pozwalają na wykonywanie zróżnicowanych działań. Pozwala to zintegrować obliczenia z tekstem dla większości praktycznych przypadków, począwszy od prostych rachunków w tekście, a skończywszy na dużych obliczeniach z wykorzystaniem środowisk \lstinline|sageblock| i \lstinline|sagesilent|.
940
941
\aspect{Importowanie wzorow z SageMath}
942
Zasada działania modułu \SageTeX\ nie jest optymalna z punktu widzenia czasu niezbędnego do przebudowania dokumentu. Jak wspomniano na początku tego rozdziału, do wygenereowania dokumentu wynikowego niezbędne jest przeliczanie arkusz programu SageMath. Moduł implementuje funkcjonalność eliminowania zbędnych kompilacji, ale w praktyce nie zawsze się to sprawdza. Dlatego wygodnie jest skorzystać z niezależnego programu obliczeniowego (arkusza SageMath), z którego wyniki będę eksportowane do zbioru systemu \LaTeX. Importowanie zapisanych wyników odbywa się z wykorzystaniem makra \lstinline|\sage{<kod SageMath>}| oraz procedury \lstinline|load('nazwapliku.sobj')|. Ponadto odpowiada to praktyce, ponieważ w w większości projektów, obliczenia są wykonywane wcześniej niż opis przeprowadzonych prac. W ten sposób można wykorzystać dotychczasowe wyniki. W przypadku zależności matematycznych możliwe jest wywołanie procedury \lstinline|\sage{load('nazwapliku.sobj')}| w środowisku \lstinline|equation|. W ten sposób otrzymuje się otrzymuje się numerowane równanie zaweirające wyniki obliczeń. Sam kod pozostaje bardzo wydajny, ponieważ polega tylko na odczytanie obiektu języka Python. Ostatecznie otrzymuje się zintegrowany z obliczeniami tekstowy.
943
944
\begin{equation}
945
\omega_1=\sage{load('nazwa_row.sobj')}
946
\end{equation}
947
948
\aspect{Zalety stosowania \SageTeX}
949
Stosowanie pakietu \SageTeX pozwala na bardziej wydajną pracę z zależnościami matematycznymi i wynikami prowadzonych obliczeń. Ma na to wpływ kilka aspektów. Przede wszystkim rozpatrywany pakiet pozwala na osadzanie skalowalnych zależności, które będą odpowiadać na pojawiające się zmiany w tekście i obliczeniach. Kolejnym aspektem jest uniknięcie konieczności przepisywania wzorów do środowiska \LaTeX. Ostatecznie pakiet \SageTeX\ pozwala na integrację dokumenty z dowolnym zewnętrznym arkuszem programu SageMath i wykorzystywać w bardzo wydajny sposób wykonane tam rachunki.
950
951
952
953
954
955
956
957
\section{Eksportowanie wyników do dokumentu \LaTeX}
958
%BCh: plan
959
\aspect{co można i warto eksportować}
960
Elementy, które występują większości prac dyplomowych i przejściowych realizowanej na Politechnice Warszawskiej to zależności matematyczne, materiał graficzny oraz wykresy. W większości przypadków wzory oraz wykresy są wynikiem przeprowadzonych w pracy analiz. Zmiany obliczeń w trakcie realizacji tezy są zjawiskiem powszechnym. Dlatego warto rezultaty rachunków połączyć z tekstem w sposób dynamiczny.
961
%BCh: jak zapisywać elementy z arkusza SageMath
962
Środowisko SageMath dostarcza procedury (metody) \lstinline|.save()| dla większości występujących tam obiektów. W przypadku zalężności matematycznych zapis wywołuje się bezpośrednio funkcją \lstinline|save(nazwa_pliku)|. Po jej wywołaniu w katalogu roboczy pojawia się plik o nazwie \lstinline|nazwa_pliku.sobj|. Przy pomocy procedury \lstinline|.load()| możliwe jest odczytanie zapisanego elementu.
963
Pliki graficzne lub wykresy wygenerowane z pomocą biblioteki Matplotlib mogą być zapisywane przy pomocy metody \lstinline|.savefig(nazwa_pliku.rozszerzenie)|. W ten sposób do kartoteki dodany zostanie plik graficzny o zadanym rozszerzeniu. Dalej można go wykorzystywać w standardowy sposób.
964
965
\aspect{umieszczanie elementów w dokumencie \LaTeX}
966
Osadzanie i automatyczne odświeżanie elementów w tekście zależy głównie od rozpatrywanego obiektu. Tak jak to opisano w rozdziale \ref{sec:sage_tex} zależności matematyczne najwygodniej zapisywać jako pliki \lstinline|.sobj| i wczytywać je przy pomocy pakietu \SageTeX.
967
968
\aspect{Przykład osadzania wzoru w tekście}
969
Kod wyświetlający wzór oraz generujący numerację w środowisku \lstinline|equation| jest następujący:
970
971
972
\begin{lstlisting}
973
\begin{equation}
974
\sage{load('nazwa_pliku.sobj')}
975
\end{equation}
976
\end{lstlisting}
977
Schematy oraz wykresy tworzone w arkuszu SageMath są zapisywane jako pliki graficzne. Zgodnie z opisem przedstawionym w rozdziale \ref{sec:elems_include} materiał ilustracyjny dołącza się poleceniem \lstinline|\includegraphic{.\sciezka\do\nazwa_pliku.rozserzenie}|.
978
979
\aspect{Przykład osadzania grafiki}
980
Program generujący pusty wykres, zmieniający się dynamicznie w trakcie zmian obliczeń jest następujący:
981
982
983
\begin{lstlisting}[language=Python]
984
import time
985
import datetime
986
987
#variable which describes plot title - dynamic changing property
988
nazwa_wykresu ='Data utworzenia_'+datetime.datetime.now()
989
990
import numpy as np
991
992
vector=np.array([ 2.0 , 2.2, 2.4, 2.6, 2.8])
993
994
import matplotlib
995
matplotlib.rcParams['text.usetex'] = False
996
matplotlib.rcParams['text.latex.unicode'] = False
997
matplotlib.rcParams['mathtext.fontset'] = 'cm'
998
import matplotlib.pyplot as plt
999
1000
plt.title(nazwa_wykresu)
1001
1002
plt.savefig('nazwa_pliku.rozszerzenie')
1003
\end{lstlisting}
1004
Kod dołączający utworzony plik graficzny ma postać:
1005
1006
\begin{lstlisting}
1007
\begin{figure}\label{fig:etykieta_wykresu}
1008
\includegraphic{.\sciezka\do\nazwa_pliku.rozserzenie}
1009
\caption{Podpis rysunku}
1010
\end{figure}
1011
\end{lstlisting}
1012
Przygotowane w ten sposób środowisko obliczeniowe SageMath oraz dokument \LaTeX\ pozwala na automatyzację procesu uaktualniania zależności matematycznych oraz grafiki.
1013
1014
1015
\aspect{Działanie finalnego dokumentu - podsumowanie rozdziału}
1016
1017
Zaprezentowane rozwiązania znacząco usprawniają działania związane z opracowywaniem zagadnienia. Środowiko \LaTeX\ dostarcza gotowych rozwiązań do automatycznego generowanie spisów, numeracji, bibliografii itp. Ponadto oprogramowanie to odciąża autora tekstu od żmudnego procesu formatowania. Szerokości tekstu, wielkość interlinii oraz liczba znaków w wierszu jest kontrolowana przez aplikację w taki sposób, aby efekt wizualny był jak najlepszy. Wykorzystanie pakietu \SageTeX\ oraz środowiko SageMath połączenie arkusza obliczeniowego (programu napisanego w języku programowania Python) z opracowaniem. Przy odpowiednim sposobie eksportowanie wyników oraz ich wczytywania do dokumentu tekstowego jest to metoda efektywna. Ponadto zmniejsza wymagany na przebudowanie dokumentu czas. Materiał graficzny można skutecznie generować z wykorzystaniem biblioteki Matplotlib, która z interfejsem \lstinline|PyPlot| pozwala na rysowanie wykresów w sposób znany z komercyjnego systemu MATLAB. Zastosowanie wszystkich przedstawionych rozwiązań skutkuje wygenerowań skalowalnego dokumentu, adaptującego się do częstych zmian jakie towarzyszą pisaniu prac przejściowych i dyplomowych.
1018
1019
1020
1021
\chapter{Podsumowanie}
1022
1023
%Tutaj powinien znaleźć się tekst na minimum jedną stronę podsumowujący całość pracy. Należy podkreślić, że cel pracy został zrealizowany. Opisać wykonane poszczególne elementy z każdego rozdziału. Przedstawione najważniejsze wyniki analizy teoretycznej oraz eksperymentalnej (w zależności od tematyki pracy). Na koniec należy dodać dalsze plany związane z tą pracą. Do czego mogą posłużyć uzyskane wyniki oraz nowe koncepcje bedące rozbudową przedstawionych modeli oraz badań.
1024
1025
Cel pracy dyplomowej został zrealizowany. Na wstępie przedstawiono wprowadzenie do tematyki, motywację podjęcia problematyki oraz metodykę rozwiązania. Dokonano przeglądu literatury światowej. Przedstawiono istniejące rozwiązania oraz porównano ich skuteczeność w pisaniu prac dyplomowych. Opisano aktualny stan wiedzy oraz podkreślono słuszność podjęcia proponowanej tematyki dyplomu. W dalszej części pracy opisano jej strukturę, zastosowany język tekstu, narzędzia do jego edycji oraz możliwe do wykorzystania programy wspomagające obliczenia inżynierskie.
1026
1027
W kolejnym rozdziale przedstawiono zastosowanie oprogramowania \LaTeX. Przybliżono strukturę budowy dokumentu w tym: wykorzystania pakietów, metodyki tworzenia wzorów, tabel oraz rysunków. Opisano składnię umożliwiającą automatyczne generowanie spisów treści, tabel, rysunków i wzorów. Dodatkowo możliwe jest stworzenie bibliografii jako zbiór kolejnych pozycji cytowanych w docelowym dokumencie. Przedstawiono szereg przydatnych funkcji oprogramowania \LaTeX.
1028
1029
Kolejny rozdział opisywał możliwość zastosowania środowiska SageMath jako narzędzie wspomagania obliczeń inżynierskich. Oprogramowanie wykorzystuje m.in. język Python. Pozwala on na wykonywanie szeregu obliczeń począwszy od najprostszych działań matematycznych kończąc na złożonych symulacja oraz analizach widmowych co jest istotne ze względu na rozwiązywanie zadań z tematyki dynamiki złożonych układów. Przedstawiono wykorzystanie bibliotek NumPy oraz Matplolib. Na koniec opisano możliwośc sprzęgnięcia środowiska SageMath z oprogramowanie \LaTeX. Taki zabieg pozwala na szybki sposób wykonywania obliczeń inżynierskich oraz tworzenia dokumentów tekstowych zawierających uzyskane wyniki w postaci liczbowej oraz graficznej.
1030
1031
Całość pracy podsumowano syntetycznymi wnioskami. Uzyskane wyniki pozwoliły zaproponować proces łatwego generowania dokumentów spełniających warunki stawiane pracom dyplomowym oraz artykułom naukowym.
1032
1033
1034
1035
%------8. Bibliografia. Stworzy się sama, w momencie kiedy dodawane będą odnośniki pozycji znajdujących się w dokumentcie "elementy_bibliagrafia.bib".
1036
1037
\newpage
1038
\addcontentsline{toc}{chapter}{Bibliografia}
1039
\printbibliography
1040
1041
\clearpage
1042
\addcontentsline{toc}{chapter}{Wykaz symboli i skrótów}
1043
% --- 7. Wykaz symboli i skrótów -
1044
\chapter*{Wykaz symboli i skrótów}
1045
1046
\newglossaryentry{computer}
1047
{
1048
name=computer,
1049
description={is a programmable machine that receives input,
1050
stores and manipulates data, and provides
1051
output in a useful format}
1052
}
1053
1054
\gls{computer}
1055
\gls{pi}
1056
1057
\glsaddall
1058
\printglossaries
1059
1060
\begin{tabular}{cl}
1061
$B$ & - indukcja magnetyczna w Teslach \\
1062
$I$ & - długość przewodu w metrach \\
1063
$v$ & - prędkość przecinania linii sił pola magnetycznego w kierunku prostopadłym w m/s\\
1064
$I$ & - natężenie prądu w Amperach\\
1065
$M$ & - moment obrotowy\\
1066
$\varphi$ & - strumień magnetyczny\\
1067
$R_{t}$ & - rezystancja twornika\\
1068
$I_{t}$ & - wartość prądu twornika\\
1069
$U$ & - napięcie zasilania\\
1070
$E$ & - siła elektromotoryczna\\
1071
$n$ & - prędkość obrotowa\\
1072
$\varphi _{m}$ & - strumień maksymalny\\
1073
$\left( n_{1}-n \right)$ & - prędkość obrotowa względem wirnika, nazywana również poślizgiem\\
1074
$E_{2}$ & - Siła elektromotoryczna indukowana w jednej fazie uzwojenia nieruchomego wirnika\\
1075
$I_{2}$ & - prąd płynący w wirniku\\
1076
$\psi _{2}$ & - kąt przesunięcia fazowego między \( E_{2} \) oraz \( I_{2} \) \\
1077
$M$ & - moment obrotowy wywierany na wirnik przez wirujące pole magnetyczne,\\
1078
$\omega _{1}$ & - prędkość kątowa pola wirującego,\\
1079
$n_{1}$ & - prędkość obrotowa wirującego pola synchronicznego\\
1080
$c$ & - stała konstrukcyjna\\
1081
$ \beta $ & - obrót linii działania gumy\\
1082
$r\textsubscript{1 }$ & - ramię pierwsze\\
1083
$r\textsubscript{2 }$ & - ramię drugie\\
1084
$Fw$ & - siła na gumie\\
1085
$Fv$ & - reakcja pionowa na drgania giętne\\
1086
\end{tabular}
1087
1088
1089
1090
%Jeżeli istnieje chęć przerzucenia symboli na drugą stronę dokumentu, nalezy zakończyc tabular i rozpoczać nowy tak jak w tym przypadku. DLa sprawdzenia polecam usunąć linijkę 2782 oraz 2785.
1091
1092
\begin{tabular}{cl}
1093
1094
$a$ & - odległość pionowa osi zaburzacza od osi wału\\
1095
$b$ & - odległość pozioma osi zaburzacza od osi wału\\
1096
$I\textsubscript{1}$ & - moment bezwładności wirnika\\
1097
$I\textsubscript{2}$ & - moment bezwładności zaburzacza\\
1098
$ \varphi $ \textsubscript{1} & - kąt obrotu wirnika\\
1099
$ \varphi $ \textsubscript{2} & - kąt obrotu zaburzacza\\
1100
$k\textsubscript{zab}$ & - współczynnik sprężystości zaburzacza\\
1101
$(l-l\textsubscript{0})$ & - wydłużenie\\
1102
1103
\end{tabular}
1104
1105
% ----- 8. Spis rysunków - jeśli nie ma, zakomentować --------
1106
\clearpage
1107
\addcontentsline{toc}{chapter}{Spis rysunków}
1108
\listoffigures
1109
1110
% ------------ 9. Spis tabel --------------------
1111
\clearpage
1112
\addcontentsline{toc}{chapter}{Spis tabel}
1113
\renewcommand{\listtablename}{Spis tabel}
1114
\listoftables
1115
1116
%---------------10. Spis załączników---------
1117
\clearpage
1118
\addcontentsline{toc}{chapter}{Spis załączników}
1119
\chapter*{Spis załączników}
1120
\begin{enumerate}
1121
\item Nazwa 1 Przykładowe wzory
1122
\item Nazwa 2 załącznika
1123
\item Nazwa 3 załącznika
1124
\item Nazwa 4 załącznika
1125
\item Nazwa 5 załącznika
1126
\end{enumerate}
1127
1128
%------------11. Załączniki------------------
1129
\clearpage
1130
\addcontentsline{toc}{chapter}{Załączniki}
1131
\chapter*{Załączniki}
1132
\renewcommand{\lstlistingname}{Załącznik}
1133
1134
1135
\begin{lstlisting}[language=Python, caption=Przykładowe wzory]
1136
1137
Przykładowe wzory:
1138
1139
\begin{lstlisting}[language=Python]
1140
\begin{equation}
1141
f_{2}=\frac{p \left( n_{1}-n \right) }{60}=\frac{pn_{1}}{60}\frac{ \left( n_{1}-n \right) }{n_{1}}
1142
\end{equation}
1143
\end{lstlisting}
1144
1145
\begin{equation}
1146
f_{2}=\frac{p \left( n_{1}-n \right) }{60}=\frac{pn_{1}}{60}\frac{ \left( n_{1}-n \right) }{n_{1}}
1147
\end{equation}
1148
1149
\begin{lstlisting}[language=Python]
1150
\begin{equation}v_{i}=\frac{dr_{i}}{dt}=\frac{dr_{i}}{ \partial q_{1}}q_{1}+\frac{dr_{i}}{ \partial q_{2}}q_{2}+ \ldots +\frac{dr_{i}}{ \partial q_{s}}q_{s}+\frac{dr_{i}}{ \partial t}
1151
\end{equation}
1152
\end{lstlisting}
1153
1154
\begin{equation}v_{i}=\frac{dr_{i}}{dt}=\frac{dr_{i}}{ \partial q_{1}}q_{1}+\frac{dr_{i}}{ \partial q_{2}}q_{2}+ \ldots +\frac{dr_{i}}{ \partial q_{s}}q_{s}+\frac{dr_{i}}{ \partial t}
1155
\end{equation}
1156
1157
\begin{lstlisting}[language=Python]
1158
\begin{equation} \frac{d}{dt}\frac{ \partial r_{i}}{ \partial q_{j}}= \sum _{l=1}^{s}\frac{ \partial^{2}r_{i}}{ \partial q_{j}q_{l}}q_{l}+\frac{ \partial^{2}r_{i}}{ \partial q_{j} \partial t}
1159
\label{pierwsze_przeksz}
1160
\end{equation}
1161
\end{lstlisting}
1162
1163
\begin{equation} \frac{d}{dt}\frac{ \partial r_{i}}{ \partial q_{j}}= \sum _{l=1}^{s}\frac{ \partial^{2}r_{i}}{ \partial q_{j}q_{l}}q_{l}+\frac{ \partial^{2}r_{i}}{ \partial q_{j} \partial t}
1164
\label{pierwsze_przeksz}
1165
\end{equation}
1166
1167
\begin{lstlisting}[language=Python]
1168
\begin{equation}\frac{d}{dt} \sum _{i=1}^{n}\frac{ \partial}{ \partial q_{j}} \left( \frac{1}{2}m_{i}r_{i}^{2} \right) - \sum _{i=1}^{n}\frac{ \partial}{ \partial q_{j}} \left( \frac{1}{2}m_{i}r_{i}^{2} \right) =\frac{d}{dt}\frac{ \partial}{ \partial q_{j}} \left( \sum _{i=1}^{n}\frac{1}{2}m_{i}r_{i}^{2} \right) -\frac{ \partial}{ \partial q_{j}} \left( \sum _{i=1}^{n}\frac{1}{2}m_{i}r_{i}^{2} \right) \end{equation}
1169
\end{lstlisting}
1170
1171
\begin{equation}\frac{d}{dt} \sum _{i=1}^{n}\frac{ \partial}{ \partial q_{j}} \left( \frac{1}{2}m_{i}r_{i}^{2} \right) - \sum _{i=1}^{n}\frac{ \partial}{ \partial q_{j}} \left( \frac{1}{2}m_{i}r_{i}^{2} \right) =\frac{d}{dt}\frac{ \partial}{ \partial q_{j}} \left( \sum _{i=1}^{n}\frac{1}{2}m_{i}r_{i}^{2} \right) -\frac{ \partial}{ \partial q_{j}} \left( \sum _{i=1}^{n}\frac{1}{2}m_{i}r_{i}^{2} \right) \end{equation}
1172
1173
1174
\begin{lstlisting}[language=Python]
1175
\begin{equation}q_{a}=T_{a} \delta _{aa}+T_{b} \delta _{ab}\end{equation}
1176
\end{lstlisting}
1177
1178
\begin{equation}q_{a}=T_{a} \delta _{aa}+T_{b} \delta _{ab}\end{equation}
1179
1180
\begin{lstlisting}[language=Python]
1181
\begin{equation}a_{n}=\frac{2}{T} \int _{0}^{T}F \left( t \right) sinn \omega t \mathrm{d} t,~ n=1,2, \ldots\end{equation}
1182
\end{lstlisting}
1183
1184
\begin{equation}a_{n}=\frac{2}{T} \int _{0}^{T}F \left( t \right) sinn \omega t \mathrm{d} t,~ n=1,2, \ldots\end{equation}
1185
1186
\begin{lstlisting}[language=Python]
1187
\begin{equation}F \left( t \right) =\frac{1}{2i} \left[ \sum _{n=1}^{\infty} \left( a_{n}+ib_{n} \right) e^{in \omega t}- \sum _{n=0}^{\infty} \left( a_{n}+ib_{n} \right) e^{-in \omega t} \right]\label{wzor_zesp_szer}\end{equation}
1188
\end{lstlisting}
1189
1190
\begin{equation}F \left( t \right) =\frac{1}{2i} \left[ \sum _{n=1}^{\infty} \left( a_{n}+ib_{n} \right) e^{in \omega t}- \sum _{n=0}^{\infty} \left( a_{n}+ib_{n} \right) e^{-in \omega t} \right]\label{wzor_zesp_szer}\end{equation}
1191
1192
\begin{lstlisting}[language=Python]
1193
\begin{equation}h+\omega _{0}^{2}h=e\Omega^{2}cos\Omega t+\frac{e\alpha_{ \beta }}{2 \beta^{2}J}\left\{sin\left[\left(\beta+1\right)\Omega t+\eta_{\beta }\right]-sin\left[\beta-1\right]\Omega t+\eta_{\beta}\right\}\end{equation}
1194
\end{lstlisting}
1195
1196
\begin{equation}h+\omega _{0}^{2}h=e\Omega^{2}cos\Omega t+\frac{e\alpha_{ \beta }}{2 \beta^{2}J}\left\{sin\left[\left(\beta+1\right)\Omega t+\eta_{\beta }\right]-sin\left[\beta-1\right]\Omega t+\eta_{\beta}\right\}\end{equation}
1197
1198
\begin{lstlisting}[language=Python]
1199
\begin{equation}
1200
\begin{bmatrix}
1201
I_1 & 0\\
1202
0 & I_2
1203
\end{bmatrix}
1204
\begin{bmatrix}
1205
\ddot{\phi_1}\\
1206
\ddot{\phi_2}
1207
\end{bmatrix}
1208
+
1209
\begin{bmatrix}
1210
\kappa +s & -\kappa\\
1211
-\kappa & \kappa
1212
\end{bmatrix}
1213
\begin{bmatrix}
1214
\phi_1\\
1215
\phi_2
1216
\end{bmatrix}
1217
=
1218
\begin{bmatrix}
1219
M_n\\
1220
0
1221
\end{bmatrix}
1222
\end{equation}
1223
\end{lstlisting}
1224
1225
\begin{equation}
1226
\begin{bmatrix}
1227
I_1 & 0\\
1228
0 & I_2
1229
\end{bmatrix}
1230
\begin{bmatrix}
1231
\ddot{\phi_1}\\
1232
\ddot{\phi_2}
1233
\end{bmatrix}
1234
+
1235
\begin{bmatrix}
1236
\kappa +s & -\kappa\\
1237
-\kappa & \kappa
1238
\end{bmatrix}
1239
\begin{bmatrix}
1240
\phi_1\\
1241
\phi_2
1242
\end{bmatrix}
1243
=
1244
\begin{bmatrix}
1245
M_n\\
1246
0
1247
\end{bmatrix}
1248
\end{equation}
1249
1250
1251
\end{lstlisting}
1252
1253
\begin{lstlisting}[language=Python, caption=Nazwa drugiego załącznika]
1254
Tekst drugiego zalacznika
1255
\end{lstlisting}
1256
1257
\begin{lstlisting}[language=Python, caption=Nazwa trzeciego załącznika]
1258
Tekst trzeciego zalacznika
1259
\end{lstlisting}
1260
1261
\newpage
1262
1263
\begin{center}
1264
\begin{lstlisting}[caption=nazwa czwartego załącznika z rysunkiem]
1265
\end{lstlisting}
1266
1267
\includegraphics[width=23cm,angle=90]{./media/kol1_1kHz_log.jpg}
1268
\caption{}
1269
\end{center}
1270
1271
\newpage
1272
1273
\begin{center}
1274
\begin{lstlisting}[caption=nazwa piątego załącznika z rysunkiem]
1275
\end{lstlisting}
1276
\includegraphics[width=23cm,angle=90]{./media/kol2_1kHz_log.jpg}
1277
\caption{}
1278
\end{center}
1279
1280
1281
1282
\end{document}
1283
1284