Giter Site home page Giter Site logo

sfuthesis's Introduction

sfuthesis

The sfuthesis project provides a template from which graduate students at Simon Fraser University can start writing their thesis.

The LaTeX class file sfuthesis.cls sets your document to follow the SFU Library's style requirements, so you can focus on writing up your research instead of fiddling with formatting.

As of Fall 2020, the SFU Library has approved the 2.3.0 release of sfuthesis to replace any older thesis templates.

Before you submit your thesis, please make sure to double-check all style requirements on the SFU Library website. There are several standards (e.g. abstract word limits) that LaTeX cannot automatically arrange for you, and you are ultimately responsible for making sure that your thesis conforms to the regulations set out by the library.

System requirements

To use the SFU LaTeX thesis class, you will need a relatively recent LaTeX distribution. (For information on how to install one, see the LaTeX Project website.) In particular, it depends on the following (standard) packages:

  • appendix to add the word "Appendix" to the Table of Contents
  • etoolbox for class options
  • geometry to set margins
  • lmodern and fontenc for extended fonts
  • nowidow to prevent nearly-empty pages
  • setspace for line spacing
  • tocloft to make the ToC nicer

If you do not already have these installed, you can easily get them using the package manager that came with your distribution (tlmgr in TeX Live or its GUI frontend TeX Live Utility on OS X; mpm on Windows MikTeX installations).

Installation

  1. Download the project files to your computer.

  2. Rename template.tex to something more suitable, like thesis.tex. Delete the placeholder information and replace it with your own.

  3. You may copy sfuthesis.cls to any folder in your TEXPATH. If you don't know what this means, make sure that sfuthesis.cls stays in the same folder as your thesis's main file.

  4. Compile your main thesis file with your favourite LaTeX editor or from the command line using latexmk:

latexmk -pdf thesis.tex

Usage

To get started writing your thesis, just follow the installation instructions above and replace the sample content in template.tex with your own!

Including an Ethics Statement

If your research requires an Ethics Statement, you will need to download a PDF copy of the statement and include it immediately after the Declaration of Committee page.

\usepackage{pdfpages}

...

\addtoToC{Ethics Statement}%
\includepdf[pagecommand={\thispagestyle{plain}}]{ethicsstatement.pdf}%
\clearpage

The SFU Library has moved to digital-only thesis submission and no longer requires print copies of theses be submitted. However, if you do want to print your thesis, you can use the bound or twoside options to set margins for book binding.

Contributing

The sfuthesis class is written such that it should not be necessary to edit sfuthesis.cls itself. If you find you have to do so in order to make your thesis compile or to fix a display bug, please let me know by:

sfuthesis's People

Contributors

rchurchley avatar amcpherson avatar fcastilloec avatar

Stargazers

Michael Lu avatar  avatar Hans Dhondea avatar Mateen Ulhaq avatar Graham Holland avatar Payuing avatar  avatar Xiangyu Wu avatar Marie-Helene Burle avatar Anton Cherniavskyi avatar Ethan Soutar-Rau avatar Xin Wang avatar  avatar 柳东原 · Dongyuan Liu avatar Sebastián Pardo avatar Khaled Diab avatar Mani Monajjemi avatar Tong He avatar

Watchers

James Cloos avatar  avatar Khaled Diab avatar Xin Wang avatar Amirali Sharifian avatar  avatar

sfuthesis's Issues

Add hyperref

From Maysam:

As discussed in the meeting there are a bunch of packages that are almost universally used and so it makes sense to include them by default. Ross has already put in the ams stuff and the graphicx and caption packages. There are a few other packages that I think belong to every thesis typeset in LaTeX. I suggest the following to be added to the preamble:

\usepackage[pagebackref=true,pdfstartview=FitH,bookmarksopen=false,colorlinks,linkcolor=black,citecolor=black]{hyperref}    %ME seriously, hyperrefs should be mandatory in all pdf documents! ;) The options make all the links look like the rest of the text.
\newcommand*{\Appendixautorefname}{Appendix}    %ME autoref name for appendix. Without this, references to appendix in the text show up like "A," instead of "appendix A."

Title Spacing

For multiline thesis titles, the title spacing is too small.

Add subcaption

From Maysam:

As discussed in the meeting there are a bunch of packages that are almost universally used and so it makes sense to include them by default. Ross has already put in the ams stuff and the graphicx and caption packages. There are a few other packages that I think belong to every thesis typeset in LaTeX. I suggest the following to be added to the preamble:

\usepackage{subcaption} %ME for sub figures

SFU line spacing

1.5 spacing for body text. Single-spacing for blockquote, bullets, references, appendices, footnotes (with extra space after par).

Unnumbered appendices

From Maysam:

Cause: Premature \backmatter command (line #108). This turns off numbering of chapters and as a result the appendices are unnumbered, or rather unlettered! So, for example, two appendices with two sections each, show up in the document labelled as .1, .2, .3, and .4, instead of A.1, A.2, B.1 and B.2.
Fix: Commenting out the \backmatter command fixes this problem. But since the bibliography is supposed to precede appendices, this has the undesirable side effect of messing up their line spacing, as they are required to be different from the main matter. So it seems that the line spacing needs to be specified some other way.

SFU font

SFU Library requires Arial 11pt or equivalent size sans-serif. Footnotes, endnotes 10pt. First, check if this is true for math theses. Second, decide what the best sans-serif option for LaTeX is.

Approval layout incorrect

From the library staff:

Chair section should be:

chair: Dr. Joe Jones
       Professor

Instead of:

Dr. Joe Jones (chair)
Professor

Also, it would be nice if the title did not hyphenate on the approval page, not sure how to fix this.

(I am not sure how interested you are in tweaking the template to produce the correct layout for the approval page, up to you of course)

Makefile

Proposed at meeting. To summarize, including a Makefile would be a good idea since:

  • students with more complicated build processes (e.g. generating figures from other scripts) will use one, and
  • students using the command line need to be able to compile the template without researching all the steps involved.

Labels not being referenced

While using the sfuthesis class, and using \label and \ref or \autoref, the output of this references on the pdf is empty. A simple example code follows:

\chapter{Introduction}
\label{ch:intro}
By default, only works cited in the text will be added to the bibliography

\chapter{Second}
The same as what we find in \autoref{ch:intro}

This outputs a black reference, in this case only the word Chapter

After looking at the class file, and some trial and error, the following lines are the cupable for this error:

\pretocmd{\@chapter}{\begingroup\smallspacing}{}{}
\apptocmd{\@chapter}{\endgroup}{}{}
\pretocmd{\@schapter}{\begingroup\smallspacing}{}{}
\apptocmd{\@schapter}{\endgroup}{}{}
\pretocmd{\@sect}{\begingroup\smallspacing}{}{}
\apptocmd{\@sect}{\endgroup}{}{}
\pretocmd{\@ssect}{\begingroup\smallspacing}{}{}
\apptocmd{\@ssect}{\endgroup}{}{}

I'm an intermediate LaTex user, so I'm not really sure what these lines do or how to fix them. I would appreciate if you can take a quick look at them.

EDIT: After more trial and error and asking online, I figure out that the problem is \label has to placed between the \begingroup and \endgroup commands, in other words, right after the \chapter, etc.
A workaround suggested says that labels should be placed like this:

\chapter{Introduction \label{ch:intro}}

But I think it should be better if the class itself is fixed rather than having to change the way we label sections.

approval page, signing lines

When I compile my thesis with \documentclass{sfuthesis} the approval page doesn't have a line drawn against each name for signing on. When I compile it with \documentclass{sfuapproval} I do get the signing lines. Should the lines appear on the approval page when using the sfuthesis class as well?

Overfull and underfull \hbox on Approval page

Hi Ross,

I just compiled the template using pdfTeX, Version 3.1415926-2.5-1.40.14 (MiKTeX 2.9) (preloaded format=pdflatex 2013.10.25) on Windows 7 64 bit and received the following Badbox errors from the Approval page

Overfull \hbox (4.86665pt too wide) in paragraph at lines 81--81
Overfull \hbox (4.86665pt too wide) in paragraph at lines 81--81
Overfull \hbox (4.86665pt too wide) in paragraph at lines 81--81
Overfull \hbox (7.29999pt too wide) in paragraph at lines 81--81
Underfull \hbox (badness 10000) in paragraph at lines 81--81
Overfull \hbox (4.86665pt too wide) in paragraph at lines 81--81
Underfull \hbox (badness 10000) in paragraph at lines 81--81

If this was a page in the thesis and only a single badbox error I would ignore it but there are a few reasons I'm filing this issue.

  1. I don't think there should be this many errors on the second page of the document
  2. If users are using a program which shows warnings they won't actual notice any warnings from anywhere else in the document because there are so many here. If they suppress them then they'd miss potentially useful messages.
  3. I actually agree with pdfTeX about the underfull boxes. The top half of the page is very dense and cramped while the bottom has a huge amount of white space.

I compiled in Draft mode and have attached a PDF with the overfull boxes marked and my guess for where one of the underfull boxes is.

approval page from template

Comparing this page to the approval page from the other template which I think makes a better use of space.

approval page from my undergrad thesis

Add nowidow

From Maysam:

As discussed in the meeting there are a bunch of packages that are almost universally used and so it makes sense to include them by default. Ross has already put in the ams stuff and the graphicx and caption packages. There are a few other packages that I think belong to every thesis typeset in LaTeX. I suggest the following to be added to the preamble:

\usepackage[all]{nowidow}   %ME prevents widow/orphan pages, i.e. few sentences on one page.

Index missing

From Maysam:

Not sure if this is an issue or it was taken out intentionally. I did not see an index section in the Word template. So I'm guessing it is either optional or not allowed at all. If index is not permitted in theses, ignore this issue and jump to suggestions below. But, if an index section is allowed, then I think it should be included in the template as an optional section, because its inclusion is not trivial.

Fix: Put these lines in the preamble

\usepackage{makeidx}  %ME standard index
\makeindex

and these two lines after the appendices

\addcontentsline{toc}{chapter}{Index}
\printindex

and if building from the command line (without latexmk) run the makeindex command sandwiched between a couple of main compiler commands (as done for bibtex).

SFU page numbering

All pages (except title page) must be numbered, preferably bottom centre, at least .5" from edge.

Error when compiling unmodified template

Using pdflatex:

pdflatex template.tex

I get the following error.

! Undefined control sequence.
<argument> ... \newcommand *{\Appendixautorefname
                                                  }{Appendix}
l.65 \begin{document}

Hyperlinks pointing to wrong pages

Just a minor issue. When using hyperref, some hyperlinks in the compiled pdf document point to the wrong page. That includes all links to front matter sections which send you to the first page, and links to bibliography and index to their respective previous (sub)section. Main matter links are fine. The page numbers listed in the table of contents are also correct.

Cause:
It's actually not a hyperref bug. The \addtoToC command does not automatically place an anchor for hyperref for these problem sections. So hyperref just uses the last anchor. Hence, misdirected targets pointing to preceding sections.

Suggested fix:
Using a \phantomsection command before each problem section fixes the issue by creating a hyperlink anchor. I had to make 10 phantom sections to get them all right. In every case it is followed by an \addtoToC command. So perhaps a better solution would be to prepend a \phantomsection to \addtoToC?

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.