summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty')
-rw-r--r--Master/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty325
1 files changed, 170 insertions, 155 deletions
diff --git a/Master/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty b/Master/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty
index e36055dce24..1bdf157b0c5 100644
--- a/Master/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty
+++ b/Master/texmf-dist/tex/latex/glossaries/styles/glossary-tree.sty
@@ -7,7 +7,7 @@
%% glossaries.dtx (with options: `glossary-tree.sty,package')
%%
%% glossaries.dtx
-%% Copyright 2008 Nicola Talbot
+%% Copyright 2009 Nicola Talbot
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
@@ -38,189 +38,204 @@
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
-\ProvidesPackage{glossary-tree}[2008/12/11 v1.0 (NLCT)]
+\ProvidesPackage{glossary-tree}[2009/01/14 v1.01 (NLCT)]
\newglossarystyle{index}{%
-\renewenvironment{theglossary}{%
-\setlength{\parindent}{0pt}%
-\setlength{\parskip}{0pt plus 0.3pt}%
-\let\item\@idxitem}{}%
-\renewcommand*{\glossaryheader}{}%
-\renewcommand*{\glsgroupheading}[1]{}%
+ \renewenvironment{theglossary}%
+ {\setlength{\parindent}{0pt}%
+ \setlength{\parskip}{0pt plus 0.3pt}%
+ \let\item\@idxitem}%
+ {}%
+ \renewcommand*{\glossaryheader}{}%
+ \renewcommand*{\glsgroupheading}[1]{}%
\renewcommand*{\glossaryentryfield}[5]{%
-\item\textbf{\@glstarget{glo:##1}{##2}}%
+\item\textbf{\glstarget{##1}{##2}}%
\ifx\relax##4\relax
\else
\space(##4)%
\fi
\space ##3\glspostdescription \space ##5}%
-\renewcommand*{\glossarysubentryfield}[6]{%
- \ifcase##1\relax
- \item
- \or
- \subitem
- \else
- \subsubitem
- \fi
- \textbf{\@glstarget{glo:##2}{##3}}%
- \ifx\relax##5\relax
- \else
- \space(##5)%
- \fi
- \space##4\glspostdescription\space ##6}%
-\renewcommand*{\glsgroupskip}{\indexspace}}
+ \renewcommand*{\glossarysubentryfield}[6]{%
+ \ifcase##1\relax
+ % level 0
+ \item
+ \or
+ % level 1
+ \subitem
+ \else
+ % all other levels
+ \subsubitem
+ \fi
+ \textbf{\glstarget{##2}{##3}}%
+ \ifx\relax##5\relax
+ \else
+ \space(##5)%
+ \fi
+ \space##4\glspostdescription\space ##6}%
+ \renewcommand*{\glsgroupskip}{\indexspace}}
\newglossarystyle{indexgroup}{%
-\glossarystyle{index}%
-\renewcommand*{\glsgroupheading}[1]{%
- \item\textbf{\glsgetgrouptitle{##1}}\indexspace}}
+ \glossarystyle{index}%
+ \renewcommand*{\glsgroupheading}[1]{%
+ \item\textbf{\glsgetgrouptitle{##1}}\indexspace}%
+}
\newglossarystyle{indexhypergroup}{%
-\glossarystyle{index}%
-\renewcommand*{\glossaryheader}{%
-\item\textbf{\glsnavigation}\indexspace}%
-\renewcommand*{\glsgroupheading}[1]{%
-\item\textbf{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}%
-\indexspace}}
+ \glossarystyle{index}%
+ \renewcommand*{\glossaryheader}{%
+ \item\textbf{\glsnavigation}\indexspace}%
+ \renewcommand*{\glsgroupheading}[1]{%
+ \item\textbf{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}%
+ \indexspace}%
+}
\newglossarystyle{tree}{%
-\renewenvironment{theglossary}{%
-\setlength{\parindent}{0pt}%
-\setlength{\parskip}{0pt plus 0.3pt}%
-}{}%
-\renewcommand*{\glossaryheader}{}%
-\renewcommand*{\glsgroupheading}[1]{}%
-\renewcommand{\glossaryentryfield}[5]{%
- \hangindent0pt\relax
- \parindent0pt\relax
- \textbf{\@glstarget{glo:##1}{##2}}%
- \ifx\relax##4\relax
- \else
- \space(##4)%
- \fi
- \space ##3\glspostdescription \space ##5\par}%
-\renewcommand{\glossarysubentryfield}[6]{%
- \hangindent##1\glstreeindent\relax
- \parindent##1\glstreeindent\relax
- \textbf{\@glstarget{glo:##2}{##3}}%
- \ifx\relax##5\relax
- \else
- \space(##5)%
- \fi
- \space##4\glspostdescription\space ##6\par}%
-\renewcommand*{\glsgroupskip}{\indexspace}}
+ \renewenvironment{theglossary}%
+ {\setlength{\parindent}{0pt}%
+ \setlength{\parskip}{0pt plus 0.3pt}}%
+ {}%
+ \renewcommand*{\glossaryheader}{}%
+ \renewcommand*{\glsgroupheading}[1]{}%
+ \renewcommand{\glossaryentryfield}[5]{%
+ \hangindent0pt\relax
+ \parindent0pt\relax
+ \textbf{\glstarget{##1}{##2}}%
+ \ifx\relax##4\relax
+ \else
+ \space(##4)%
+ \fi
+ \space ##3\glspostdescription \space ##5\par}%
+ \renewcommand{\glossarysubentryfield}[6]{%
+ \hangindent##1\glstreeindent\relax
+ \parindent##1\glstreeindent\relax
+ \textbf{\glstarget{##2}{##3}}%
+ \ifx\relax##5\relax
+ \else
+ \space(##5)%
+ \fi
+ \space##4\glspostdescription\space ##6\par}%
+ \renewcommand*{\glsgroupskip}{\indexspace}}
\newglossarystyle{treegroup}{%
-\glossarystyle{tree}%
-\renewcommand{\glsgroupheading}[1]{\par
-\noindent\textbf{\glsgetgrouptitle{##1}}\par\indexspace}}
+ \glossarystyle{tree}%
+ \renewcommand{\glsgroupheading}[1]{\par
+ \noindent\textbf{\glsgetgrouptitle{##1}}\par\indexspace}%
+}
\newglossarystyle{treehypergroup}{%
-\glossarystyle{tree}%
-\renewcommand*{\glossaryheader}{%
-\par\noindent\textbf{\glsnavigation}\par\indexspace}%
-\renewcommand*{\glsgroupheading}[1]{%
-\par\noindent
-\textbf{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par
-\indexspace}}
+ \glossarystyle{tree}%
+ \renewcommand*{\glossaryheader}{%
+ \par\noindent\textbf{\glsnavigation}\par\indexspace}%
+ \renewcommand*{\glsgroupheading}[1]{%
+ \par\noindent
+ \textbf{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par
+ \indexspace}%
+}
\newlength\glstreeindent
\setlength{\glstreeindent}{10pt}
\newglossarystyle{treenoname}{%
-\renewenvironment{theglossary}{%
-\setlength{\parindent}{0pt}%
-\setlength{\parskip}{0pt plus 0.3pt}%
-}{}%
-\renewcommand*{\glossaryheader}{}%
+ \renewenvironment{theglossary}%
+ {\setlength{\parindent}{0pt}%
+ \setlength{\parskip}{0pt plus 0.3pt}}%
+ {}%
+ \renewcommand*{\glossaryheader}{}%
\renewcommand*{\glsgroupheading}[1]{}%
-\renewcommand{\glossaryentryfield}[5]{%
- \hangindent0pt\relax
- \parindent0pt\relax
- \textbf{\@glstarget{glo:##1}{##2}}%
- \ifx\relax##4\relax
- \else
- \space(##4)%
- \fi
- \space ##3\glspostdescription \space ##5\par}%
-\renewcommand{\glossarysubentryfield}[6]{%
- \hangindent##1\glstreeindent\relax
- \parindent##1\glstreeindent\relax
- \textbf{\@glstarget{glo:##2}{\strut}}%
- ##4\glspostdescription\space ##6\par}%
-\renewcommand*{\glsgroupskip}{\indexspace}}
+ \renewcommand{\glossaryentryfield}[5]{%
+ \hangindent0pt\relax
+ \parindent0pt\relax
+ \textbf{\glstarget{##1}{##2}}%
+ \ifx\relax##4\relax
+ \else
+ \space(##4)%
+ \fi
+ \space ##3\glspostdescription \space ##5\par}%
+ \renewcommand{\glossarysubentryfield}[6]{%
+ \hangindent##1\glstreeindent\relax
+ \parindent##1\glstreeindent\relax
+ \glstarget{##2}{\strut}%
+ ##4\glspostdescription\space ##6\par}%
+ \renewcommand*{\glsgroupskip}{\indexspace}%
+}
\newglossarystyle{treenonamegroup}{%
-\glossarystyle{treenoname}%
-\renewcommand{\glsgroupheading}[1]{\par
-\noindent\textbf{\glsgetgrouptitle{##1}}\par\indexspace}}
+ \glossarystyle{treenoname}%
+ \renewcommand{\glsgroupheading}[1]{\par
+ \noindent\textbf{\glsgetgrouptitle{##1}}\par\indexspace}%
+}
\newglossarystyle{treenonamehypergroup}{%
-\glossarystyle{treenoname}%
-\renewcommand*{\glossaryheader}{%
-\par\noindent\textbf{\glsnavigation}\par\indexspace}%
-\renewcommand*{\glsgroupheading}[1]{%
-\par\noindent
-\textbf{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par
-\indexspace}}
+ \glossarystyle{treenoname}%
+ \renewcommand*{\glossaryheader}{%
+ \par\noindent\textbf{\glsnavigation}\par\indexspace}%
+ \renewcommand*{\glsgroupheading}[1]{%
+ \par\noindent
+ \textbf{\glsnavhypertarget{##1}{\glsgetgrouptitle{##1}}}\par
+ \indexspace}%
+}
\newcommand*{\glssetwidest}[2][0]{%
\expandafter\def\csname @glswidestname\romannumeral#1\endcsname{%
#2}%
}
\newcommand*{\@glswidestname}{}
\newglossarystyle{alttree}{%
-\renewenvironment{theglossary}{%
-\def\@gls@prevlevel{-1}%
-\mbox{}\par}{\par}%
-\renewcommand*{\glossaryheader}{}%
-\renewcommand*{\glsgroupheading}[1]{}%
-\renewcommand{\glossaryentryfield}[5]{%
- \ifnum\@gls@prevlevel=0\relax
- \else
- \settowidth{\glstreeindent}{\textbf{\@glswidestname\space}}%
+ \renewenvironment{theglossary}%
+ {\def\@gls@prevlevel{-1}%
+ \mbox{}\par}%
+ {\par}%
+ \renewcommand*{\glossaryheader}{}%
+ \renewcommand*{\glsgroupheading}[1]{}%
+ \renewcommand{\glossaryentryfield}[5]{%
+ \ifnum\@gls@prevlevel=0\relax
+ \else
+ \settowidth{\glstreeindent}{\textbf{\@glswidestname\space}}%
+ \hangindent\glstreeindent
+ \parindent\glstreeindent
+ \fi
+ \makebox[0pt][r]{\makebox[\glstreeindent][l]{%
+ \textbf{\glstarget{##1}{##2}}}}%
+ \ifx\relax##4\relax
+ \else
+ (##4)\space
+ \fi
+ ##3\glspostdescription \space ##5\par
+ \def\@gls@prevlevel{0}%
+ }%
+ \renewcommand{\glossarysubentryfield}[6]{%
+ \ifnum\@gls@prevlevel=##1\relax
+ \else
+ \@ifundefined{@glswidestname\romannumeral##1}{%
+ \settowidth{\gls@tmplen}{\textbf{\@glswidestname\space}}}{%
+ \settowidth{\gls@tmplen}{\textbf{%
+ \csname @glswidestname\romannumeral##1\endcsname\space}}}%
+ \ifnum\@gls@prevlevel<##1\relax
+ \setlength\glstreeindent\gls@tmplen
+ \addtolength\glstreeindent\parindent
+ \parindent\glstreeindent
+ \else
+ \@ifundefined{@glswidestname\romannumeral\@gls@prevlevel}{%
+ \settowidth{\glstreeindent}{\textbf{%
+ \@glswidestname\space}}}{%
+ \settowidth{\glstreeindent}{\textbf{%
+ \csname @glswidestname\romannumeral\@gls@prevlevel
+ \endcsname\space}}}%
+ \addtolength\parindent{-\glstreeindent}%
+ \setlength\glstreeindent\parindent
+ \fi
+ \fi
\hangindent\glstreeindent
- \parindent\glstreeindent
- \fi
- \makebox[0pt][r]{\makebox[\glstreeindent][l]{%
- \textbf{\@glstarget{glo:##1}{##2}}}}%
- \ifx\relax##4\relax
- \else
- (##4)\space
- \fi
- ##3\glspostdescription \space ##5\par
- \def\@gls@prevlevel{0}%
-}%
-\renewcommand{\glossarysubentryfield}[6]{%
- \ifnum\@gls@prevlevel=##1\relax
- \else
- \@ifundefined{@glswidestname\romannumeral##1}{%
- \settowidth{\gls@tmplen}{\textbf{\@glswidestname\space}}}{%
- \settowidth{\gls@tmplen}{\textbf{%
- \csname @glswidestname\romannumeral##1\endcsname\space}}}%
- \ifnum\@gls@prevlevel<##1\relax
- \setlength\glstreeindent\gls@tmplen
- \addtolength\glstreeindent\parindent
- \parindent\glstreeindent
+ \makebox[0pt][r]{\makebox[\gls@tmplen][l]{%
+ \textbf{\glstarget{##2}{##3}}}}%
+ \ifx##5\relax\relax
\else
- \@ifundefined{@glswidestname\romannumeral\@gls@prevlevel}{%
- \settowidth{\glstreeindent}{\textbf{%
- \@glswidestname\space}}}{%
- \settowidth{\glstreeindent}{\textbf{%
- \csname @glswidestname\romannumeral\@gls@prevlevel
- \endcsname\space}}}%
- \addtolength\parindent{-\glstreeindent}%
- \setlength\glstreeindent\parindent
+ (##5)\space
\fi
- \fi
- \hangindent\glstreeindent
- \makebox[0pt][r]{\makebox[\gls@tmplen][l]{%
- \textbf{\@glstarget{glo:##2}{##3}}}}%
- \ifx##5\relax\relax
- \else
- (##5)\space
- \fi
- ##4\glspostdescription\space ##6\par
- \def\@gls@prevlevel{##1}}%
-\renewcommand*{\glsgroupskip}{\indexspace}}
+ ##4\glspostdescription\space ##6\par
+ \def\@gls@prevlevel{##1}%
+ }%
+ \renewcommand*{\glsgroupskip}{\indexspace}%
+}
\newglossarystyle{alttreegroup}{%
-\glossarystyle{alttree}%
-\renewcommand{\glsgroupheading}[1]{\par
-\def\@gls@prevlevel{-1}%
-\hangindent0pt\relax
-\parindent0pt\relax
-\textbf{\glsgetgrouptitle{##1}}\par\indexspace}}
+ \glossarystyle{alttree}%
+ \renewcommand{\glsgroupheading}[1]{\par
+ \def\@gls@prevlevel{-1}%
+ \hangindent0pt\relax
+ \parindent0pt\relax
+ \textbf{\glsgetgrouptitle{##1}}\par\indexspace}%
+}
\newglossarystyle{alttreehypergroup}{%
-\glossarystyle{alttree}%
+ \glossarystyle{alttree}%
\renewcommand*{\glossaryheader}{%
\par
\def\@gls@prevlevel{-1}%