From 33b37b61d2318108ad8afe5c7175b91282bf870f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 6 Feb 2011 16:41:21 +0000 Subject: ryethesis (6feb11) git-svn-id: svn://tug.org/texlive/trunk@21316 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/ryethesis/Makefile | 60 +++++-- .../texmf-dist/doc/latex/ryethesis/ryesample.bib | 4 +- .../texmf-dist/doc/latex/ryethesis/ryesample.pdf | Bin 224700 -> 211809 bytes .../texmf-dist/doc/latex/ryethesis/ryesample.tex | 56 ++++--- .../texmf-dist/doc/latex/ryethesis/ryethesis.pdf | Bin 238988 -> 223027 bytes .../source/latex/ryethesis/ryethesis.dtx | 184 +++++++++++++++------ .../texmf-dist/tex/latex/ryethesis/ryethesis.cls | 137 ++++++++++----- 7 files changed, 309 insertions(+), 132 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/ryethesis/Makefile b/Master/texmf-dist/doc/latex/ryethesis/Makefile index e92c0130ca6..f318721c73e 100644 --- a/Master/texmf-dist/doc/latex/ryethesis/Makefile +++ b/Master/texmf-dist/doc/latex/ryethesis/Makefile @@ -1,7 +1,8 @@ -FILEROOT= +FILEROOT=ryesample + SHELL=/bin/sh -VERSION=1.2 +VERSION=1.31 LATEX=pdflatex @@ -9,40 +10,63 @@ TEXFILES=ryesample.tex BIBFILES=ryesample.bib FIGS=figure1.pdf FILES=README ryethesis.ins ryethesis.dtx ryethesis.pdf ryesample.pdf Makefile +EXTRACLEAN=*.aux *.lof *.lot *.loa *.log *.bbl *.blg *.ind *.ilg *.toc *.idx *.gls *.glo *.out *~ *.nls *.nlo *.ist *.toa *.glg *.acn *.acr *.alg *.fdb_latexmk *.synctex.gz *.dvi auto -TEXMFFLAGS=-file-line-error -halt-on-error -interaction=batchmode +TEXMFFLAGS=-file-line-error -halt-on-error #-interaction=batchmode TARGETS=ryethesis.cls ryethesis.pdf ryesample.pdf ryethesis-$(VERSION).zip + all: $(TARGETS) -.PHONY: again.and.again +.PHONY: again.and.again once bibtex glossary index nomenclature + +once: + @$(LATEX) $(TEXMFFLAGS) $(FILEROOT) || (rm -f $(FILEROOT).pdf; exit 2); + +bibtex: + @bibtex -terse $(FILEROOT) + +glossary: + @if [ -f $(FILEROOT).ist ]; then makeglossaries -q $(FILEROOT) ; fi + +index: + @if [ -f $(FILEROOT).idx ]; then makeindex -q $(FILEROOT) ; fi + +nomenclature: + @if [ -f $(FILEROOT).nlo ]; then makeindex -q $(FILEROOT).nlo -s nomencl.ist -o $(FILEROOT).nls; fi again.and.again: @if [ $(MAKELEVEL) = 4 ]; then \ echo "Too many nesting levels of make!"; exit 1; \ fi - @$(LATEX) $(TEXMFFLAGS) $(FILEROOT) || ( rm -f $(FILEROOT).pdf && exit 2) - @bibtex -terse $(FILEROOT) - @if [ -f $(FILEROOT).ist ]; then makeglossaries -q $(FILEROOT) ; fi - @if [ -f $(FILEROOT).idx ]; then makeindex -q $(FILEROOT) ; fi - @if [ -f $(FILEROOT).glo ]; then makeindex -q $(FILEROOT).nlo -s nomencl.ist -o $(FILEROOT).nls; fi - @$(LATEX) $(TEXMFFLAGS) $(FILEROOT) || ( rm -f $(FILEROOT).pdf && exit 2) + $(MAKE) once @if `grep -q -e "There were undefined references" -e "There were multiply-defined labels" -e "Label(s) may have changed. Rerun to get cross-references right" $(FILEROOT).log`; \ - then $(MAKE) FILEROOT=$(FILEROOT) again.and.again; \ + then $(MAKE) again.and.again; \ fi clean: - @rm -rf $(TARGETS) *.aux *.lof *.lot *.loa *.log *.bbl *.blg *.ind *.ilg *.toc *.idx *.gls *.glo *.out *~ *.nls *.nlo *.ist *.toa *.glg auto + @rm -rf $(EXTRACLEAN) + +clean-all: + @make clean; + @rm -rf $(TARGETS) -ryesample.pdf: Makefile ${TEXFILES} ${BIBFILES} ${FIGS} - $(MAKE) FILEROOT=ryesample again.and.again +$(FILEROOT).pdf: Makefile ryethesis.cls ${TEXFILES} ${BIBFILES} ${FIGS} + @$(MAKE) once + @$(MAKE) bibtex + @$(MAKE) glossary + @$(MAKE) index + @$(MAKE) nomenclature + @$(MAKE) again.and.again ryethesis.pdf: Makefile ryethesis.dtx - $(LATEX) $(TEXMFFLAGS) ryethesis.dtx - $(LATEX) $(TEXMFFLAGS) ryethesis.dtx + echo "Making "$@ + @$(LATEX) $(TEXMFFLAGS) ryethesis.dtx || ( cat ryethesis.log; exit 1 ) + @$(LATEX) $(TEXMFFLAGS) ryethesis.dtx || ( cat ryethesis.log; exit 2 ) -ryethesis.cls: Makefile ryethesis.ins - $(LATEX) $(TEXMFFLAGS) ryethesis.ins +ryethesis.cls: Makefile ryethesis.ins ryethesis.dtx + echo "Making "$@ + @$(LATEX) $(TEXMFFLAGS) ryethesis.ins || ( cat ryethesis.log; exit 1 ) ryethesis-$(VERSION).zip: ${FILES} ${TEXFILES} ${BIBFILES} ${FIGS} zip $@ $^ diff --git a/Master/texmf-dist/doc/latex/ryethesis/ryesample.bib b/Master/texmf-dist/doc/latex/ryethesis/ryesample.bib index 3e77e10ba6a..f899fb56ce1 100644 --- a/Master/texmf-dist/doc/latex/ryethesis/ryesample.bib +++ b/Master/texmf-dist/doc/latex/ryethesis/ryesample.bib @@ -2,7 +2,7 @@ %% http://bibdesk.sourceforge.net/ -%% Created for Jason Lassaline at 2009-11-03 10:45:27 -0500 +%% Created for Jason Lassaline at 2011-02-04 10:44:24 -0500 %% Saved with string encoding Unicode (UTF-8) @@ -25,6 +25,8 @@ @book{Ryerson:bio, Author = {E Ryerson}, + Date-Modified = {2011-02-04 10:43:25 -0500}, Publisher = {William Briggs}, Title = {The Story of My Life}, + Url = {http://books.google.ca/books?id=i94BAAAAMAAJ&ots=vgfHDksYH8&dq=egerton%20ryerson&lr&pg=PR9#v=onepage&q&f=false}, Year = {1884}} diff --git a/Master/texmf-dist/doc/latex/ryethesis/ryesample.pdf b/Master/texmf-dist/doc/latex/ryethesis/ryesample.pdf index 55a24085185..9713d7530ed 100644 Binary files a/Master/texmf-dist/doc/latex/ryethesis/ryesample.pdf and b/Master/texmf-dist/doc/latex/ryethesis/ryesample.pdf differ diff --git a/Master/texmf-dist/doc/latex/ryethesis/ryesample.tex b/Master/texmf-dist/doc/latex/ryethesis/ryesample.tex index 35689f65092..c669ba4415b 100644 --- a/Master/texmf-dist/doc/latex/ryethesis/ryesample.tex +++ b/Master/texmf-dist/doc/latex/ryethesis/ryesample.tex @@ -1,6 +1,9 @@ \documentclass[final,los,index,glossary,loa]{ryethesis} % % Note that this usage example is not an introduction to using LaTeX. You are highly recommended to check out Leslie Lamport's "LaTeX: A Document Preparation System". Please read through this file to get started using the ryethesis document class, including all comments! +% +% This sample includes packages which are part of the current TeX Live distribution. The TeX Live +% distribution is the easiest way to get up and running with TeX. See http://tug.org/texlive % Available options to ryethesis class: % draft - Produce a one-sided, double-spaced draft. @@ -13,7 +16,7 @@ % los | nolos (default) - Enable | disable a list of symbols (nomenclature) % glossary | noglossary (default) - Enable | disable a glossary of terms % index | noindex (default) - Enable | disable an index -% +% nohyperref - Disable the loading of hyperref % List of Symbols / Nomenclature %===================== @@ -49,6 +52,10 @@ % Add any other packages you wish to load here in the preamble. % \usepackage{somecoolpackage} +% This sample uses a modified version of the Chicago Manual of Style bibtex style, +% which requires the inclusion of chicago.sty. +\usepackage{chicago} + % In the pre-amble, define some of necessary information for the document frontmatter. % Specify the author (required): @@ -98,9 +105,13 @@ % Use the following commands to insert the necessary content. % The abstract. Current SGS requirement is the same as the UMI requirements: double-spaced, maximum 350 words for a PhD, 150 words otherwise. Use the \abstract command to specify the content of the abstract. The name, title, etc will be generated automatically. +% +% This abstract uses the optional acronyms defined in the glossary. The first occurance of a new +% acronym will be written out in full followed by the acronym in brackets. This feature is reset at the +% beginning of the main body of the text. \abstract{% A 350 word abstract. This will likely take 2 pages -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam tempus ultrices dolor, quis convallis est tempor id. Nam semper rhoncus diam, nec dapibus est tristique sed. Praesent non ligula eu metus laoreet ultrices. Praesent sagittis accumsan nibh, in adipiscing dui pretium vel. Nunc justo quam, tincidunt non adipiscing eu, facilisis eu risus. Etiam vitae ipsum felis, non sodales massa. Cras volutpat ultrices dolor, in aliquet felis ullamcorper quis. Vivamus feugiat auctor diam. Curabitur lectus lorem, ultrices eget ultrices non, scelerisque quis diam. Integer eget neque sed diam vehicula consequat. Phasellus aliquam elementum velit, eget suscipit enim mattis sed. Sed consequat commodo condimentum. Sed orci eros, posuere vitae consectetur et, faucibus ultricies justo. Phasellus vitae magna justo. +\Gls{LI} dolor sit amet, consectetur adipiscing elit. Aliquam tempus ultrices dolor, quis convallis est tempor id. Nam semper rhoncus diam, nec dapibus est tristique sed. Praesent non ligula eu metus laoreet ultrices. Praesent sagittis accumsan nibh, in adipiscing dui pretium vel. Nunc justo quam, tincidunt non adipiscing eu, facilisis eu risus. Etiam vitae ipsum felis, non sodales massa. Cras volutpat ultrices dolor, in aliquet felis ullamcorper quis. Vivamus feugiat auctor diam. Curabitur lectus lorem, ultrices eget ultrices non, scelerisque quis diam. Integer eget neque sed diam vehicula consequat. Phasellus aliquam elementum velit, eget suscipit enim mattis sed. Sed consequat commodo condimentum. Sed orci eros, posuere vitae consectetur et, faucibus ultricies justo. Phasellus vitae magna justo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis eget enim in magna sodales condimentum. Mauris aliquam dolor in risus aliquet pharetra. Ut accumsan faucibus dui vel vehicula. Sed justo diam, laoreet vel imperdiet sit amet, porta sit amet leo. Donec ac quam massa. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam convallis quam vel lorem viverra nec lacinia metus consectetur. Aliquam erat volutpat. Mauris consequat ullamcorper consectetur. Aenean urna risus, iaculis porta sodales at, egestas a odio. In sed ultricies dui. Sed tincidunt sem et lectus convallis nec posuere purus condimentum. @@ -119,10 +130,16 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pulvinar cursus % Bibliography/References/End Notes % The following commands should be used along with BibTeX input files. Use the \cite commands as needed throughout the main matter. % -% Specify your desired BibTeX bibliographic style. +% Specify your desired BibTeX bibliographic style. +% This sample includes a modified version of chicago.bst which includes URL support, created with the urlbst utility. You can enable it as follows but you will need to install the url package. +%\bibliographystyle{chicagourl} +% You are free to use what ever BibTeX style you wish. See the \bibliographystyle +% command below. \bibliographystyle{plain} % -% The \bibliography command is inserted automatically in the correct place (ahead of any glossary but after the appendix). Use the \addtoreferences command to add BibTeX .bib files to the input list. Note that this is not the usual way of doing this in LaTeX but works to fit the bibliography in the correct place. +% +% +% The \bibliography command is inserted automatically in the correct place (ahead of any glossary but after the appendix). Use the \addtoreferences command to add BibTeX .bib files to the input list. Note that this is not the usual way of doing this in LaTeX but works to fit the bibliography in the correct place. You can divide your references among multiple BibTeX .bib files, and include each one with a \addtoreferences command. % % \addtoreferences{bibfilename} \addtoreferences{ryesample} @@ -133,27 +150,29 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pulvinar cursus % \useendnotes % -% Glossaries are implemented using the `glossaries' package. -\newglossaryentry{Lorem}{name={Lorem},description={lorem ipsem dolor sit amet}} -\newglossaryentry{Bonorum}{name={Bonorum},description={Pellentesque tincidunt mauris id odio venenatis bibendum}} -\newglossaryentry{Malorem}{name={Malorem},description={Nam vestibulum libero et molestie mollis}} +% Glossaries are implemented using the `glossaries' package. Usage is optional but helpful for defining acronyms. + +\newglossaryentry{Lorem}{name={lorem},description={lorem ipsem dolor sit amet}} +\newglossaryentry{Bonorum}{name={bonorum},description={Pellentesque tincidunt mauris id odio venenatis bibendum}} +\newglossaryentry{Malorem}{name={malorem},description={Nam vestibulum libero et molestie mollis}} +\newacronym{LI}{LI}{lorem ipsum} % Everything after the \begin{document}, excluding any \appendix command is considered to be the main matter of the document. % \begin{document} \chapter{Introduction} -\textit{Please note that this sample is not a beginner's introduction on using \LaTeX{}. While it's not difficult to get started with \LaTeX{}, especially if using the TexLive distribution, please see Leslie Lamport's ``LaTeX: A Document Preparation System'' as a starting point for learning \LaTeX{}.} +\textit{Please note that this sample is not a beginner's introduction on using \LaTeX{}. While it's not difficult to get started with \LaTeX{}, especially if using the \href{http://tug.org/texlive}{\TeX{} Live} distribution, please see Leslie Lamport's ``LaTeX: A Document Preparation System'' as a starting point for learning \LaTeX{}.} -\textit{For the main matter of your thesis use the following sectional hierarchy: (part), chapter, section, subsection, paragraph, subparagraph. Each of these divisions can be indicated using the respective \LaTeX{} commands (e.g.\ \texttt{\textbackslash{chapter}} for a new chapter). Chapters will start on the right-hand page in two-sided mode with clear empty pages inserted as needed. In draft mode, no empty pages will be inserted.} +\textit{For the main matter of your thesis use the following sectional hierarchy: (part), chapter, section, subsection, paragraph, subparagraph. Each of these divisions can be indicated using the respective \LaTeX{} commands (e.g.\ \texttt{\textbackslash{chapter}} for a new chapter). Chapters will start on the right-hand page in two-sided mode with clear, empty pages inserted as needed in duplex mode. In draft mode, no empty pages will be inserted.} \textit{This \LaTeX{} sample document includes additional comments regarding usage in the source.} \section{Background} -\gls{Lorem} ipsum dolor sit amet, consectetur adipiscing elit. Praesent eu mauris tortor. Aliquam erat volutpat. Morbi gravida varius ornare. Duis vitae erat a odio pretium pharetra ornare sit amet urna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla tempor lacinia augue, nec blandit lacus placerat nec. Phasellus non blandit dui. Donec lobortis eros id dolor semper consectetur. Mauris laoreet metus ut elit fringilla adipiscing posuere neque mattis. Aliquam turpis nibh, porta tristique elementum pellentesque, pharetra non neque. Cras dapibus ullamcorper dolor, ac tincidunt erat fermentum adipiscing. Fusce molestie, velit lobortis sollicitudin consectetur, ante metus tempus tortor, quis cursus lacus augue sit amet sem. Maecenas nibh urna, ullamcorper eget suscipit ac, fermentum ut ante.\footnote{Footnotes will be included on the same page whenever possible. Cras congue consectetur elit, ac lobortis tortor laoreet sit amet. Cras mauris est, feugiat vitae elementum eget, aliquam consequat urna. Aliquam ac vestibulum enim. Suspendisse.} Sed non lectus sapien. Suspendisse commodo sagittis massa, eget consectetur ipsum hendrerit sed. Sed condimentum tortor quis tortor facilisis aliquam. Ut tristique diam sit amet eros convallis ac eleifend felis imperdiet. Nam eros nunc, condimentum in blandit et, consectetur ac velit. Etiam sem purus, hendrerit id adipiscing et, viverra nec mi. Proin auctor, dolor at pretium facilisis, massa mauris blandit felis, ut vestibulum nibh purus non lectus.\footnote{Integer ornare vestibulum magna, in vestibulum lacus dapibus ac. Maecenas et enim et metus malesuada.} +\Gls{Lorem} ipsum dolor sit amet, consectetur adipiscing elit. Praesent eu mauris tortor. Aliquam erat volutpat. Morbi gravida varius ornare. Duis vitae erat a odio pretium pharetra ornare sit amet urna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla tempor lacinia augue, nec blandit lacus placerat nec. Phasellus non blandit dui. Donec lobortis eros id dolor semper consectetur. Mauris laoreet metus ut elit fringilla adipiscing posuere neque mattis. Aliquam turpis nibh, porta tristique elementum pellentesque, pharetra non neque. Cras dapibus ullamcorper dolor, ac tincidunt erat fermentum adipiscing. Fusce molestie, velit lobortis sollicitudin consectetur, ante metus tempus tortor, quis cursus lacus augue sit amet sem. Maecenas nibh urna, ullamcorper eget suscipit ac, fermentum ut ante.\footnote{Footnotes will be included on the same page whenever possible. Cras congue consectetur elit, ac lobortis tortor laoreet sit amet. Cras mauris est, feugiat vitae elementum eget, aliquam consequat urna. Aliquam ac vestibulum enim. Suspendisse.} Sed non lectus sapien. Suspendisse commodo sagittis massa, eget consectetur ipsum hendrerit sed. Sed condimentum tortor quis tortor facilisis aliquam. Ut tristique diam sit amet eros convallis ac eleifend felis imperdiet. Nam eros nunc, condimentum in blandit et, consectetur ac velit. Etiam sem purus, hendrerit id adipiscing et, viverra nec mi. Proin auctor, dolor at pretium facilisis, massa mauris blandit felis, ut vestibulum nibh purus non lectus.\footnote{Integer ornare vestibulum magna, in vestibulum lacus dapibus ac. Maecenas et enim et metus malesuada.} % Attribution to references are done using BibTeX. -Suspendisse suscipit urna quis lacus egestas interdum. Lorem ipsum dolor sit amet, consectetur adipiscing elit \cite{Ryerson:bio}. Cras libero lacus, facilisis sit amet tempus at, condimentum vitae urna. Nam sit amet tortor ut risus commodo tincidunt. Nam sit amet sodales est. Curabitur tempus neque vitae portor porta gravida \cite{Ryerson:v1,Ryerson:v2} -% Equations can be entered in the usual manner. The 'nomencl' package is loaded by the class by default. A nomenclature list can be created as well using the \nomenclature command with the 'nom' class option. +Suspendisse suscipit urna quis lacus egestas interdum. \Gls{LI} dolor sit amet, consectetur adipiscing elit \cite{Ryerson:bio}. Cras libero lacus, facilisis sit amet tempus at, condimentum vitae urna. Nam sit amet tortor ut risus commodo tincidunt. Nam sit amet sodales est. Curabitur tempus neque vitae portor porta gravida \cite{Ryerson:v1,Ryerson:v2} +% Equations can be entered in the usual manner. The 'nomencl' package is loaded by the class by default. A nomenclature list can be created as well using the \nomenclature command with the 'nom' class option. To avoid odd spacing issues, use the \nomenclature command within an equation environment or as a separate paragraph. Do not embed within a paragraph. \begin{equation} a^2+b^2=c^2 \nomenclature{a}{length of adjacent side} @@ -169,7 +188,7 @@ etiam dolor turpis, rhoncus nec adipiscing et, ullamcorper ut eros. Ut auctor pe Lorem & X & \\\hline Ipsum & & X \\\hline \end{tabular} -\caption[Lorem ipsum dolor sit amet, consectetur adipiscing elit.]{\textit{Tables should be handled as floats using the \texttt{table} environment.} Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nibh.}\label{tab::1} +\caption[Lorem ipsum dolor sit amet, consectetur adipiscing elit.]{\textit{Tables should be handled as floats using the \texttt{table} environment.} \Gls{LI} dolor sit amet, consectetur adipiscing elit. Duis nibh.}\label{tab::1} \end{center} \end{table} @@ -183,12 +202,11 @@ Nam vestibulum (Fig.~\ref{fig::1}), libero et molestie mollis, urna est posuere \begin{figure} \begin{center} \includegraphics[width=\textwidth,keepaspectratio=true]{figure1.pdf} -\caption[Lorem ipsum dolor sit amet, consectetur adipiscing elit.]{\textit{Figures should be included using the \texttt{figure} float environment.} Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nibh.}\label{fig::1} +\caption[Lorem ipsum dolor sit amet, consectetur adipiscing elit.]{\textit{Figures should be included using the \texttt{figure} float environment.} \Gls{LI} dolor sit amet, consectetur adipiscing elit. Duis nibh.}\label{fig::1} \end{center} \end{figure} -\clearemptydoublepage \chapter{Lorem} -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pretium aliquam elit ac sollicitudin. Curabitur sem urna, laoreet non fermentum id, rhoncus eget ante. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris elementum ante non eros consequat luctus. Suspendisse lobortis accumsan tempus. Nullam ut dolor vestibulum erat tempor ornare bibendum vitae nisl. Praesent ornare odio molestie ligula iaculis ac eleifend ante dignissim. Vestibulum nec elit sed tortor sollicitudin euismod. Nulla facilisi. Sed nec fermentum nisi. Morbi et porta lectus. Praesent vel urna quis mi ornare pellentesque id quis ligula. Aliquam eu feugiat augue. Nunc faucibus nulla orci, et ornare leo. In vestibulum pellentesque mi vitae posuere. +\Gls{LI} dolor sit amet, consectetur adipiscing elit. Integer pretium aliquam elit ac sollicitudin. Curabitur sem urna, laoreet non fermentum id, rhoncus eget ante. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris elementum ante non eros consequat luctus. Suspendisse lobortis accumsan tempus. Nullam ut dolor vestibulum erat tempor ornare bibendum vitae nisl. Praesent ornare odio molestie ligula iaculis ac eleifend ante dignissim. Vestibulum nec elit sed tortor sollicitudin euismod. Nulla facilisi. Sed nec fermentum nisi. Morbi et porta lectus. Praesent vel urna quis mi ornare pellentesque id quis ligula. Aliquam eu feugiat augue. Nunc faucibus nulla orci, et ornare leo. In vestibulum pellentesque mi vitae posuere. \section{Sed Sed Elit} Sed sed elit et tortor volutpat mollis. Donec vel placerat orci. Vivamus condimentum dictum gravida. Pellentesque eleifend blandit lorem, vitae lacinia sapien ultrices et. Morbi dignissim, elit sit amet facilisis sodales, mi diam accumsan libero, porttitor tincidunt diam lectus et mi. Proin sollicitudin massa sed sapien porta a semper sem fringilla. Quisque nec odio ac augue aliquam tristique. Quisque volutpat pulvinar nisi et tempor. Quisque in tellus quis mauris ultrices lacinia id eget lorem. Nunc placerat rutrum mauris, id sollicitudin neque tincidunt eu. Proin sed diam mauris. Proin varius quam nec dolor egestas quis tempus mauris dignissim. Ut a sem risus. Proin ultrices, turpis ut viverra convallis, nulla mauris interdum enim, vel tincidunt ipsum libero id orci. Nullam cursus neque eget nisi commodo sit amet volutpat purus semper. Praesent lacus ante, facilisis in suscipit ut, cursus tempus tellus. @@ -196,7 +214,7 @@ Sed sed elit et tortor volutpat mollis. Donec vel placerat orci. Vivamus condime Vestibulum ultrices vulputate justo, quis cursus lorem aliquet a. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis sagittis justo id ligula mollis varius a ut arcu. Morbi semper ante vitae leo rhoncus mattis. Suspendisse scelerisque feugiat dolor ut adipiscing. Maecenas et pretium diam. Aliquam dictum enim elit, a vehicula justo. Nullam euismod arcu in metus bibendum condimentum. Donec at nunc eu arcu semper iaculis ut at nisl. Donec nec libero in sem hendrerit porta. Aliquam vitae lorem vitae dui auctor lacinia. Vestibulum eu dolor ut turpis varius venenatis in quis augue. \section{Etiam} -Etiam dictum auctor pharetra. Pellentesque quam leo, pretium sagittis vulputate a, lobortis et diam. Vestibulum rutrum massa et est porta luctus. In non risus ac magna posuere pulvinar. Morbi vitae libero vel erat blandit ultrices ac eget est. Suspendisse tellus turpis, sodales ut varius a, mattis eu massa. Donec ac purus eros. Integer vel varius justo. Sed suscipit sodales condimentum. Integer augue urna, euismod eget feugiat blandit, facilisis id lorem. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu lectus sem, ut tristique mauris. Maecenas tincidunt dui non ante lacinia et commodo massa adipiscing. Aenean hendrerit molestie tortor vitae malesuada. Nullam et scelerisque metus. +Etiam dictum auctor pharetra. Pellentesque quam leo, pretium sagittis vulputate a, lobortis et diam. Vestibulum rutrum massa et est porta luctus. In non risus ac magna posuere pulvinar. Morbi vitae libero vel erat blandit ultrices ac eget est. Suspendisse tellus turpis, sodales ut varius a, mattis eu massa. Donec ac purus eros. Integer vel varius justo. Sed suscipit sodales condimentum. Integer augue urna, euismod eget feugiat blandit, facilisis id lorem. \Gls{LI} dolor sit amet, consectetur adipiscing elit. Nulla eu lectus sem, ut tristique mauris. Maecenas tincidunt dui non ante lacinia et commodo massa adipiscing. Aenean hendrerit molestie tortor vitae malesuada. Nullam et scelerisque metus. Pellentesque mollis accumsan nisi, vel tristique turpis luctus non. Fusce tristique blandit scelerisque. Praesent interdum aliquam felis ac feugiat. Integer accumsan ornare lacus, eget vehicula ante tincidunt eu. Pellentesque mauris diam, consequat ut pharetra sed, faucibus nec risus. Sed vulputate porttitor mauris, quis mollis dui egestas et. Etiam cursus adipiscing cursus. Integer rhoncus consequat dapibus. Sed interdum, odio non fringilla volutpat, ante arcu adipiscing dui, a pellentesque lorem risus a nisi. Phasellus nisi odio, dignissim a feugiat eu, fermentum eu odio. Ut augue ante, tristique eget aliquam a, mollis sed nisi. @@ -206,7 +224,7 @@ Pellentesque mollis accumsan nisi, vel tristique turpis luctus non. Fusce tristi \chapter{Lorem Ipsum} \textit{The appendices are part of the back matter, with chapters being enumerated with letters instead of numbers. Page numbering is continuous with the main matter. Note that SGS policy states that appendices be listed in the List of Appendices rather than the Table of Contents.} \section{Lorem} -Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas nulla lorem, venenatis et suscipit eu, ullamcorper tempor purus. Maecenas aliquet vestibulum libero, eu tempor diam ullamcorper eu. Pellentesque vel urna id nibh tempus blandit a tristique dui. Nunc sodales feugiat risus, ac varius lacus adipiscing a. Duis pulvinar euismod viverra. Maecenas ullamcorper aliquet lorem pellentesque gravida. Vivamus tincidunt massa eu turpis ultricies ac placerat erat molestie. Phasellus nec tellus neque. Praesent nec dapibus dui. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec nec erat vitae libero tristique varius nec volutpat est. Nullam viverra, mi a tristique commodo, ante erat tincidunt erat, at vestibulum ipsum tellus in diam. Sed imperdiet mauris vel eros aliquam pellentesque a aliquam ipsum. Duis eget leo nibh. Mauris justo nisl, dictum a tempor sit amet, semper et enim. Mauris augue nisi, mattis vel pretium id, convallis laoreet orci. Sed vestibulum nisi sit amet enim sagittis porttitor. Duis ut nunc vel magna convallis vehicula eu eu turpis. In hac habitasse platea dictumst. Aenean condimentum fermentum risus, viverra ultricies nisl dapibus id. +\Gls{LI} dolor sit amet, consectetur adipiscing elit. Maecenas nulla lorem, venenatis et suscipit eu, ullamcorper tempor purus. Maecenas aliquet vestibulum libero, eu tempor diam ullamcorper eu. Pellentesque vel urna id nibh tempus blandit a tristique dui. Nunc sodales feugiat risus, ac varius lacus adipiscing a. Duis pulvinar euismod viverra. Maecenas ullamcorper aliquet lorem pellentesque gravida. Vivamus tincidunt massa eu turpis ultricies ac placerat erat molestie. Phasellus nec tellus neque. Praesent nec dapibus dui. \Gls{LI} dolor sit amet, consectetur adipiscing elit. Donec nec erat vitae libero tristique varius nec volutpat est. Nullam viverra, mi a tristique commodo, ante erat tincidunt erat, at vestibulum ipsum tellus in diam. Sed imperdiet mauris vel eros aliquam pellentesque a aliquam ipsum. Duis eget leo nibh. Mauris justo nisl, dictum a tempor sit amet, semper et enim. Mauris augue nisi, mattis vel pretium id, convallis laoreet orci. Sed vestibulum nisi sit amet enim sagittis porttitor. Duis ut nunc vel magna convallis vehicula eu eu turpis. In hac habitasse platea dictumst. Aenean condimentum fermentum risus, viverra ultricies nisl dapibus id. Donec arcu felis, vulputate fringilla vestibulum sed, interdum eu ipsum. Mauris egestas egestas libero, ut dictum enim tincidunt vel. Nunc sit amet arcu turpis, ac commodo ante. Aenean dictum urna urna, sed mattis tellus. Vivamus cursus condimentum ullamcorper. Nunc ut lorem enim. Morbi tempor vestibulum rhoncus. Phasellus nec neque urna. Aliquam sollicitudin scelerisque erat sit amet hendrerit. Quisque a libero felis. Pellentesque iaculis gravida massa nec tincidunt. Nulla facilisi. diff --git a/Master/texmf-dist/doc/latex/ryethesis/ryethesis.pdf b/Master/texmf-dist/doc/latex/ryethesis/ryethesis.pdf index e02ce90e7dc..b08ed71c96a 100644 Binary files a/Master/texmf-dist/doc/latex/ryethesis/ryethesis.pdf and b/Master/texmf-dist/doc/latex/ryethesis/ryethesis.pdf differ diff --git a/Master/texmf-dist/source/latex/ryethesis/ryethesis.dtx b/Master/texmf-dist/source/latex/ryethesis/ryethesis.dtx index abd7991d48b..84c6c60c61c 100644 --- a/Master/texmf-dist/source/latex/ryethesis/ryethesis.dtx +++ b/Master/texmf-dist/source/latex/ryethesis/ryethesis.dtx @@ -22,7 +22,7 @@ %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesClass{ryethesis} %<*class> - [2010/06/18 v1.2 Ryerson University thesis class definition] + [2010/06/18 v1.3 Ryerson University thesis class definition] % % %<*driver> @@ -39,7 +39,7 @@ % % \fi % -% \CheckSum{755} +% \CheckSum{845} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -63,6 +63,10 @@ % xcolor package earlier in file.} % \changes{v1.2}{2010/07/05}{Changed \\degree to \\degreeName to avoid % conflict with package unitsdef.} +% \changes{v1.3}{2010/07/08}{Removed xcolor. Include hyperref to avoid +% problems for users with List of Appendices. Fixed \\cleardoublepage +% for two-sided mode to insert empty page. Fixed draft mode to be +% one-sided. } % % \GetFileInfo{ryethesis.dtx} % @@ -175,12 +179,19 @@ % Typically, most documents which include an appendix list the appendices within the Table of Contents. SGS formatting policy indicates a separate List of Appendices. This switch is enabled by default, and any |\chapter| or lower sectioning will appear in a separate List of Appendices. You must use the |\appendix| command for the appendices to be numbered and inserted correctly. No List of Appendices will appear if you do not use the |\appendix| command. % % \DescribeToggle{glossary}{noglossary}{\includeglossary}{\noglossary} -% Glossaries are supported using the |glossaries| package but are optional. You will need to do additional processing using the |makeglossaries| command to generate the glossary content. See the |glossaries| package for more details. Include glossary commands for identifying glossary items but do not issue the |\printglossary| command as this is handled automatically if glossaries are enabled. +% Glossaries are supported using the |glossaries| package but are +% optional. You will need to do additional processing using the +% |makeglossaries| command to generate the glossary content. See the +% |glossaries| package for more details. Include glossary commands for +% identifying glossary items but do not issue the |\printglossary| +% command as this is handled automatically if glossaries are +% enabled. Acronyms can be defined in the glossary using the +% |\newacronym| command and will be listed separately within the +% glossary % % \vspace{\baselineskip}\DescribeToggle{index}{noindex}{\includeindex}{\noindex} % An optional index is supported using the |makeindex| command in the normal fashion. Indicate index items using the |\index| command but do not issue the |\printindex| command as this is handled automatically if indices enabled. % -% % \StopEventually{\PrintChanges\PrintIndex} % % \section{Implementation} @@ -194,7 +205,6 @@ % % \begin{macrocode} % A minimal set of packages as required by the class -\RequirePackage{xcolor} \RequirePackage{ifthen} \RequirePackage{fancyhdr} \RequirePackage{setspace} @@ -232,6 +242,10 @@ % in a separate list, and not within the ToC. % \newboolean{@ryelistofappendices} \setboolean{@ryelistofappendices}{true} +% As the List of Appendices overrides the |\addtocontents| command, +% hyperef is included by this class to avoid broken links when +% including the table of contents or list of appendices. +\newboolean{@ryehyperref} \setboolean{@ryehyperref}{true} % % Ryerson SGS policy does not specify anything about a list of % symbols or nomenclature, however in engineering, math, and @@ -242,7 +256,7 @@ % Glossaries and indices require extra processing. These are disabled by default as they are likely uncommon in a thesis or dissertation. \newboolean{@ryeglossary} \setboolean{@ryeglossary}{false} \newboolean{@ryeindex} \setboolean{@ryeindex}{false} - +% % This class is based upon the book class \DeclareOption*{% \PassOptionsToClass{\CurrentOption}{book} @@ -254,7 +268,7 @@ \DeclareOption{draft}{ \typeout{Ryerson-Thesis Class Option: `draft'} \ExecuteOptions{10pt,oneside} - \PassOptionsToClass{draft}{book} + \PassOptionsToClass{draft,oneside}{book} \setboolean{@ryedraft}{true} } @@ -262,7 +276,7 @@ \DeclareOption{final}{ \typeout{Ryerson-Thesis Class Option: `final'} \ExecuteOptions{10pt,twoside} - \PassOptionsToClass{final}{book} + \PassOptionsToClass{final,twoside}{book} \setboolean{@ryedraft}{false} } @@ -326,6 +340,13 @@ \setboolean{@ryelistofappendices}{false} } +% Do not include hyperref +\DeclareOption{nohyperref}{ + \typeout{Ryerson-Thesis Class Option: `nohyperref' Do not include hyperref} + \setboolean{@ryehyperref}{false} +} + + % Include a list of symbols (i.e. a nomenclature). Requires additional processing of the document. \DeclareOption{los}{ \typeout{Ryerson-Thesis Class Option: `los' Enabling Nomenclature} @@ -406,11 +427,17 @@ % \item \textbf{Back matter} no format specified so keeping same style as main matter % \end{description} -% \begin{macro}{\clearemptydoublepage} -% Create a new page, set page style to empty (no footer or header), then issue a clear page if in |twoside| mode. Used before nearly every ToC, list, or start of new front matter section. This results in part (e.g.\ Table of Contents) starting on the right hand side (odd page number) in |twoside| mode. +% \begin{macro}{\cleardoublepage} +% Create a new page, set page style to empty (no footer or header), then issue a clear page if in |twoside| mode. Used before every ToC, list, or start of new chapter. This results in part (e.g.\ Table of Contents) starting on the right hand side (odd page number) in |twoside| mode. % \begin{macrocode} -% clearemptydoublepage from page 92 of The LaTeX Companion 1993. -\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} +% based upon clearemptydoublepage from page 92 of +% The LaTeX Companion, 1993. +\renewcommand{\cleardoublepage}{\newpage{\pagestyle{empty}% +\clearpage\if@twoside \ifodd\c@page\else% +\hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}} +% An internal clearpage command +\newcommand{\ryethesis@clearpage} +{\if@openright\cleardoublepage\else\clearpage\fi} % \end{macrocode} % \end{macro} @@ -419,13 +446,11 @@ % \begin{macrocode} \newif\if@ryethesismatchtoc \@ryethesismatchtocfalse \renewcommand\frontmatter{% - \cleardoublepage \@mainmatterfalse \@ryethesismatchtocfalse \pagenumbering{roman} \pagestyle{plain} \maketitle - \clearemptydoublepage \ryethesis@insertdeclaration \ryethesis@insertabstract \ryethesis@insertacknowledgements @@ -437,10 +462,14 @@ \ryethesis@insertloi \ryethesis@insertloa \ryethesis@insertnom - % Each of the above \ryethesis@insert commands apply a \clearemptydoublepage - \newpage + \ryethesis@clearpage \pagenumbering{arabic} \pagestyle{fancy} + % If the acronym feature is used with the glossary of terms, \gls + % commands for acronyms will be expanded on first use if used in the + % front matter (e.g. in the abstract). Reset this usage so that the + % first use of a \gls acronym is expanded in the main matter as well. + \ifthenelse{\boolean{@ryeglossary}}{\glsresetall}{} } % \end{macrocode} % \end{macro} @@ -449,7 +478,6 @@ % Sets up page style of the main matter (i.e. the body) of the document. This function is called by the class after |\frontmatter| and does not need to be called by the end user. % \begin{macrocode} \renewcommand\mainmatter{% - \clearemptydoublepage \@mainmattertrue \pagenumbering{arabic} \pagestyle{fancy} @@ -460,7 +488,6 @@ % Insert the back matter, beginning with the appendices, if any. This function is called by the class at the end of the document and does not need to be called by the end user. This means that the appendices and bibliography must be defined in a similar way as the front matter content is defined. % \begin{macrocode} \renewcommand\backmatter{% - \clearemptydoublepage % Redirect toc entries to toa if a List of Appendices is used \ifthenelse{\boolean{@ryelistofappendices}}{\@ryethesismatchtoctrue}{\@ryethesismatchtocfalse} \ryethesis@insertappendix @@ -469,6 +496,7 @@ \ryethesis@insertreferences \ryethesis@insertglossary \ryethesis@insertindex + \@mainmatterfalse } % \end{macrocode} % \end{macro} @@ -513,6 +541,20 @@ % The following commands are used to define the above variable content. +% \begin{macro}{\title} +% Override the default behaviour of |\title| +% \begin{macrocode} +\def\title#1{\gdef\@title{#1}\if@ryehyperref\hypersetup{pdftitle={#1}}\fi} +% \end{macrocode} +% \end{macro} + +% \begin{macro}{\author} +% Override the default behaviour of |\author| +% \begin{macrocode} +\def\author#1{\gdef\@author{#1}\if@ryehyperref\hypersetup{pdfauthor={#1}}\fi} +% \end{macrocode} +% \end{macro} + % \begin{macro}{\documentype} % Specify the document type (e.g. thesis, dissertation, or project. Users may use this command to override the currently defined options. % \begin{macrocode} @@ -543,7 +585,7 @@ % \begin{macrocode} % Was \degree but changed to the more specific \degreeName to avoid % conflict with other packages -\newcommand{\degreeName}[1]{\gdef\ryethesis@degree{#1}} +\newcommand{\degreeName}[1]{\gdef\ryethesis@degree{#1}\if@ryehyperref\hypersetup{pdfsubject={#1}}\fi} % \end{macrocode} % \end{macro} % \begin{macro}{\degreeYear} @@ -622,6 +664,7 @@ \end{large} \end{spacing} \end{titlepage} + } % \end{macrocode} % \end{macro} @@ -648,7 +691,7 @@ \newcommand{\ryethesis@insertdeclaration}{% \ifthenelse{\boolean{@ryedraft}} {} -{\declaration\clearemptydoublepage} +{\ryethesis@clearpage\declaration} } % \end{macrocode} % \end{macro} @@ -658,8 +701,9 @@ % \begin{macro}{\ryethesis@insertabstract} % This code will insert a UMI/ProQuest compatible abstract, double spaced as required. The |\abstract| command is redefined to set the content of the abstract variable |\ryethesis@theabstract|. % \begin{macrocode} -\newcommand{\abstract}[1]{\ifx\empty#1\else\gdef\ryethesis@theabstract{#1}\fi} +\newcommand{\abstract}[1]{\ifx\empty#1\else\gdef\ryethesis@theabstract{\begin{center}\section*{Abstract}\end{center}#1}\fi} \newcommand{\ryethesis@insertabstract}{% +\ryethesis@clearpage % A UMI/ProQuest compatible abstract \begin{spacing}{2} \begin{center} @@ -668,13 +712,13 @@ \ryethesis@degree{} \ryethesis@degreeYear\\ \@author\\ \ryethesis@program\\ -Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partnerUniv}\fi}\\ +Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and + \ryethesis@partnerUniv}\fi}\\ \end{center} %\begin{minipage}{\textwidth} {\ifx\empty\ryethesis@theabstract{\begin{center}\textit{Abstract goes here!}\end{center}}\else\ryethesis@theabstract\fi} %\end{minipage} \end{spacing} -\clearemptydoublepage } % \end{macrocode} % \end{macro} @@ -691,11 +735,11 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner \newcommand{\ryethesis@insertacknowledgements}{% \ifx\empty\ryethesis@theacknowledgements\else{ +\ryethesis@clearpage \begin{center} \section*{Acknowledgements} \end{center} \ryethesis@theacknowledgements -\clearemptydoublepage }\fi } @@ -703,11 +747,11 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner \newcommand{\ryethesis@insertdedication}{% \ifx\empty\ryethesis@thededication\else{ +\ryethesis@clearpage \begin{center} \section*{Dedication} \end{center} \ryethesis@thededication -\clearemptydoublepage }\fi } @@ -772,30 +816,30 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner % A number of |\ryethesis@insert*| commands follow. Each command has a similar function, creating a new page with the necessary content (e.g. List of Figures, Table of Contents, etc). None of these commands are intended to be called by the end user. % \begin{macrocode} \newcommand{\ryethesis@inserttoc}{ +\ryethesis@clearpage \tableofcontents -\clearemptydoublepage } \newcommand{\ryethesis@insertlot}{ -\ifthenelse{\boolean{@ryelistoftables}}{\listoftables\clearemptydoublepage}{} +\ifthenelse{\boolean{@ryelistoftables}}{\ryethesis@clearpage\listoftables}{} } \ifthenelse{\boolean{@ryelistofplates}} {\RequirePackage{float}\newfloat{plate}{h}{lop}}{} \newcommand{\ryethesis@insertlop}{ -\ifthenelse{\boolean{@ryelistofplates}}{\listof{plate}{List of Plates}}{} +\ifthenelse{\boolean{@ryelistofplates}}{\ryethesis@clearpage\listof{plate}{List of Plates}}{} } \newcommand{\ryethesis@insertlof}{ -\ifthenelse{\boolean{@ryelistoftables}}{\listoffigures\clearemptydoublepage}{} +\ifthenelse{\boolean{@ryelistoftables}}{\ryethesis@clearpage\listoffigures}{} } \ifthenelse{\boolean{@ryelistofillustrations}} {\RequirePackage{float}\newfloat{illustration}{h}{loi}}{} \newcommand{\ryethesis@insertloi}{ -\ifthenelse{\boolean{@ryelistofillustrations}}{\listof{illustration}{List of Illustrations}}{} +\ifthenelse{\boolean{@ryelistofillustrations}}{\ryethesis@clearpage\listof{illustration}{List of Illustrations}}{} } \ifthenelse{\boolean{@ryelistofappendices}} @@ -806,37 +850,51 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner {} \newcommand{\ryethesis@insertloa}{% -\ifthenelse{\boolean{@ryelistofappendices}}{\listofappendices\clearemptydoublepage}{} +\ifthenelse{\boolean{@ryelistofappendices}}{\ryethesis@clearpage\listofappendices}{} } \renewcommand{\appendix}[1]{\ifx\empty#1\else\gdef\ryethesis@theappendices{#1}\fi} -\def\addcontentsline#1#2#3{% -\if@ryethesismatchtoc% -{\ifthenelse{\equal{#1}{toc}}% -{\addtocontents{toa}{\protect\contentsline{#2}{#3}{\thepage}}}% -{\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}}} -\else% -\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}% -\fi -} - \newcommand{\ryethesis@insertappendix}{% % If a list of appendices is requested, redirect the toc entries into a different file \ifx\empty\ryethesis@theappendices\else{ +\ryethesis@clearpage \renewcommand{\thechapter}{\Alph{chapter}} \renewcommand{\chaptername}{Appendix} \setcounter{chapter}{0} \ryethesis@theappendices -\clearemptydoublepage }\fi } -\ifthenelse{\boolean{@ryeglossary}}{\RequirePackage{glossaries}\makeglossaries% + +% Insert hyperref package, if not disabled by class option +\if@ryehyperref +\RequirePackage[pageanchor,hyperindex]{hyperref} +\RequirePackage{bookmark} +\fi + +\ifthenelse{\boolean{@ryeglossary}} +{\RequirePackage[acronym,toc]{glossaries}\makeglossaries% %Glossaries prints a confusing warning \global\let\warn@noprintglossary\relax }{} -\ifthenelse{\boolean{@ryeindex}}{\RequirePackage{makeidx}\makeindex}{} +\ifthenelse{\boolean{@ryeindex}} +{ +%\RequirePackage{index}\makeindex +\RequirePackage{makeidx}\makeindex +\RequirePackage{multicol} +\renewenvironment{theindex} + {\begin{multicols}{2}[\@makeschapterhead{\indexname}\addcontentsline{toc}{chapter}{\indexname}% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}]% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \columnseprule \z@ + \columnsep 35\p@ + \let\item\@idxitem} + {\end{multicols}\clearpage} +} +{} \ifthenelse{\boolean{@ryenomenclature}}{% \RequirePackage{nomencl} @@ -845,23 +903,32 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner }{} \newcommand{\ryethesis@insertnom}{% -\ifthenelse{\boolean{@ryenomenclature}}{\printnomenclature\clearemptydoublepage}{} +\ifthenelse{\boolean{@ryenomenclature}}{\ryethesis@clearpage\printnomenclature}{} } \newcommand{\ryethesis@insertreferences}{% -\ifx\emtpy\ryethesis@listofbibfiles\else\bibliography{\ryethesis@listofbibfiles}\addcontentsline{toc}{chapter}{\bibname}\clearemptydoublepage\fi +\ifx\emtpy\ryethesis@listofbibfiles +\else + \ryethesis@clearpage\bibliography{\ryethesis@listofbibfiles} + \addcontentsline{toc}{chapter}{\bibname} +\fi } \newcommand{\ryethesis@insertglossary}{% \ifthenelse{\boolean{@ryeglossary}} -{\printglossaries%glossaries.sty prints a false warning. +{\ryethesis@clearpage% +\printglossaries%glossaries.sty prints a false warning. \global\let\warn@noprintglossary\relax% -\addcontentsline{toc}{chapter}{Glossary}\clearemptydoublepage} +} {} } \newcommand{\ryethesis@insertindex}{% -\ifthenelse{\boolean{@ryeindex}}{\printindex\addcontentsline{toc}{chapter}{Index}\clearemptydoublepage}{} +\ifthenelse{\boolean{@ryeindex}} +{\ryethesis@clearpage% +\printindex +} +{} } % \end{macrocode} @@ -888,6 +955,21 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner % \end{macro} % \end{macro} +% \begin{macrocode} +%Adjust |\addtocontents| to switch from toc to toa file if using List +%of Appendices +\newcommand{\Saved@addtocontents}{} +\let\Saved@addtocontents\addtocontents +\def\addtocontents#1#2{% +\if@ryethesismatchtoc% +{\ifthenelse{\equal{#1}{toc}}% +{\Saved@addtocontents{toa}{#2}} +{\Saved@addtocontents{#1}{#2}}} +\else +{\Saved@addtocontents{#1}{#2}} +\fi} +% \end{macrocode} + % Final commands to issue at the end of the class. In the case of draft mode, the line spacing is set to double spacing. In final mode, a line spacing of 1.5 is used, as required by SGS. The |\usereferences| command is used to label the bibliographic section as ``References'' by default. % \begin{macrocode} @@ -903,7 +985,9 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner % The |\AtBeginDocument| and |\AtEndDocument| are used to insert the front, main, and back matter in the correct place for the user. This tightly controls the order of appearance of each type of content. % \begin{macrocode} % Insert front matter & mainmatter settings before user's material -\AtBeginDocument{\frontmatter\mainmatter} +\AtBeginDocument{ +\frontmatter\mainmatter +} % Insert back matter at the end \AtEndDocument{\backmatter} % \end{macrocode} diff --git a/Master/texmf-dist/tex/latex/ryethesis/ryethesis.cls b/Master/texmf-dist/tex/latex/ryethesis/ryethesis.cls index f1250b85ade..69b04fa47c0 100644 --- a/Master/texmf-dist/tex/latex/ryethesis/ryethesis.cls +++ b/Master/texmf-dist/tex/latex/ryethesis/ryethesis.cls @@ -22,9 +22,8 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{ryethesis} - [2010/06/18 v1.2 Ryerson University thesis class definition] + [2010/06/18 v1.3 Ryerson University thesis class definition] -\RequirePackage{xcolor} \RequirePackage{ifthen} \RequirePackage{fancyhdr} \RequirePackage{setspace} @@ -35,10 +34,10 @@ \newboolean{@ryelistoffigures} \setboolean{@ryelistoffigures}{true} \newboolean{@ryelistofillustrations} \setboolean{@ryelistofillustrations}{false} \newboolean{@ryelistofappendices} \setboolean{@ryelistofappendices}{true} +\newboolean{@ryehyperref} \setboolean{@ryehyperref}{true} \newboolean{@ryenomenclature} \setboolean{@ryenomenclature}{false} \newboolean{@ryeglossary} \setboolean{@ryeglossary}{false} \newboolean{@ryeindex} \setboolean{@ryeindex}{false} - \DeclareOption*{% \PassOptionsToClass{\CurrentOption}{book} } @@ -47,14 +46,14 @@ \DeclareOption{draft}{ \typeout{Ryerson-Thesis Class Option: `draft'} \ExecuteOptions{10pt,oneside} - \PassOptionsToClass{draft}{book} + \PassOptionsToClass{draft,oneside}{book} \setboolean{@ryedraft}{true} } \DeclareOption{final}{ \typeout{Ryerson-Thesis Class Option: `final'} \ExecuteOptions{10pt,twoside} - \PassOptionsToClass{final}{book} + \PassOptionsToClass{final,twoside}{book} \setboolean{@ryedraft}{false} } @@ -108,6 +107,11 @@ \setboolean{@ryelistofappendices}{false} } +\DeclareOption{nohyperref}{ + \typeout{Ryerson-Thesis Class Option: `nohyperref' Do not include hyperref} + \setboolean{@ryehyperref}{false} +} + \DeclareOption{los}{ \typeout{Ryerson-Thesis Class Option: `los' Enabling Nomenclature} \typeout{*********************************************************************} @@ -165,17 +169,19 @@ \setmargrb{1.25in}{1in}{1in}{1in} -\newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} +\renewcommand{\cleardoublepage}{\newpage{\pagestyle{empty}% +\clearpage\if@twoside \ifodd\c@page\else% +\hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}} +\newcommand{\ryethesis@clearpage} +{\if@openright\cleardoublepage\else\clearpage\fi} \newif\if@ryethesismatchtoc \@ryethesismatchtocfalse \renewcommand\frontmatter{% - \cleardoublepage \@mainmatterfalse \@ryethesismatchtocfalse \pagenumbering{roman} \pagestyle{plain} \maketitle - \clearemptydoublepage \ryethesis@insertdeclaration \ryethesis@insertabstract \ryethesis@insertacknowledgements @@ -187,26 +193,29 @@ \ryethesis@insertloi \ryethesis@insertloa \ryethesis@insertnom - % Each of the above \ryethesis@insert commands apply a \clearemptydoublepage - \newpage + \ryethesis@clearpage \pagenumbering{arabic} \pagestyle{fancy} + % If the acronym feature is used with the glossary of terms, \gls + % commands for acronyms will be expanded on first use if used in the + % front matter (e.g. in the abstract). Reset this usage so that the + % first use of a \gls acronym is expanded in the main matter as well. + \ifthenelse{\boolean{@ryeglossary}}{\glsresetall}{} } \renewcommand\mainmatter{% - \clearemptydoublepage \@mainmattertrue \pagenumbering{arabic} \pagestyle{fancy} } \renewcommand\backmatter{% - \clearemptydoublepage \ifthenelse{\boolean{@ryelistofappendices}}{\@ryethesismatchtoctrue}{\@ryethesismatchtocfalse} \ryethesis@insertappendix \@ryethesismatchtocfalse \ryethesis@insertreferences \ryethesis@insertglossary \ryethesis@insertindex + \@mainmatterfalse } \fancyhead{} % Clear all header fields \fancyhead[LE,RO]{\slshape \rightmark} @@ -239,12 +248,16 @@ \global\def\ryethesis@theappendices{} +\def\title#1{\gdef\@title{#1}\if@ryehyperref\hypersetup{pdftitle={#1}}\fi} + +\def\author#1{\gdef\@author{#1}\if@ryehyperref\hypersetup{pdfauthor={#1}}\fi} + \newcommand{\documenttype}[1]{\ifx\empty#1\else\gdef\ryethesis@documentType{#1}\fi} \newcommand{\thesis}{\documenttype{thesis}} \newcommand{\dissertation}{\documenttype{dissertation}} \newcommand{\project}{\documenttype{project}} -\newcommand{\degreeName}[1]{\gdef\ryethesis@degree{#1}} +\newcommand{\degreeName}[1]{\gdef\ryethesis@degree{#1}\if@ryehyperref\hypersetup{pdfsubject={#1}}\fi} \newcommand{\degreeYear}[1]{\gdef\ryethesis@degreeYear{#1}} \newcommand{\program}[1]{\gdef\ryethesis@program{#1}} @@ -292,6 +305,7 @@ \end{large} \end{spacing} \end{titlepage} + } \newcommand{\declaration}{% Author declaration and release per SGS policy Sept. 2009. @@ -310,11 +324,12 @@ \newcommand{\ryethesis@insertdeclaration}{% \ifthenelse{\boolean{@ryedraft}} {} -{\declaration\clearemptydoublepage} +{\ryethesis@clearpage\declaration} } -\newcommand{\abstract}[1]{\ifx\empty#1\else\gdef\ryethesis@theabstract{#1}\fi} +\newcommand{\abstract}[1]{\ifx\empty#1\else\gdef\ryethesis@theabstract{\begin{center}\section*{Abstract}\end{center}#1}\fi} \newcommand{\ryethesis@insertabstract}{% +\ryethesis@clearpage \begin{spacing}{2} \begin{center} \normalsize @@ -322,11 +337,11 @@ \ryethesis@degree{} \ryethesis@degreeYear\\ \@author\\ \ryethesis@program\\ -Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partnerUniv}\fi}\\ +Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and + \ryethesis@partnerUniv}\fi}\\ \end{center} {\ifx\empty\ryethesis@theabstract{\begin{center}\textit{Abstract goes here!}\end{center}}\else\ryethesis@theabstract\fi} \end{spacing} -\clearemptydoublepage } @@ -334,11 +349,11 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner \newcommand{\ryethesis@insertacknowledgements}{% \ifx\empty\ryethesis@theacknowledgements\else{ +\ryethesis@clearpage \begin{center} \section*{Acknowledgements} \end{center} \ryethesis@theacknowledgements -\clearemptydoublepage }\fi } @@ -346,11 +361,11 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner \newcommand{\ryethesis@insertdedication}{% \ifx\empty\ryethesis@thededication\else{ +\ryethesis@clearpage \begin{center} \section*{Dedication} \end{center} \ryethesis@thededication -\clearemptydoublepage }\fi } @@ -373,30 +388,30 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner \newcommand{\noglossary}{\setboolean{@ryeglossary}{false}} \newcommand{\ryethesis@inserttoc}{ +\ryethesis@clearpage \tableofcontents -\clearemptydoublepage } \newcommand{\ryethesis@insertlot}{ -\ifthenelse{\boolean{@ryelistoftables}}{\listoftables\clearemptydoublepage}{} +\ifthenelse{\boolean{@ryelistoftables}}{\ryethesis@clearpage\listoftables}{} } \ifthenelse{\boolean{@ryelistofplates}} {\RequirePackage{float}\newfloat{plate}{h}{lop}}{} \newcommand{\ryethesis@insertlop}{ -\ifthenelse{\boolean{@ryelistofplates}}{\listof{plate}{List of Plates}}{} +\ifthenelse{\boolean{@ryelistofplates}}{\ryethesis@clearpage\listof{plate}{List of Plates}}{} } \newcommand{\ryethesis@insertlof}{ -\ifthenelse{\boolean{@ryelistoftables}}{\listoffigures\clearemptydoublepage}{} +\ifthenelse{\boolean{@ryelistoftables}}{\ryethesis@clearpage\listoffigures}{} } \ifthenelse{\boolean{@ryelistofillustrations}} {\RequirePackage{float}\newfloat{illustration}{h}{loi}}{} \newcommand{\ryethesis@insertloi}{ -\ifthenelse{\boolean{@ryelistofillustrations}}{\listof{illustration}{List of Illustrations}}{} +\ifthenelse{\boolean{@ryelistofillustrations}}{\ryethesis@clearpage\listof{illustration}{List of Illustrations}}{} } \ifthenelse{\boolean{@ryelistofappendices}} @@ -407,36 +422,48 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner {} \newcommand{\ryethesis@insertloa}{% -\ifthenelse{\boolean{@ryelistofappendices}}{\listofappendices\clearemptydoublepage}{} +\ifthenelse{\boolean{@ryelistofappendices}}{\ryethesis@clearpage\listofappendices}{} } \renewcommand{\appendix}[1]{\ifx\empty#1\else\gdef\ryethesis@theappendices{#1}\fi} -\def\addcontentsline#1#2#3{% -\if@ryethesismatchtoc% -{\ifthenelse{\equal{#1}{toc}}% -{\addtocontents{toa}{\protect\contentsline{#2}{#3}{\thepage}}}% -{\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}}} -\else% -\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}% -\fi -} - \newcommand{\ryethesis@insertappendix}{% \ifx\empty\ryethesis@theappendices\else{ +\ryethesis@clearpage \renewcommand{\thechapter}{\Alph{chapter}} \renewcommand{\chaptername}{Appendix} \setcounter{chapter}{0} \ryethesis@theappendices -\clearemptydoublepage }\fi } -\ifthenelse{\boolean{@ryeglossary}}{\RequirePackage{glossaries}\makeglossaries% + +\if@ryehyperref +\RequirePackage[pageanchor,hyperindex]{hyperref} +\RequirePackage{bookmark} +\fi + +\ifthenelse{\boolean{@ryeglossary}} +{\RequirePackage[acronym,toc]{glossaries}\makeglossaries% %Glossaries prints a confusing warning \global\let\warn@noprintglossary\relax }{} -\ifthenelse{\boolean{@ryeindex}}{\RequirePackage{makeidx}\makeindex}{} +\ifthenelse{\boolean{@ryeindex}} +{ +\RequirePackage{makeidx}\makeindex +\RequirePackage{multicol} +\renewenvironment{theindex} + {\begin{multicols}{2}[\@makeschapterhead{\indexname}\addcontentsline{toc}{chapter}{\indexname}% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}]% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \columnseprule \z@ + \columnsep 35\p@ + \let\item\@idxitem} + {\end{multicols}\clearpage} +} +{} \ifthenelse{\boolean{@ryenomenclature}}{% \RequirePackage{nomencl} @@ -445,23 +472,32 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner }{} \newcommand{\ryethesis@insertnom}{% -\ifthenelse{\boolean{@ryenomenclature}}{\printnomenclature\clearemptydoublepage}{} +\ifthenelse{\boolean{@ryenomenclature}}{\ryethesis@clearpage\printnomenclature}{} } \newcommand{\ryethesis@insertreferences}{% -\ifx\emtpy\ryethesis@listofbibfiles\else\bibliography{\ryethesis@listofbibfiles}\addcontentsline{toc}{chapter}{\bibname}\clearemptydoublepage\fi +\ifx\emtpy\ryethesis@listofbibfiles +\else + \ryethesis@clearpage\bibliography{\ryethesis@listofbibfiles} + \addcontentsline{toc}{chapter}{\bibname} +\fi } \newcommand{\ryethesis@insertglossary}{% \ifthenelse{\boolean{@ryeglossary}} -{\printglossaries%glossaries.sty prints a false warning. +{\ryethesis@clearpage% +\printglossaries%glossaries.sty prints a false warning. \global\let\warn@noprintglossary\relax% -\addcontentsline{toc}{chapter}{Glossary}\clearemptydoublepage} +} {} } \newcommand{\ryethesis@insertindex}{% -\ifthenelse{\boolean{@ryeindex}}{\printindex\addcontentsline{toc}{chapter}{Index}\clearemptydoublepage}{} +\ifthenelse{\boolean{@ryeindex}} +{\ryethesis@clearpage% +\printindex +} +{} } @@ -473,6 +509,17 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner \newcommand{\usereferences}{\renewcommand{\bibname}{References}} \newcommand{\useendnotes}{\renewcommand{\bibname}{End Notes}} +\newcommand{\Saved@addtocontents}{} +\let\Saved@addtocontents\addtocontents +\def\addtocontents#1#2{% +\if@ryethesismatchtoc% +{\ifthenelse{\equal{#1}{toc}}% +{\Saved@addtocontents{toa}{#2}} +{\Saved@addtocontents{#1}{#2}}} +\else +{\Saved@addtocontents{#1}{#2}} +\fi} + \AtEndOfClass{ \ifthenelse{\boolean{@ryedraft}} @@ -482,7 +529,9 @@ Ryerson University{\ifx\empty\ryethesis@partnerUniv\else{ and \ryethesis@partner \onehalfspacing} \usereferences } -\AtBeginDocument{\frontmatter\mainmatter} +\AtBeginDocument{ +\frontmatter\mainmatter +} \AtEndDocument{\backmatter} \endinput %% -- cgit v1.2.3