# WUT-Thesis ![CI](https://github.com/ArturB/WUT-Thesis/workflows/CI/badge.svg) Repozytorium zawiera szablon pracy dyplomowej w LateXu: inżynierskiej oraz magisterskiej - przeznaczony dla Wydziału EiTI oraz Wydziału MEiL Politechniki Warszawskiej. ### Linki: [ref:issues]: https://github.com/ArturB/WUT-Thesis/issues [ref:main-tex]: https://github.com/ArturB/WUT-Thesis/blob/master/main.tex [ref:miktex]: https://miktex.org/ [ref:overleaf]: https://www.overleaf.com/latex/templates/wut-thesis/vfvvdqztfqbt [ref:poradnik-ii]: http://www.ii.pw.edu.pl/index.php/ii_pol/Instytut-Informatyki/Nauczanie/Poradnik-dyplomanta/Przygotowanie-pracy-dyplomowej [ref:scons]: https://scons.org/ [ref:texlive]: https://www.tug.org/texlive/ [ref:vscode]: https://code.visualstudio.com/ [ref:wiki]: https://github.com/ArturB/WUT-Thesis/wiki [ref:workshop]: https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop [ref:wymogi-edytorskie]: https://www.bip.pw.edu.pl/var/pw/storage/original/application/235c0fd350f44cd00253ecdfa22bae61.pdf * [>> Overleaf <<][ref:overleaf] * [Wymogi edytorskie (Zarządzenie Rektora, 2022)][ref:wymogi-edytorskie] * [Wskazówki dot. kompilacji][ref:wiki] ![](https://i.imgur.com/yeeuWpC.png) ---- ## Sposób użycia Szablon jest dostępny na platformie webowej [Overleaf][ref:overleaf], co umożliwia korzystanie z niego bez konieczności instalacji TeXa na własnej maszynie. Jest to **najprostsza i rekomendowana** metoda korzystania z szablonu. ~~Czasami~~ Zazwyczaj ~~może się zdarzyć~~ jest tak, że wersja dostępna na Overleafie jest ~~nieco~~ sporo starsza niż ta znajdująca się na GitHubie. Wynika to z procesu aktualizacji tj. ręcznego zatwierdzania każdej zmiany przez administratorów Overleafa. Jeżeli chcesz korzystać z najnowszej wersji szablonu, możesz pobrać kod z repozytorium i zainstalować TeXa we własnym zakresie. Szczegółowe wskazówki i instrukcje znajdują się w zakładce [Kompilacja](#Kompilacja) oraz na [Wiki](ref:wiki). ## Wydziały oraz języki Szablon przeznaczony jest dla wydziału EiTI oraz MEiL Politechniki Warszawskiej, a prace dyplomowe można pisać w języku polskim lub angielskim. Wyboru wydziału oraz języka dokonujemy w pliku [main.tex](ref:main-tex). Wybór wydziału (a tym samym wygląd strony tytułowej) określamy komendą ``` \facultyeiti ``` lub ``` \facultymeil ``` natomiast język wybieramy za pomocą komendy ``` \langpol ``` lub ``` \langeng ``` ## Status szablonu Szablon jest zgodny z aktualnymi wymogami edytorskimi dla prac dyplomowych, określonych w [Zarzadzeniu nr. 4/2022 Rektora PW](ref:wymogi-edytorskie) i zawiera wszystkie wymagane elementy: stronę tytułową, streszczenia, deklarację o autorstwie. Poniższa tabela podsumowuje status zgodności szablonu z w/w Zarządzeniem. Wiersze pogrubione oznaczają elementy formatowania, które wg. Zarządzenia są "wymagane" lub "do wyboru" (spośród kilku opcji), pozostałe elementy formatowania są określone jako "zalecane". | Element formatowania | Status | |--------------------------------|-----------------------------------------------------| | **Druk dwustronny, A4** | **Jest** | | Margines wewnętrzny | 30 mm | | Margines zewnętrzny | 25 mm | | Margines górny i dolny | 25 mm | | Krój pisma | Adobe Utopia, 12 pt | | Interlinia | 1,15 | | **Numeracja stron** | **U dołu z odbiciem lustrzanym** | | **Styl akapitu** | **Wcięcie 0,5 cm** | | **Odwołania do źródeł** | **Styl numeracyjny** | | **Numeracja tabel i rysunków** | **Kolejna w rozdziałach** | | Bibliografia | Styl numeracyjny | | Tytuł tabeli | Nad tabelą, wyśrodkowany, 9 pt | | Podpis rysunku | Pod rysunkiem, wyśrodkowany, 9 pt | | **Podrozdziały** | **Do 3 poziomów** | | Wyliczenia | Dostępne: wyliczenia numerowane, kropka lub myślnik | | Przypis dolny | Numeracja ciągła, czcionka 9 pt | W dokumencie zawarte są przykładowe fragmenty kodu: - bibliografia, zawierająca różne typy źródeł: artykuł, książka lub jej fragment, raport, specyfikacja techniczna, repozytorium kodu; - fragment kodu źródłowego programu; - wykaz symboli i skrótów, spis rysunków, tabel oraz załączników; i wiele innych. Szablon został zatwierdzony przez [niektóre Instytuty][ref:poradnik-ii] wydziału EiTI do oficjalnego użytku. W trakcie realizacji są ustalenia z pozostałymi instytutami oraz podniesienie szablonu do rangi ogólnowydziałowego. ## Kompilacja Aby skompilować szablon na własnej maszynie, konieczna jest instalacja LaTeXa: - [texlive][ref:texlive] lub [MikTeX][ref:miktex] na Windowsie; - [texlive][ref:texlive] na Linuxie. Następnie należy wyposażyć się w IDE/edytor. Szablon jest rozwijany z użyciem [VS Code][ref:vscode], wyposażonym we wtyczkę [LaTeX Workshop][ref:workshop]. Możliwa jest również kompilacja z linii poleceń za pomocą [SCons][ref:scons] (wymagany Python). Aby zbudować plik PDF z pracą dyplomową, wystarczy z linii poleceń w głównym folderze projektu wykonać: ``` scons quick ``` Plik PDF z pracą dyplomową pojawi się w głównym folderze projektu. Szczegółowe informacje nt. samodzielnej kompilacji szablonu i rozwiązania ew. problemów znajdują w [encyklopedii projektu][ref:wiki]. ## Problemy Preferowanym kanałem zgłaszania problemów z szablonem są [issues-y][ref:issues] na GitHubie. Pisz tam, jeżeli masz jakiś problem. ## Dla deweloperów Informacje dla osób zainteresowanych rozwijaniem szablonu znajdują się w [encyklopedii projektu][ref:wiki]. ### CI/CD i Branch Protection Repozytorium posiada automatyczne testy CI sprawdzające poprawność kompilacji dla wszystkich kombinacji wydziałów, języków i typów prac. Aby zapewnić jakość kodu: - **Branch Protection**: Zobacz [../.github/BRANCH_PROTECTION.md](../.github/BRANCH_PROTECTION.md) dla instrukcji konfiguracji wymaganych testów przed mergowaniem do `main`/`master` - **Pre-commit hooks**: Zainstaluj lokalne pre-commit hooks, aby wykrywać problemy przed pushowaniem: ```bash pip install pre-commit pre-commit install ``` ## Uwagi Copyleft © [Artur M. Brodzki](https://github.com/ArturB) 2019-2023. Loosely based on [EiTI-Szablon](https://github.com/pwozniak/EiTI-Szablon) by [Piotr Woźniak](https://github.com/pwozniak). All wrongs reserved.