sbu-thesis-template
The latex template for Stony Brook University Ph.D. and MS Thesis
Science Score: 31.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Keywords
ms-thesis
phd-thesis
stony-brook
thesis
Last synced: 6 months ago
·
JSON representation
·
Repository
The latex template for Stony Brook University Ph.D. and MS Thesis
Basic Info
Statistics
- Stars: 25
- Watchers: 1
- Forks: 4
- Open Issues: 0
- Releases: 0
Topics
ms-thesis
phd-thesis
stony-brook
thesis
Created over 5 years ago
· Last pushed over 3 years ago
Metadata Files
Readme
License
Citation
README.md
The latex template for Stony Brook University Ph.D. and MS Thesis
Motivation
I am shocked by the lack of proper LaTeX templates for the Ph.D. thesis at Stony Brook graduate school page.
This template is modified from the thesis of Avi Srivastava. Thank him.
How to use
Get started
- Download this repository from GitHub website as a
.zipfile. - Go to Overleaf website and log in.
- When clicking on
New Projectbutton, chooseUpload Project. - Upload the downloaded
.zipfile - (optional but suggested) Connect this Overleaf document to a new Github repository. See This page
Start to write
- The
main.texfile- (The line numbers mentioned here are line numbers in the template. They might change once you fill in your content.)
- Head directly to line 80 and fill in
THESIS INFORMATION - In
TITLE PAGE, you might only want to change line 138, the date. THESIS CONTENT - CHAPTERSat line 280 is the main body- NEVER write any content here
- Write your main body in separated
.texfiles and\inputthem here.
- Appendixes should be
\inputed inTHESIS CONTENT - APPENDICESat line 297 - If you need any extra packages,
\usepackagethem inYour Packagesat line 55 - For any other parts of the
main.texfile, you need to modify them at your own risk.
- The
Chaptersfolder- All the text parts should be in this folder.
- You can divide the text by
\chapteror\section- The rule of thumb is a file should not exceed 500 lines. If so, break it
- You can also create subfolders for each Chapter for a better organization.
- The
Figuresfolder- All the Figure files should be in this folder.
- If you have figures created by LaTex code (Highly not suggested), put them here as separated
.texfiles.
- The
Tablesfolder- If you have tables, put them here as separated
.texfiles. - If you generated your tables from tablesgenerator.com (Highly suggested), put the source file of the table here as well.
- If you have tables, put them here as separated
- The
Appendicesfolder- If you have appendices, put them here as separated
.texfiles.
- If you have appendices, put them here as separated
- The
main.bibfile- All citations should be here,
Additional tools
- Bib file merge tool
- In case you never used any citation management software and you have many
.bibfiles from previous papers, you can use to merge them into one.
- In case you never used any citation management software and you have many
CiatationChecker.pyfile- This Python script locates at the root directory of this repository.
- It will count how many times you cited each paper by scaning your
.texand.bibfiles.- This will be helpful to identify un-cited papers in the
.bibfile
- This will be helpful to identify un-cited papers in the
- How to use:
- You need to download your Overleaf project to local and unzip.
- You also need to have a python distribution installed
- By running the script, it will generate a
.csvtable showing the countings.
- LaTex table generator
Warnings and Tricks (From the most important to the least)
- The ONLY reason that you want to use LaTeX is that there are off-the-shelf templates available such as a conference paper template from the conference website and this thesis template. NEVER, EVER, EVER, start a LaTeX document from scratch!
- It is highly recommended that any LaTeX users head to Overleaf. Avoid using any offline distributions anytime possible.
- Never define your own command if you don't want to confuse your co-author or yourself-years-later.
- Use
\begin{align}instead of\begin{equation}. They are basically the same, butalignwill allow you to add additional lines to existing equations whenever needed with ease. - When editing equations, put the equations' latex code into multiple lines, with indention.
- The rule of thumb is to never let the equation auto wrapped to a new line
- Indention rules are flexible since indention is for easier reading, not a part of the syntax.
- It is suggested to follow the indention rule of programming languages, such as the
{}rules of C++.
- It is suggested to follow the indention rule of programming languages, such as the
- If a paragraph contains many in-line equations, make each equation a new line in the latex code, so that you can relocate them easily by double clicking on the preview.
Owner
- Name: River Wang
- Login: urfdvw
- Kind: user
- Repositories: 7
- Profile: https://github.com/urfdvw
Software Engineer and Former STEAM Teacher. Microcontroller hobbyist.
Citation (CitationChecker.py)
import os
# get the citations in the .tex files
# acquire the path of all files
tex_paths = []
for path, subdirs, files in os.walk('.'):
for name in files:
if name[-4:] == '.tex':
tex_paths.append(os.path.join(path, name))
# acquire all mentioned ciation identifiers
cites = []
for path in tex_paths:
file = open(path)
text = file.read()
pieces = text.split('\cite{')[1:] # ignore the first piece
for p in pieces:
cites += [s.strip() for s in p[:p.index('}')].split(',')]
# acquire all citations in .bib file
file = open('main.bib', encoding="utf-8")
text = file.read()
pieces = text.split('@')[1:] # ignore the first piece
papers = [p[p.index('{')+1 : p.index(',')].strip() for p in pieces]
# count
counts = dict()
for p in papers:
counts[p] = 0
for c in cites:
if c: # avoid empty strings
counts[c] += 1
counts = {k: v for k, v in sorted(counts.items(), key=lambda item: item[1])} # sort by counts
# https://stackoverflow.com/a/613218/7037749
# output
out = open('CitationCounts.csv', 'w')
# count citations in tex, for double check
out.write('total' + ',' + str(sum([1 for k, v in counts.items() if v > 0])) + '/' + str(len(counts)) + '\n')
for paper in counts:
out.write(paper + ',' + str(counts[paper]) + '\n')
GitHub Events
Total
- Watch event: 10
Last Year
- Watch event: 10
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0