diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-gloss.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-gloss.sty | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-gloss.sty b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-gloss.sty new file mode 100644 index 00000000000..0f7ba1ff3fc --- /dev/null +++ b/Master/texmf-dist/tex/latex/gatech-thesis/gatech-thesis-gloss.sty @@ -0,0 +1,101 @@ +%% gatech-thesis-gloss.sty - support code for creating glossaries +%% depends on gloss.sty, so it is not included by default in the +%% main gatech-thesis.cls (this cuts down on ``extra'' dependencies +%% +%% To use this package, all you need do is include +%% \usepackage{gatech-thesis-gloss} +%% \glossfiles{<glosary file, sans .bib suffix>} +%% in your preamble, and the glossary will be automatically generated +%% and included in the frontmatter. Of course, you need actual +%% *entries* in the glossary file -- which must end in .bib -- and you +%% need actual citations to those entries within your bodytext, like this: +%% \gloss{key}. +%% Note that \gloss{<key>} typesets the <word> from the <key> entry of +%% the glossfile within the text, so there''s no need to do this: +%% (BAD) word\gloss{keyforword} +%% Read the gloss.sty documentation for more info, but basically +%% gatech-thesis-gloss.sty makes it simple: +%% 1. insert the two commands above into your preamble +%% 2. create a glossfile with your glossary definitions +%% 3. sprinkle \gloss{} citations in your text +%% 4. run ``bibtex'' on the <rootfile>.gls.aux file created +%% after the first ``latex'' run. (But don''t include the +%% .aux extension. So say ``bibtex <rootfile>.gls'' You +%% can do this at the same time you run ``bibtex'' for your +%% references. +%% 5. run ``latex'' twice more +%% +\NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{gatech-thesis-gloss} + [2002/08/08 Glossary support for gatech-thesis.cls] +\@ifclassloaded{gatech-thesis}{}{ + PackageError{This style can only be used with the gatech-thesis class} +} +\RequirePackage[refpages]{gloss} + +\newif\ifglossarypage +\glossarypagetrue% why use this package if you're not going to USE it? + +\makegloss + +\newcommand{\glossfiles}[1]% + {\ifx\empty#1\empty\else\gdef\@glossfiles{#1}\fi} +\def\@glossfiles{} + +\newcommand{\gtglossname}{} +\newcommand{\glscontentlinestring}{} +\newcommand{\glspdfbookmarkstring}{} + +\newcommand{\setglossstring}[1]{% + \renewcommand{\gtglossname}{#1} + \renewcommand{\glossname}{\Makeuppercase{#1}} + \renewcommand{\glscontentlinestring}{% + \texorpdfstring{\Makeuppercase{#1}}{#1} + } + \renewcommand{\glspdfbookmarkstring}{#1} +} +% \setglossstring{List of Nomenclature}% ??? +\setglossstring{Glossary} + +\renewcommand{\glossheading}[1]{} % don't print subsection headings ("A", "B", ...) +\renewenvironment{glosslist} + {\begin{singlespaced}\begin{list}{\relax}{% + \def\makelabel##1{##1\hfil}% + \setlength{\labelsep}{1em}% + \setlength{\labelwidth}{\glosshang}% + \addtolength{\labelwidth}{-\labelsep}% + \setlength{\itemindent}{0em}% + \setlength{\leftmargin}{\glosshang}}} + {\end{list}\end{singlespaced}} + +\renewcommand\gls@section{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\glossname}% + \@mkboth{\scshape\MakeUppercase\glossname}% + {\scshape\MakeUppercase\glossname}% +} +\renewenvironment{thegloss} + {\gls@section + \def\+##1+{}% + \@beginparpenalty\@M}% + {\if@restonecol\twocolumn\fi% + \stopglosslist} + +\renewcommand{\do@glossarypage}{% + \ifglossarypage + \if@openright\cleardoublepage\else\clearpage\fi + % must clear page here, so that phantomsection\addcontentsline is on the correct page + \settoheight{\gt@tmpa}{A} + \set@gttocskip{\gt@tmpa} + {\newlinestretch{1} + \addvspace{\gt@tocentryskip@value} + \phantomsection% + \addcontentsline{toc}{chapter}{\glscontentlinestring} + \printgloss{\@glossfiles} + }% + \newpage + \fi +} |