diff options
author | Karl Berry <karl@freefriends.org> | 2019-02-24 22:55:38 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-02-24 22:55:38 +0000 |
commit | bc72b050c71e41369de16561d904b0aca63de757 (patch) | |
tree | 7ebcbe4563595bfb9359415f6d0a15dca7486da9 /Master/texmf-dist/tex/latex/ryersonsgsthesis | |
parent | 01ce171ea65540f0bb89b3cfb83ea45dd7d1235a (diff) |
ryersonsgsthesis (24feb19)
git-svn-id: svn://tug.org/texlive/trunk@50119 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ryersonsgsthesis')
-rw-r--r-- | Master/texmf-dist/tex/latex/ryersonsgsthesis/ryersonSGSThesis.cls | 416 |
1 files changed, 416 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/ryersonsgsthesis/ryersonSGSThesis.cls b/Master/texmf-dist/tex/latex/ryersonsgsthesis/ryersonSGSThesis.cls new file mode 100644 index 00000000000..884201a684f --- /dev/null +++ b/Master/texmf-dist/tex/latex/ryersonsgsthesis/ryersonSGSThesis.cls @@ -0,0 +1,416 @@ +%This project is licensed under the Apache License - Version 2.0. See the LICENSE file for details% +\ProvidesClass{ryersonSGSThesis}[2019/02/24 v1.0.3 Ryerson SGS Thesis class, Author - Yasir Shoaib, Apache License - Version 2.0] +\NeedsTeXFormat{LaTeX2e} + +\newcommand{\setAuthor}[1]{\author{#1}} +\newcommand{\setTitle}[1]{\title{#1}} + +\newcommand{\setThesisDegree}[1]{\def\@thesisDegree{#1}} +\newcommand{\show@thesisDegree}{\@thesisDegree} + +\newcommand{\setPastDegreeA}[1]{\def\@pastDegreeA{#1}} +\newcommand{\show@pastDegreeA}{\@pastDegreeA} + +\newcommand{\setPastDegreeB}[1]{\def\@pastDegreeB{#1}} +\newcommand{\show@pastDegreeB}{\@pastDegreeB} + +\newcommand{\setPastDegreeC}[1]{\def\@pastDegreeC{#1}} +\newcommand{\show@pastDegreeC}{\@pastDegreeC} + +\newcommand{\setPastDegreeD}[1]{\def\@pastDegreeD{#1}} +\newcommand{\show@pastDegreeD}{\@pastDegreeD} + +\newcommand{\setUniversity}[1]{\def\@university{#1}} +\newcommand{\show@university}{\@university} + +\newcommand{\setDepartment}[1]{\def\@department{#1}} +\newcommand{\show@department}{\@department} + +\newcommand{\setLocation}[1]{\def\@location{#1}} +\newcommand{\show@location}{\@location} + +\newcommand{\setThesisYear}[1]{\def\@thesisYear{#1}} +\newcommand{\show@thesisYear}{\@thesisYear} + +\newcommand{\setAuthorsDeclaration}[1]{\def\@authorsDeclarationText{#1}} +\newcommand{\show@authorsDeclarationText}{\@authorsDeclarationText} + +\newcommand{\setAbstract}[1]{\def\@abstractText{#1}} +\newcommand{\show@abstractText}{\@abstractText} + +\newcommand{\setAcknowledgements}[1]{\def\@acknowledgements{#1}} +\newcommand{\show@acknowledgements}{\@acknowledgements} + +\newcommand{\setDedication}[1]{\def\@dedication{#1}} +\newcommand{\show@dedication}{\@dedication} + +\newcommand{\define}[1]{\index{#1}\emph{#1}} +\newcommand{\indexText}[1]{\index{#1}#1} + +\newcommand\frontmatter{ + \cleardoublepage + \pagenumbering{roman} +} + +\newcommand\mainmatter{ + \cleardoublepage % for page numbering. Main body (Introduction) should be page 1 + \pagenumbering{arabic} + \doublespacing +} + +\newcommand\backmatter{ + \if@openright + \cleardoublepage + \else + \clearpage + \fi +} + + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} +\ProcessOptions\relax +\LoadClass{report} + +\pdfpageheight 11.0in +\paperwidth 8.5in +\RequirePackage[paperwidth=8.5in,paperheight=11.0in,left=1in,right=1in,top=1in,bottom=1in]{geometry} +%\RequirePackage[parfill]{parskip} % Remove paragraph indentation +\RequirePackage{float} +\RequirePackage[pdftex, + colorlinks={true}, + linkcolor={Blue3}, + urlcolor={Blue3}, + citecolor={Blue3}, + pdfstartview={FitH}, + bookmarks={true}, + pdfauthor={Author}, + pdftitle={Title}, + pdfsubject={Subject} + plainpages=false, + pdfpagelabels + ]{hyperref} +\RequirePackage[nocompress]{cite} +\RequirePackage{amsfonts} +\RequirePackage{amssymb} +\RequirePackage[cmex10]{amsmath} +\RequirePackage{verbatim} +\RequirePackage{lmodern} +\RequirePackage{setspace} +\RequirePackage{longtable} +\RequirePackage{array,ragged2e} +\RequirePackage[toc,page,title,header]{appendix} +\RequirePackage{listings} +\RequirePackage{algpseudocode} +\RequirePackage{algorithm} +\RequirePackage{algorithmicx} +\RequirePackage[usenames,dvipsnames,svgnames,table,x11names]{xcolor} +\RequirePackage{todonotes} +\RequirePackage{makeidx} +\RequirePackage{subfiles} +\RequirePackage{blindtext} + +\makeindex + +\definecolor{dkgreen}{rgb}{0,0.4,0} +\definecolor{maroon}{rgb}{0.5,0,0} +\definecolor{gray}{rgb}{0.5,0.5,0.5} +\definecolor{mauve}{rgb}{0.58,0,0.82} +\definecolor{pblue}{rgb}{0.13,0.13,1} +\definecolor{pgreen}{rgb}{0,0.5,0} +\definecolor{pred}{rgb}{0.9,0,0} +\definecolor{pgrey}{rgb}{0.46,0.45,0.48} +\definecolor{darkblue}{rgb}{0.0,0.0,0.5} +\definecolor{cyan}{rgb}{0.0,0.6,0.6} +\definecolor{BackgroundGreen}{HTML}{E6F0F0} +\definecolor{NoteBackground}{HTML}{FFFCE3} +\definecolor{BackgroundBeige}{HTML}{FDF6E3} +\definecolor{BackgroundYellow}{HTML}{FEFBDF} +\definecolor{SolarizedGrey}{HTML}{657B83} +\definecolor{CornellRed}{HTML}{B31B1B} +\definecolor{CppGold}{HTML}{b38000} +\definecolor{PythonBlue}{HTML}{3675a9} + +\lstset{frame=single, + language=Java, + columns=flexible, + showspaces=false, + showtabs=false, + breaklines=true, + showstringspaces=false, + numbers=left, + numberstyle=\tiny\color{gray}, + stepnumber=1, + numbersep=8pt, + numberstyle=\color{SolarizedGrey}, + breakatwhitespace=true, + commentstyle=\color{gray}\upshape, + keywordstyle=\color{pblue}, + stringstyle=\color{dkgreen}, + basicstyle={\linespread{1}\small\ttfamily}, + tabsize=3, + moredelim=[il][\textcolor{pgrey}]{$$}, + moredelim=[is][\textcolor{pgrey}]{\%\%}{\%\%} +} + +\lstdefinelanguage{Java}{% + tabsize=4, + showstringspaces=false, + mathescape=true, + breaklines=true, + numbers=left, + keywords={% + abstract, continue, for, new, switch, assert, default, goto, package, + synchronized, boolean, do, if, private, this, break, double, implements, + protected, throw, byte, else, import, public, throws, case, enum, + instanceof, return, transient, catch, extends, int, short, try, char, + final, interface, static, void, class, finally, long, strictfp, volatile, + const, float, native, super, while + }, + keywords=[2]{% + }, + morestring=[b]", + morestring=[b]', + morecomment=[l]{//}, + morecomment=[s]{/*}{*/}, + keywordstyle=[2]\color{DarkOrchid}, + numberstyle=\color{SolarizedGrey} +} + +\lstdefinelanguage{JavaScript}{ + keywords={typeof, new, true, false, catch, function, return, null, catch, switch, var, const, let, async, await, if, in, while, do, else, case, break, from}, + ndkeywords={class, export, boolean, throw, implements, import, this}, + sensitive=false, + comment=[l]{//}, + morecomment=[s]{/*}{*/}, + morestring=[b]', + morestring=[b]" +} + + +\lstdefinelanguage{XML} +{ + morestring=[s]{"}{"}, + morecomment=[s]{?}{?}, + morecomment=[s]{!--}{--}, + moredelim=[s][\color{black}]{>}{<}, + moredelim=[s][\color{pblue}]{\ }{=}, + identifierstyle=\color{darkblue} +} +%\renewcommand{\lstlistingname}{Source}% Listing -> Source-code +%\renewcommand{\lstlistlistingname}{List of \lstlistingname s}% List of Listings -> List of Source-code +\hypersetup{pdfpagemode=UseNone} +\AtBeginDocument{ + \hypersetup{ + pdftitle = {\@title}, + pdfauthor = {\@author}, + } +} +\RequirePackage[toc,acronym]{glossaries} + +\RequirePackage{graphicx} +\RequirePackage[scriptsize]{caption} +\RequirePackage{subcaption} +\RequirePackage{charter} +\RequirePackage{IEEEtrantools} +\RequirePackage{sectsty} +\RequirePackage{csquotes} +\RequirePackage[bf,big,raggedright]{titlesec} + +\setcounter{secnumdepth}{3} +%\setcounter{tocdepth}{5} + +\defglsdisplayfirst[\acronymtype]{#1#4\index{#1}} +\defglsdisplayfirst[\glsdefaulttype]{#1#4\index{#1}} + +%Reference: https://tex.stackexchange.com/questions/247035/adding-chapter-prefix-for-appendix +\titleformat{\chapter}[display]% + {\raggedright\huge\bfseries}% global formatting (number and title) + {\ifnum\pdfstrcmp{\@currenvir}{appendices}=0 + Appendix \thechapter + \else + Chapter \thechapter + \fi}% label: number and its formatting + {10pt}% spacing between number and title + {}% optional (content between number and title) +\titlespacing*{\chapter} + {0pt}% left + {40pt}% before + {15pt}% after + +%Following can be used within the .tex file as well but +%before doing so uncomment the makeatletter and makeatother macros. +%%http://www.michaelshell.org/tex/ieeetran/bibtex/ +%%\makeatletter +%\def\bstctlcite{\@ifnextchar[{\@bstctlcite}{\@bstctlcite[@auxout]}} +%\def\@bstctlcite[#1]#2{\@bsphack +% \@for\@citeb:=#2\do{% +% \edef\@citeb{\expandafter\@firstofone\@citeb}% +% \if@filesw\immediate\write\csname #1\endcsname{\string\citation{\@citeb}}\fi}% +% \@esphack} +%%\makeatother + +%\captionsetup{font=scriptsize,labelfont=scriptsize} +\hyphenpenalty 5000 +\exhyphenpenalty 5000 + +\newcommand\T{\rule{0pt}{2.6ex}} % Top strut +\newcommand\B{\rule[-1.2ex]{0pt}{0pt}} % Bottom strut + +\newcolumntype{L}[1]{>{\RaggedRight\hspace{0pt}}p{#1}} +\newcolumntype{R}[1]{>{\RaggedLeft\hspace{0pt}}p{#1}} + +\author{Author's name} +\title{Thesis Title} + +\doublespacing + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ryersonSGSThesis % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\newenvironment{ryersonSGSThesis}{%begin ryersonSGSThesis +\bibliographystyle{IEEEtran} +\bstctlcite{IEEEexample:BSTcontrol} +\newgeometry{left=1in,right=1in,top=2in,bottom=1.25in} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Front matter % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\frontmatter +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 1. Title page % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{titlepage} + \begin{center} + \textsc{\large \@title}\\ + \vfill + by\\ + \vfill + + { + \large \@author \\ + \@ifundefined{@pastDegreeA}{ + \empty + \ClassWarning {ryersonSGSThesis} {No past degree set. Use `setPastDegreeA' etc. commands} + }{ + \@pastDegreeA\\ + } + \@ifundefined{@pastDegreeB}{\empty}{\@pastDegreeB\\} + \@ifundefined{@pastDegreeC}{\empty}{\@pastDegreeC\\} + \@ifundefined{@pastDegreeD}{\empty}{\@pastDegreeD\\} + } + + \vfill + A dissertation\\ + presented to \@university\\ + in partial fulfillment of\\ + the requirements for the degree of\\ + \@thesisDegree\\ + in the Program of\\ + \@department\\ + \vfill + \@location, \@thesisYear\\ + \copyright\ \@author, \@thesisYear \\ + All Rights Reserved\\ + \end{center} +\end{titlepage} + +\restoregeometry + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 2. Author's declaration % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifundefined{@authorsDeclarationText}{ + \empty + \ClassWarning {ryersonSGSThesis} {No author's declaration. Use `setAuthorsDeclaration' commnad} +}{ +\section*{\centering{Author's Declaration For Electronic Submission Of A Dissertation}} +\@authorsDeclarationText +\clearpage +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 3. Abstract % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% author and thesis details on top +\begin{center} + \setcounter{page}{2} + \textsc{\large \@title}\\ + \large \@author \\ + \@thesisDegree \\ + \@department \\ + \@university, \@thesisYear +\end{center} + +% abstract text +\@ifundefined{@abstractText}{ + \empty + \ClassWarning {ryersonSGSThesis} {No abstract set. Use `setAbstract' command} +}{ +\section*{\centering{Abstract}} +\@abstractText +\clearpage +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 4. Acknowledgements % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifundefined{@acknowledgements}{ + \empty + \ClassWarning {ryersonSGSThesis} {No acknowledgements set. Use `setAcknowledgements' command} +}{ +\section*{\centering{Acknowledgments}} +\@acknowledgements +\clearpage +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 5. Dedication % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\@ifundefined{@dedication}{ + \empty + \ClassWarning {ryersonSGSThesis} {No dedication set. Use `setDedication' command} +}{ +\section*{\centering{Dedication}} + \vspace*{\fill} + \begin{flushright} + \textit{\@dedication} + \end{flushright} + \vspace*{\fill} + \clearpage +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 6. Table of contents % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\tableofcontents +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 7. List of Tables % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\listoftables +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 9. List of Figures % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\listoffigures + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 9. List of Listings % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\lstlistoflistings + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% 9. List of Algorithms % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\listofalgorithms + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Main body % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\clearpage % for page numbering. Main body (Introduction) should be page 1 +\mainmatter +} +%*****************end ryersonSGSThesis************************ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Back matter % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\backmatter |