Please check gitlab-tutorial

Skip to content
README.md 5.23 KiB
Newer Older
Dimitrii Nikolaev's avatar
Dimitrii Nikolaev committed
<!-- omit in toc -->
Bernhard Wallner's avatar
Bernhard Wallner committed
# ift-latex
Thomas Trautner's avatar
Thomas Trautner committed

Bernhard Wallner's avatar
Bernhard Wallner committed
This is an inofficial latex template for the ift.
Thomas Trautner's avatar
Thomas Trautner committed

Dimitrii Nikolaev's avatar
Dimitrii Nikolaev committed
Includes LaTeX templates for:
* Bachelor thesis
* Diploma or Master's thesis
* Dissertation

**CONTENTS:**

- [Getting started](#getting-started)
  - [overleaf](#overleaf)
  - [local or self-hosted](#local-or-self-hosted)
  - [(optional) use template as submodule](#optional-use-template-as-submodule)
- [Where to find help?](#where-to-find-help)
- [Contribution](#contribution)
- [Recommended Tools](#recommended-tools)
- [License](#license)

--------------------------------------------------

# Getting started

Depending on your priorities there may be several possibilities of how you can use this template and which tools use should take.

Here is a short decision advicer:
```mermaid
graph LR
    A([How should I use this template?]) --> B
    B{data authority?}
    B -->|don't care| overleaf([overleaf])
    B -->|important| D
    D{collaborative editing?} -->|I don't need it| self([self-hosted or local repository])
    D -->|I need it| overleaf
```

## overleaf
1. Use [overleaf][overleaf] (premium accountis provided with tu wien email address)
Bernhard Wallner's avatar
Bernhard Wallner committed
2. clone this repository and add to overleaf
Dimitrii Nikolaev's avatar
Dimitrii Nikolaev committed
## local or self-hosted
1. get [TeXstudio][texstudio] + [texlive environment][texlive] 
2. clone this repository or download the latest release
   > keep in mind, your folder structure will finally look like this:
   >
   > ```console
   > (root folder of your thesis)
   > ├───bib
   > ├───chapters
   > ├───graphics
   > ├───IFT-Template (here you have cloned the repository)
   > │   ├───bib
   > │   ├───chapters
   > │   ├───graphics
   > │   ├───lib
   > │   └───svg-inkscape
   > └───Thesis.tex (your thesis to edit)
   > ```     
3. Run [`setupParentDir` script][ps_script] 
4. open `Thesis.tex` in Parent directory and build

## (optional) use template as submodule
> This guide assumes that user is familiar with console tools (powershell for windows or bash for linux).  
> Obviosly one may perform all steps manually if needed.

You may want to setup your thesis or report with this repository as a standalone module, which you can always keep up-to-date and independent from your work.

**In this case perform following steps from terminal:**
1. Create a folder for your thesis and change there  
   ```console
      mkdir myThesis && cd myThesis
   ```

2. initialize new repository for your thesis
   ```console
      git init .
   ```
3. add a submodule to your project
    ```console
    git submodule add https://git.ift.tuwien.ac.at/lab/pub/ift-latex.git IFT-Template
    ```
4. Change to the submodule folder and run [`setupParentDir` script][ps_script] from there.
   ```console
      cd .\IFT-Template\ && ./setupParentDir
   ```
   This will copy only necessary files into the parent directory of your thesis and link the rest functionality against the submodule and create a `Thesis.tex` file, which is idencal to the `example.tex` and which you should modify further.
   
   Please refer to the [script][ps_script] for more details.

5. Commit the initial state of your repo
    ```console
      git add *
      git commit -m "initial commit"
    ```

>**NOTE:** Following should be a method to store your thesis on overleaf, containing the IFT-Template as a submodule, but overleaf prohibits such setup. Therefore it won't work as described
>
>6. Add overleaf as a remote repository `<YOUR_PROJECT_ID>`
>   > **OPTIONAL** 
>   >
>   > Overleaf basically manages your project as any other .git repository and [provides a possibility to setup a remote connection and clone its local copy](https://de.overleaf.com/learn/how-to/Using_Git_and_GitHub)
>    
>    1. Add new remote connection to your repo
>    ```sh
>       git remote add overleaf https://git.overleaf.com/<YOUR_PROJECT_ID>
>    ```
>    2. Pull the remote repo merging unrelated history
>       >Unfortunately you cannot force pull to the overleaf repo - therefore we are going this way :/
>       ```sh
>          git pull --progress -v --no-rebase --allow-unrelated-histories "overleaf" master
>       ```
>    3. Push it back
>       ```sh
>          git push overleaf
>       ```
    






[ps_script]:./setupParentDir.ps1








# Where to find help?
Please refer to [TEX FAQ](https://texfaq.org/)

# Contribution
>Work in progress.

Feel free to commit to the template development by opening a merge request from your branch.


# Recommended Tools
- [overleaf][overleaf]  
  Collaborative environment for editing LaTeX documents.

- [inkscape][inkscape]  
  OpenSource vector graphics editor
  
- [texstudio][texstudio]  
  OpenSource offline LaTeX editor

- [mendeley][mendeley]  
  Citation manager. Proprietary

- [zotero][zotero]  
  Citation manager. OpenSource

- [Find more recomendations on TUG](https://tug.org/interest.html#vendors)
Dimitrii Nikolaev's avatar
Dimitrii Nikolaev committed
[overleaf]: https://www.overleaf.com/
[inkscape]: https://inkscape.org/de/
[texstudio]:https://www.texstudio.org/
[mendeley]: https://www.mendeley.com/
[zotero]:   https://www.zotero.org/
[texlive]:  https://www.tug.org/texlive/
Dimitrii Nikolaev's avatar
Dimitrii Nikolaev committed
# License
Bernhard Wallner's avatar
Bernhard Wallner committed
This Project is based on the https://github.com/joerg/abschlussarbeit-tuwien-physik template.
Please see the License-File for further information.
Dimitrii Nikolaev's avatar
Dimitrii Nikolaev committed
Development by ttrautner, bwallner and dnikolaev