Thesis Writing Advice

The following links provide advice on writing research reports, be it a PhD thesis, Honours/Bachelor thesis, or small (ANU) research project.

  • LaTeX templates. The product of approximately 5 years of development and constant improvements, you can find the following LaTeX templates in a public (read-only) repository:

    • Presentations. For creating short presentations. Note that this design does formally not comply with the ANU style guides in the sense that it uses another corporate design (colors), but all other "hard constraints" are fulfilled (e.g., the required borders around the ANU logo).
    • Lecture slides. Almost the same as the one above, but with more complex project structure so support large courses. If you give lectures with LaTeX, it's definitely worth checking out!
    • Posters. At many conferences, in-person or even online, feature poster sessions. For this, this template might come handy. (Note that I do not recommend using it! I recommend Apple keynotes.)
    • Theses and Project reports. This template, created by me late 2021, is now the official template at the School of Computing at the ANU. It's so much more than just a LaTeX template! It also contains a lot of advice that's particularly helpful for beginners in either LaTeX or scientific writing. So, even if you use another LaTeX template you are still very likely to benefit from just reading the document.
  • Checklist for Theses. This short text file contains a list of simple checks you can perform before submitting your (Honours, PhD or whatever) thesis. It contains commonly made typos such as word repetitions (like "is is", "the the" etc.) or typos (like "their" vs. "there").

  • Marking Guide for Honours theses. This marking guide was created by John Slaney a few years back. At least until 2020 it has still been in use, though it's not anymore. But even if it's technically not used anymore to be distributed to us faculty to mark, chances are high that parts of it are still in the newest version that's used today. Bottom-line: It's probably a good idea to check this early to find out whether there are any bigger misses, so you can still prevent them! Would be a shame to miss out on a few marks just because, for example, you didn't give the future work section adequately much weight (although you easily could have done that), right? Note that, since quite recently, my template (see above) also contains a section on advice regarding marking. It might be more condensed form of this actual guide; so maybe read both.

  • Related to the last few points about writing a thesis I can strongly recommend to read the following short paper on thesis writing which contains high-level advice on writing a thesis (especially in Australia). It is a really easy read and not boring at all. Quite the opposite of a typical scientific paper: It mainly consist of a list of easy to digest advice on how to write a thesis. It's a great literature that's especially useful when starting to write a thesis.

  • Using Version Control. A bit orthogonal to the above is the advice to use version control, as this way your data is entirely safe. Your cat walked over your keyboard hitting control+A (mark all), random keys, and control+S (save)?; spilled coke over your laptop?; laptop stolen? All not a problem if commit your work regularly (I do this twice daily). Even if your LaTeX code does not compile anymore, it helps, since you can diff against the last version, boiling down the cause of error. Here, I list some important information about git repositories.

    • What to put into a git. Temporary files should never be committed/pushed. This even includes (built) PDFs, unless they are final and should be archived because of this. So in general just never add/commit just blindly everything, but carefully select each file to push by hand. On top of that, it will help to specify a global ignore file where you may list all these temporary files which just never have any right to be committed/pushed. You may use and extend my global git ignore. You will have to remove the file's prefix.
    • Cleaning up your repo: Assuming you or somebody else had unfortunately pushed data that should not be pushed to a repo, you might want to identify this so that it can be deleted again. For this, I wrote a script that identifies undesired files under version control. More specifically, it uses your global ignore list and lists out all files from all your repositories that match them.
    • Keeping your repositories up to date: The following scripts assist in recursively identifying all repositories with uncommitted and unpushed files, as well as with pulling all repositories. Using both scripts, one never has to deal with conflicts again or has uncommited files! :) They can be found here: