LaTeX Best Practices

A guide for a smooth completion of your thesis

March 27 2017
Reading Time: 12 minutes
Contribute to this post on Github

Completing a PhD can be a hell of a task. It took me lots of time to be able to come up with a framework to optimise how i do research and how i write and execute deliverables. I hope that this post can help you in completing yours

Completing a PhD can be a hell of a task. It took me lots of time to be able to come up with a framework that optimises how i do research and how i write and publish my research. This post discusses some of the tools and techniques i used in addition to LaTEX best practices. These are gathered either by experience, online search and most importantly the wisdom of my PhD supervisor @Raphael Troncy.

I hope this post can help you complete your PhD smoothly.

You can head to my PhD Github repository to see all my LaTEX recommendations in action

Mendeley and Bibliography Management

Doing effective and genuine research requires that you familiarise yourself with the state of the art in your field. This requires reading tons of journal, conference and workshop papers. However, after some time, recalling what you have read and being able to effectively reference that in your research becomes a daunting task.

I personally found Mendeley a great tool to arrange my bibliography. It has loads of features, but i have used it mainly to arrange my digital research library. I have used Mendeley basically as follows:

├── Conferences
    ├── ISWC'13 - International Semantic Web conference 2013
    ├── ESWC'13 - Extended Semantic Web conference 2013
├── Workshops
	├── PROFILES'15 - International Workshop on Dataset PROFIling and fEderated Search for Linked Data
├── Posters
    ├── Semantic Web Journal
    ├── IJSWIS - International Journal on Semantic Web and Information Systems

General Organisations

An Example of my folders structure

├── Papers
│   ├── ESWC'13 - SNARC A Semantic Social News Aggregator
│   │   ├── figures
│   │   └── presentation
│   ├── IJSWIS - Towards An Objective Assessment Framework for Linked Data Quality
│   │   ├── figures
│   │   └── tables
│   ├── PROFILES'15 - An Extensible Framework to Validate and Build Dataset Profiles
│   │   └── figures
├── Posters
│   ├── ESWC'14 - What are the Important Properties of an Entity - Comparing Users and Knowledge Graph Point of View
│   │   └── poster
│   └── WWW'15 - Observing The State of Linked Open Data Cloud Metadata
│       └── figures
├── Presentations
├── Progress Reports CIFRE & Workplans
│   ├── CIFRE Activity Reports
│   ├── Conferences Attestations
│   ├── EDITE Progress Reports
│   ├── EURECOM PhD Scientific Council
│   │   ├── EURECOM PhD Day 2013
│   │   └── EURECOM PhD Day 2014
│   └── PhD Interim Report
│       ├── figures
│       └── presentation
└── Util
    ├── Bibliography
    └── LaTEX

Special Organisation

For special reports (or thesis), when you have multiple .tex files and things can get messy then you can:

├── Thesis
│   ├── Part1
│   │   └── Chapter1
│   ├── abstract
│   ├── acknowledgement
│   ├── acronyms
│   ├── appendix
│   ├── background
│   ├── conclusions
│   ├── introduction
│   └── util
│       └── figures
        └── include.tex
        └── format.tex

Environment Setup

Generating LaTeX Tables

Editing LaTeX with Sublime Text

I use Sublime Text for nearly everything, so using it to write LaTeX was the logical choice for me. With the correct plugins it is a handy editor. You first need to make sure you have a valid TeX distribution (see above) and installed Skim PDF Viewer. Skim is used to generate the result of the LaTeX build.

Assuming you already have package control installed install the LaTeX Tools package. Now, after editing a LaTeX document, simply hit cmd+b to build the file and launch it in Skim.

Note Make sure you have the build settings in Sublime Text set to automatic [tools -> Build Systems].

Now you will be able to use latex in Sublime. A powerful feature is auto-completion for references and citations, just start typing \cite{ or \ref{ and you will get the list of targets in a dropdown list (where you can also filter) to select from.

LaTeX Writing Tips

Writing-Style Tips

Working with Citations and .bib files

I used to have a separate .bib file for each paper. However, i ended up using a bunch of the same references in more than one paper. I thought of why not having a centralised .bib file where i can maintain and then reference this file from all my other papers. The idea is:

This is done automatically by BibTex. So for me, in every paper now i only add \bibliography{../../Util/Bibliography/bibliography} and i am good to go.

Maintaining a clean .bib file

I used to copy/paste BibTex citations from the Internet and though that i am good to go. However, the information copied is very noisy and contains lots of unneeded information. The best practice is to check what are the required information for each bib entry and include only that. For example, for the @inproceedings you need to have [title, author, year, booktitle]. In addition make sure to:

Some Useful Hacks

I have also kept a bunch of bookmarks for all the relevant conferences, journals. Made sure i also follow their respective Twitter accounts and made also a separate columns in Tweetdeck for their Tweet feed and for specific hashtags. Some of these bookmarks are:

Journals and Research Portals


Twitter Facebook Google+