Giter Site home page Giter Site logo

isakh / thesis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cambridge/thesis

0.0 1.0 0.0 5.55 MB

A LaTeX document class that conforms to the Computer Laboratory's PhD thesis formatting guidelines.

Home Page: http://www.cl.cam.ac.uk/local/phd/typography/

License: Other

TeX 89.97% Makefile 2.33% Python 6.77% Dockerfile 0.94%

thesis's Introduction

cam-thesis

CircleCI

a LaTeX thesis template for Cambridge PhD students

Quick start

  1. Clone this repository.

  2. Start adding contents of your thesis into thesis.tex.

  3. Build the PDF by running the following in the command line:

    make
    
  4. Open thesis.pdf.

Pro tip: if you can also one of the samples in the Samples directory.

How will the thesis look like?

Your thesis document will look something like this:

Plain (PDF)

If you use the clean sample, which can be found in ./Samples/clean, it will look like this:

Sample Clean (PDF)

The template also supports DVI and PS formats. All three formats can be generated with the provided Makefile.

Producing PDF, DVI and PS documents

Build your thesis

To build the PDF version of your thesis, run:

make

This build procedure uses pdflatex and will produce thesis.pdf.

To produce DVI and PS versions of your document, you should run:

make thesis.ps

This will use the latex and dvips commands to build the document and will produce thesis.dvi and thesis.ps documents.

Clean unwanted files

To clean unwanted clutter (all LaTeX auto-generated files), run:

make clean

Usage details

Class options

cam-thesis supports all the options of the standard report class (on which it is based).

It also supports some custom options.

  • techreport: formats the document as a technical report (here's a sample). Here is a list of formatting points in which the technical report differs from a normal thesis (see guidelines for more information):

    • different margins (left and right margins are 25mm, top and bottom margins are 20mm),
    • normal line spacing (instead of one-half spacing),
    • no custom title page,
    • no declaration,
    • page count starts with 3,
    • if the hyperref package is used, the option pdfpagelabels=false will be passed to it.
  • firstyr: formats the document as a first-year report (here's a sample). This option removes some unneeded elements and modifies the submission note. Here is a list of formatting points in which the first year report differs from a normal thesis:

    • an appropraite subtitle is added,
    • the submission note is changed appropriately,
    • no standalone abstract,
    • no declaration,
    • no acknowledgements.
  • secondyr: formats the document as a second-year report (here's a sample). Similarly to firstyr, this style modifies the submission note and removes unneeded elements. Specially, an abstract is retained (as for this report, research is often in a more "stable" state). Here is a list of formatting points in which the second year report differs from a normal thesis:

    • an appropraite subtitle is added,
    • the submission note is changed appropriately,
    • no declaration,
    • no acknowledgements.
  • times: tells the class to use the times font.

  • glossary: puts the glossary after the TOC. The glossary contains a list of abbreviations, their explanations etc. Describe your abbreviations and add them to the glossary immediately after you introduce them in the body of your thesis. You can use the following command for this:

    \newglossaryentry{computer}
    {
      name=computer,
      description={is a programmable machine that receives input,
                   stores and manipulates data, and provides
                   output in a useful format}
    }
    

    After that, you can reference particular glossary entries like this:

    \gls{computer}
    

    You can also change the glossary style. For example, try putting this on the very top of the preamble (even before you define the document class with \documentclass[glossary]{cam-thesis}):

    \PassOptionsToPackage{style=altlong4colheader}{glossaries}
    

    Further instructions can be found on LaTeX Wikibooks or the user manual at CTAN.

    Note: glossaries is the package used to create the glossary.

  • withindex: build the index, which you can put at the and of the thesis with the following command (it will create a new unnumbered chapter):

    \printthesisindex
    

    Instructions on how to use the index can be found here.

    Note: the package makeidx is used to create the index.

  • backrefs: Add back references in the Bibliography section (here's a sample). In other words, for each reference, it adds the page(s) where it is cited.

    Note: the package backref is used to create the back references.


Troubleshooting

Q1: I found a bug in the template. Where do I report bugs?

You can report issues through our GitHub repository.

You can also mail the maintainers directly.

Q2: Where can I find the thesis formatting guidelines this class is based on?

The University of Cambridge submission guidelines:

https://www.cambridgestudents.cam.ac.uk/your-course/examinations/graduate-exam-information/submitting-and-examination/phd-msc-mlitt/submit

The University of Cambridge final submission guidelines:

https://www.cambridgestudents.cam.ac.uk/your-course/examinations/graduate-exam-information/after-examination/degree-approval-and-1

The Computer Laboratory guidelines:

https://www.cl.cam.ac.uk/local/typography/phd/

The Computer Laboratory guidelines for technical reports:

https://www.cl.cam.ac.uk/techreports/submission.html

Q3: Can I use my own Makefile?

By all means. Previously we used the horrendously complex Makefile at

http://code.google.com/p/latex-makefile/

Q4: But what if I don't want the template files in my thesis directory?

Put the files and folders listed below into a directory where LaTeX can find them (for more info see [1]):

cam-thesis.cls
CollegeShields/

[1] You can put these files either into the standard LaTeX directory for classes [2], or a directory listed in your TEXINPUTS environment variable.

[2] The location of the standard LaTeX class directory depends on which LaTeX installation and operating system you use. For example, for TeX Live on Fedora 14 it is /usr/share/texmf/tex/latex/base.

In any case, after this, LaTeX will still not be able find your class. You will have to rebuild the package index. This procedure also depends on your installation specifics, but for TeX Live you have to run the texhash command.

For more comprehensive information refer to LaTeX Wikibooks.

Q5: Where can I find newer versions of the University of Cambridge logo?

The university updates its logo every now and then. You can find up-to-date logos on this page (subject to change without notice).

Download and exchange the new logos with CUni.eps and/or CUni.pdf.

Q6: My college's shield/coat of arms/crest is not a vector-based image. Why u no include it?

If you find a distributable vector-based image of your college's shield you can report it as an issue or mail it to contributors directly (refer to question Q1 above).

Q7: Where can I find extra fonts (like Adobe Sabon, Adobe Utopia etc.)?

The Computer Laboratory provides some here.

After you've installed the fonts, add somewhere in the preamble (before \begin{document}) the following command:

\renewcommand\rmdefault{psb}

Q8: How should I count the number of words in my thesis?

There is a page on the Computer Lab's web site. They recommend using this command:

ps2ascii thesis.pdf | wc -w

thesis's People

Contributors

urbas avatar tjiagom avatar steffenloesch avatar mgkuhn avatar aaronstockdill avatar chatcannon avatar drt24 avatar alexkuhnle avatar j5b avatar jzstark avatar skollmann avatar

Watchers

James Cloos avatar

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.