GithubHelp home page GithubHelp logo

calpolycsc / thesis-template Goto Github PK

View Code? Open in Web Editor NEW
51.0 10.0 60.0 2 MB

A LaTeX template for Cal Poly Master's theses which conforms to the guidelines given by the graduate education department.

License: MIT License

TeX 99.63% Python 0.18% Perl 0.19%

thesis-template's Introduction

Cal Poly Thesis Template

A LaTeX template for Cal Poly Master's theses which conforms to the guidelines given by the Graduate Education department. This file was last reviewed by Graduate Education in September 2024.

This version is a major departure from previous versions of the LaTeX template. Following the LaTeX concept of separating the format from the content, this new template is intended to make the process of writing a correctly formatted thesis easier by allowing you to focus on the content. There are plenty of examples on how to create typical thesis content (equations, figures, tables, nomenclature, etc.) along with pointers on what other packages/resources you can look into to do more complicated things.

A word of caution about making changes to the formatting associated with this template. There are opportunities to customize the format or look of certain aspects of your thesis, but you need to be careful that the formatting changes you make are consistent with the formatting guidelines from the Graduate Education department.

How to Use

Overall, the project is split into three types of files: those that are intended to be modified, those that probably do not need to be modified, and those that are informational. Making changes to the first type of files should have no impact on the overall format of your thesis, while modifying the second type of files could have an impact on the thesis format. The informational files are there to provide additional information and do not have any impact on the resulting thesis.

Files to be Modified

Within this project, there are a number of directories that contain files or are intended to contain files that you will modify for your thesis. These include:

  • frontmatter - files associated with the part of your thesis preceding chapter 1,
  • chapters - TeX files associated with the chapters of your thesis,
  • appendices - TeX file associated with the appendices (if any) of your thesis,
  • figures - files associated with the figures in your thesis, and
  • bibliography - files associated with the bibliography or references section of your thesis.

Front Matter Content

There several required pages and a number of other optional pages that need to be included in your thesis. The files in the frontmatter directory are intended to simplify the creation of these pages.

The preamble.tex file should be used to put all of the LaTeX configuration (included packages, package settings that need to occur before the document is started, etc.). The current file includes the lipsum package for the placeholder text used in the example thesis. This package should be removed in your thesis. This file also contains an example of the package and libraries that might be needed for using TikZ. Finally, this file also contains an example of how to perform grouping in your nomenclature (List of Symbols) using the nomencl package. Your thesis advisor might have a preferred way of organizing your nomenclature, so this code will need to be changed to suit your needs.

The abstract.tex file should contain the text associated with your abstract.

The acknowledgments.tex file is for any acknowledgments that you would like to include in your thesis. One example is if your thesis was funded by a research contract. In that case this is where that acknowledgment would go along with any disclaimers that your funding agency might require. Work with your advisor on whether this applies to your work. Note that if you only have one acknowledgment then this page must be titled is the singular. In that case uncomment the line redefining the \acknowledgename macro on line 2. If you have no acknowledgments, then this file can be blank.

The dedication.tex file should contain a dedication. If you do not have a dedication, then this file can be blank.

The nomenclature.tex file provides a convenient location for all of your symbols and terms to be declared with the \nomenclature command. These will appear in the List of Symbols section of your thesis. If you have a preferred way of assembling your nomenclature, then you do not have to have your nomenclature in this file. The nomenclature command in listings.tex is what puts the list of symbols into the thesis in the correct place. If you are not going to have a List of Symbols in your thesis, then the nomenclature.tex file can be blank.

If you plan on creating a List of Symbols, then you should look at the documentation of the nomencl package as well as examples that are on the internet. As quick summary, the \nomenclature[arg1]{arg2}{arg3} command will create a new entry for arg2 in the List of Symbols with the description of arg3. The optional arg1 is used in the sorting and grouping of entries, where code in preamble.tex defines the grouping in this example.

The listings.tex file contains the commands needed to get the approved lists that might need to be in your thesis. If any of these lists are empty in your thesis, then you need to remove the associated commands from this file. Otherwise, there should be no need to modify this file.

The information.tex file contains other information about your thesis and your thesis committee that is needed to create content in the front matter. The lines in this file define specific information about your thesis that you will need to provide. The one items that is optional is the \keywords. If you do not want to have keywords placed at the end of your abstract, then remove that line from the file.

Chapters Content

The most important file in the chapters directory is outline.tex. This file is intended to be used to include all of the individual chapters of your thesis. For the example thesis, there are three generic chapters: chapter01.tex, chapter02.tex, and chapter03.tex. for your thesis, each chapter should be placed in a separate file in this directory, and then that filename (without the tex extension) can be included just as the example does. Each chapter file can be named whatever you like, but you should avoid spaces in the file name, and you need to use the tex extension. Note that the \input command needs to be given the filename (without the extension) relative to the root file of the document. That is why each input starts with chapters/ directory.

Appendices Content

Just like the chapters directory, the most important file in the appendices directory is outline.tex. This file contains everything needed to properly handle appendices in your thesis. If your thesis will have no appendices, then the outline.tex file should be blank. There are some formatting changes that have to happen in your thesis associated with appendices, so the \appendix command is used to make those changes. Because some of these formatting changes depend on the number of appendices, this command takes an optional argument indicating the number of appendices, for example with 3 appendices you could use \appendix[3] or \appendix. If you only have one appendix, then you must use the optional optional like this: \appendix[1]. The rest of this directory follows the same logic as the chapters directory discussed above.

Figures Content

Most theses contain a large number of figures, so it is convenient to collect all of those figures into a common directory. That is the intent of the figures directory.

Bibliography/References Content

All works that you want to include in your thesis should be in the the references.bib file located in the bibliography directory. The thesis template uses biblatex, with the biber backend, to handle the citation and bibliography/reference creation. Example entries for a variety of works are provided in the example, but there might be other entry types that you will need to use. Many publishers provide the ability to export a citation in bibtex or biblatex format. Cal Poly's library website also provides the capability of exporting citations in a compatible format. You can also use reference management tools like Zotero and Mandeley that can export citations. No matter where the citation source was generated, it will probably take some fine tuning of the bib-file contents to make the cited work correctly formatted in your thesis.

You need to decide if your cited works will be in a References section (a collection of works cited in your thesis) or a Bibliography (a collection of works cited as well as any other resources you found of value related to your thesis). The file bib_info.tex allows you to switch between the two. If you plan on providing a Bibliography, then you should keep the \nocite{*} command and put all works that you want to be included in your bibliography into the references.bib. If you plan on providing a References section, then you should remove the \nocite{*} command and uncomment the line redefining the \bibname macro. In this case, biblatex will only use the cited entries from the references.bib file, and you can keep unused entries in this file without them appearing in your References section.

Think Twice About Modifying These Files

The root file for this project is main.tex. This template was setup with the goal of you not needing to edit this file. This file contains formatting and content related settings that (hopefully) makes it easier for you to start using the template. It also containts additional packages, formatting, and package settings that have been set to make the resulting thesis format comply with the Graduate Education guidelines. Not all changes to this file will result in problems, but care should be taken if you decide you need to edit this file.

The lower-level formatting of the thesis is in cpthesis.cls. This file is currently based on a number of revisions to a standard LaTeX template, with the earliest edits made in the early 1990's. If there is a need to change this file, then you have most likely found a bug, and you should report it (see below). Changing this file can cause unexpected results that might result in a thesis format that is no longer compliant with the style guidelines.

Informational Files

One informational file is this README.md file that is located in the root directory of the project. Another informational file in the root directory is the LICENSE file. This file documents the licensing terms for the project and the files contained within this project. The current license for this project is the MIT License, which is a quite permissive software license that puts few restrictions on the use or reuse of this content.

The other informational files are located in the guidelines directory. These files are copies of guidelines published on the Graduate Education website. We try to keep these files up-to-date, but the canonical versions of these files reside on the Graduate Education website.

TL;DR

Most files have examples on how they should be used inside of them. Here is a handy checklist which outlines what you need to do to start writing (besides overcoming the overwhelming mountain of things you'd rather be doing).

  • Update the information.tex file. This is where all the basics are defined, your thesis title, your name, your committee members, etc.
  • Start writing chapters! Every chapter goes inside of the chapters folder and should be imported in the chapters/outline.tex file using the \include{chapters/your-chapter} syntax. This makes reordering chapters a breeze! (Trust me, you'll do it)
  • Drop all of your fancy graphs into the figures folder for safe keeping
  • Got some appendices? You're covered, same idea as with chapters, but using appendices/outline.tex and the appendices folder instead.
  • Write your abstract in abstract.tex. That's it. The template takes care of all the formatting for you.
  • Don't forget to thank your family! Fill in acknowledgments.tex.
  • Make sure your family knows what you are talking about. Create a List of Symbols using the nomenclature.tex file. Or don't have one and let them figure it out on their own. In that case be sure to remove the nomenclature code in listings.tex.
  • Be sure to cite your sources in bibliography.bib. If you use Google Scholar to find your sources, it will provide you with bibtex output under the "cite" option.
  • Final cleanup; you're almost there. Remove unnecessary content, such as empty listings, dedication, etc., and any placeholder text.

Overleaf

Want to take your thesis writing to the cloud?!?! Or, you know, don't want to install the ~3GB girthy monstrosity that is LaTeX on your pristine machine? Use Overleaf.

Questions or Bugs?

If you have a general question about LaTeX, there are a lot of resources on the internet that can help. Check out the TeX Stack Exchange as a great place for answers to many questions. If you have a question specifically about this template and its use, feel free to submit an issue using the "question" tag. If you think you've found a bug, please submit a issue on the thesis template GitHub site for help getting it addressed.

thesis-template's People

Contributors

alexkost819 avatar andrewguenther avatar corymayer avatar coyotebush avatar ddmarshall avatar jdban avatar mwong56 avatar wardengnaw avatar xdhmoore avatar yabberyabber avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

thesis-template's Issues

Question: How to make the section numbers appear in chapter body

Is there a way to make the section numbers appear next to the section in the document body? Looking through ucthesis.cls it looks like I can turn on some mark but the code is extremely dense.

Right now when I type

\section{Type Qualifiers on the Call Graph}

I get something that looks like the following:

Type Qualifiers on the Call Graph

but I would really prefer if it would show something like the following:

2.2 Type Qualifiers on the Call Graph

Is there a way I can tell the section command that I'd like to see the number?

[AY 22-23] `\keywords` Macro Needs Revision

The optional \keywords macro meant to be used in "abstract.tex" is defined somewhere and does not function properly.

It should not produce a bold/italicized "Keywords:". It should instead simply output "Keywords:" and automatically space its positioning to be at the bottom of the Abstract page.

Appendices in all caps must be at the top of the appendix section

They are telling me that APPENDICES must be centered in all caps at the top of the first appendix page such as with the Bibliography section seen here: http://i.imgur.com/1T0BXTD.png

Quote from grad dept: "Please insert "Appendices" in all CAPS at the top of the page." (referring to the appendix)

I'm trying to get it working like they want, but currently it seems that the template does not do this (as far as I can tell).

More Than 4 Committee Members Error

If there are more than 4 committee members then the Committee Membership page contents get pushed to the following page.

A fix is to adjust the tabular spacing when there are more committee members. I've submitted a pull request #31 that should solve this.

Table Captions (Labels) Should be Above Tables

From page 10 of the Graduate Education's Master's Thesis Formatting Guidelines (AY 2022-2023):

Table labels should appear above tables in the body of the thesis.

It would be nice if this, along with forcing captions underneath figures (another guideline), could be enforced in the template.

This works to move captions above tables without affecting figure captions, but it also removes all the formatting/styling and spacing:

% force table captions to top: https://tex.stackexchange.com/questions/22751/how-to-force-table-caption-on-top
\floatstyle{plaintop}
\restylefloat{table}

Hanging Indent For Bibliography

The initial edit pass of my thesis requested that I add hanging indents to the bibliography. After some searching I was able to fix it using:

\def\bibindent{1em}
\begin{thebibliography}{99\kern\bibindent}
\makeatletter
\let\old@biblabel\@biblabel
\def\@biblabel#1{\old@biblabel{#1}\kern\bibindent}
\let\old@bibitem\bibitem
\def\bibitem#1{\old@bibitem{#1}\leavevmode\kern-\bibindent}
\makeatother

\bibliography{bibliography}
\end{thebibliography}

Is there a better way to do this? If not I can make an edit to the main.tex once I know my hanging indents pass the final editorial inspection.

[Question]

Trying to cite a website using a misc bibtex entry only shows the title, not the url. How can I fix this?

Inconsistent entries in List of Tables and List of Figures

I got rejected by DigitalCommons because the inconsistency between entries in List of Tables and List of Figures.

(ix): It appears that the spacing between entries 4.2 and 5.1 is inconsistent with the rest of the page. Please maintain the double-space throughout the entirety of the page.

(x): It appears that the spacing between entries 2.10, 3.1 and 4.1 are inconsistent with the rest of the page. Please maintain the double-space between entries throughout the entirety of the page. This appears to also be an issue for the spacing between entries 4.6 and 5.1. Please revise.

It seems like the inconsistency happens when moving to new chapter.

list_of_tables

Sample PDF

I might end up owning this, but it's worth describing anyway. Many latex templates include a meta-pdf, that describes the package, but in the format that the output should appear in. So I suggest a PDF included in the repo that shows what the finalized thesis document should look like, that is also the documentation for the repo.

Question: How to add more than 2 committee members?

I'm relatively new to LaTeX and having an issue adding more than 2 committee members to my frontmatter file. My frontmatter file currently reads:

\title{My Thesis Title}
\author{Tyler Harty}
\degreemonth{December} \degreeyear{2017} \degree{Master of Science}
\defensemonth{December} \defenseyear{2017}
\numberofmembers{3}
\chair{Committee Chair \linebreak Professor of blah}
\othermemberA{Committee member number 1 \linebreak Professor of blah}
\othermemberB{Committee member number 2 \linebreak Professor of blah}
\othermemberC{Committee member number 3 \linebreak Professor of blah}
\field{my major} \campus{San Luis Obispo}
\copyrightyears{seven}

But when the pdf is created, only the committee chair and members 1 and 2 are on the committee membership page. Please let me know what needs to be fixed/changed in order for the final document to show all 3 committee members.

Thanks!

Tyler

Open template permissions

I created a branch on my local machine but can't push it up and open it for peer review. Is there a way I can improve the template? I have three minor commits that would add value to the template and make them more in-line with Cal Poly's expectations.

Build and Release New Sample PDF Action Failing

When this github action runs it produces the following error and warnings:

[AY 22-23] Multi-Line Title Spacing Requires Manual Changes

The \title field in "frontmatter.tex"

\title{Your Thesis Title}

will need to be manually spaced-out for multi-line titles, like so

\title{Multi-line Thesis Title Following The\\ \vspace{3.5mm}Upside-Down Pyramid Format}

This can cause other spacing problems where the \title field is used by default such as on the Abstract Page (iv), which also has a related spacing issue raised here as Issue #34.

Add tests

Tests should ensure that the template always compiles

Subsubsection Numbering

Rejected from Digital Commons because the subsubsections are not numbered or in the TOC. Any suggestions?

"(5-6): Please be sure that all sections are labeled and taken account for in the Table of Contents. It appears that there are some sections throughout this thesis that are not numerically labeled. Please make sure to numerically label all sections and list them in the Table of Contents."

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.