# Latex Templates
Personalised set of latex files and utility scripts.

## Directory Contents
- An updated set of IEEE bibliography string definitions.
- IEEE journal / conference style class
- PowerPoint/Beamer presentation style class (ngni)
- Imperial College letter style class
- Resume / CV / Name card class functions
- Latex preambles for pre-set formatting of papers, presentations, and other
- TrueType Fonts used here
- Illustrations, Figures, and Style related data

## Using Template Files
This repository provides a pre-formatted set of tex files for daily use and organises the template/style files in a centralised location. To get started, simply include this project directory to your path. This allows the main source files to be organised in a different folder such that we can link any scripts common to several projects. In the root document include the following lines:

``` latex
\makeatletter
\def\input@path{{/home/user_name/MyLatexTemplates/}{../MyLatexTemplates/}}
\makeatother
```

In many cases the latex build system will assume that all files of interest are contained in the directory it is running. The above will simply include remote folders when the compiler is looking for files. It is generally also good practice to specify the root latex file when any additional source coded is included by including the magic statement "% !TEX root = ../main.tex". That will prevent latex trying to build any subcomponent by it self. Bibtex can also link to the common script directory during build time by setting the following shell environment variables:

``` bash
export BIBINPUTS=".;/home/user_name/Latex;$TEXMF/bibtex/bib"
export BSTINPUTS=".;/home/user_name/Latex;$TEXMF/bibtex/{bst,csf}"
```

The above setup will works with latexmk which is integrated into many other software packages. Other relevant details are listed below:

- Any personal / author details can be edited in the 'personal_details.cls' file which will be sourced automatically.
- The 'default_symbols.cls' file is a aggregation of preferred latex commands and can be committed/changed depending on your preferences.
- So far these files provide a beamer class, twi letter classes, and a duplicate of the ieeetran article class V1.8b.
- Topic & Author definitions must always come before loading the style sheet definitions and need to be in the makeatletter environment.
- After begin document we can over write any color pallet settings or formatting definitions such as label items.

### Xelatex and Custom Fonts
When using xelatex with custom fonts the font must either be installed on the local machine or preferably linked during compilation. Here style files will specify a font path that should be adjusted depending on your build setup using a relative or absolute path (e.g. Path = /home/$user_name/MyLatexTemplates/Fonts/IBM-Plex-Sans/).

### Keeping Track of Publication Statistics
Currently the resume class introduces the functionality to import a list of publications and accumulate statistics for total items, citations, and online access such that this can be concisely reported.

### Planned Changes
Several logos or design components are hard baked into the theme (beamerouterthemengni.sty). At this moment is seem that it is better to simple write a new style for a different set of icons but possibly these can be loaded by reference in future revisions.

It would also be nice if some kind of script parses the publication list and fetches updated statistics from IEEE/GoogleScholar when relevant.

### Feedback
Please report any bugs or feature requests as this is intended to be a regular side project.
