Code Monkey home page Code Monkey logo

phd-thesis's Introduction

PhD-Thesis

This repository holds all documents, images, code, and auxillary files that are used in creating ThesisWG270.pdf. It is standalone, and contains all files required to assemble the thesis .pdf file from ThesisWG270.tex and makefile.

Upon pushing to branch main, GitHub actions will attempt to execute the make command provided by the Makefile after installing appropriate $\LaTeX$ dependencies.

File Structure

This is seperate from PhD-Work-Git repository to avoid repository bloat; as such, it should only contain the following types of files:

  • ThesisWG270.tex: master thesis file, and target of latexmk. This file is the thesis, and imports (precisely, \inputs) the other .tex files to create the thesis.
  • baththesis.sty: Style file that conforms to the UoB thesis requirements. Manual adjustments to page layout, etc, can be made via editing this file.
  • makefile: Makefile to build the thesis from the command line using latexmk. See below for a list of targets.
  • .tex files that directly contribute content to the thesis. These are stored in the Chapters folder. The structure established is to have a sub-folder for each individual chapter of the thesis, containing each section of said chapter in its own .tex file. Each folder also contains a .tex file which starts the chapter (typically sharing the name of the chapter sub-folder) and contains any text which comes prior to the start of the first section.
  • .tex files that contain TikZ diagrams. These are stored in the Diagrams folder. The diagram .pdfs can be produced from the makefile, and are placed into the sub-folder Diagram_PDFs.
  • .tex files containing preamble. These are stored in the Preamble folder and contain either preamble for thesis prose (including macros defining notation for reoccuring objects) or for TikZ diagrams (which are indirectly used in the .tex files for TikZ-produced images). Any established notations or conventions should be placed into the preamble files.
  • .bib files containing reference information. These are stored in the BibFiles folder, as multiple .bib files. ThesisWG270.tex reads in all of these files to produce one bibliography.
  • .pdf files produced from Numerical Code. These are stored in the Diagrams/Numerical_Results/ folder, and should be the only .pdf files included in the repository. Commits that change these figures should be absolutely certain this is necessary, as saving a binary file's changes leads to bloat in the .git/ directory.
  • .py,.ipynb files containing code that generates files in Diagrams/Numerical_Results/. To comply with OpenResearch policies and to prove that I didn't make my numerical results by hand, these are stored in the Code directory, where they can be run to produce the figures that appear in the thesis.

makefile Targets

The makefile has the following targets.

  • all: Produces ThesisWG270.pdf from scratch, and cleans up afterwards. Re-renders all supporting TikZ diagrams, but does not re-run numerical code for plots.
  • tikz: Produces all TikZ diagrams from files stored in Diagrams folder, and outputs PDFs to Diagrams/Diagram_PDFs.
  • no_tikz: Produces ThesisWG270.pdf without re-rendering any TikZ diagrams.
  • clearfigs: Removes all .pdf files stored in Diagrams/Diagram_PDFs (that is, all TikZ diagram outputs).
  • clear: Soft-cleans the directory. Retains àuxillary files used in the assembly of ThesisWG270.pdf. Things like equation numbers, bibtex references, will not be removed which potentially speeds up rendering done through an editor program.
  • clean: Hard-cleans the directory. Removes all auxillary files created in the previous assembly of ThesisWG270.pdf.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.