Repozytorium zawiera szablon pracy dyplomowej w LateXu: inżynierskiej oraz magisterskiej - przeznaczony dla Wydziału EiTI oraz Wydziału MEiL Politechniki Warszawskiej.
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".
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].
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: