diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.tex | 355 |
1 files changed, 355 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.tex b/Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.tex new file mode 100644 index 00000000000..169b28e9c22 --- /dev/null +++ b/Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.tex @@ -0,0 +1,355 @@ +% arara: pdflatex +% arara: makeglossaries +% arara: pdflatex +% arara: pdflatex +\documentclass[fontsize=10pt,open=any]{scrbook} + +\usepackage[T1]{fontenc} +\usepackage{tgtermes} +\usepackage{xcolor} +\usepackage{siunitx} +\usepackage[hidelinks]{hyperref} +\usepackage[nopostdot=false,% don't suppress the post-description dot + stylemods=longragged,% load glossary-longragged.sty and glossaries-extra-stylemods.sty + style=longragged3col,% set the glossary style + nogroupskip% don't have a gap between groups +]{glossaries-extra} + +% KOMA class alterations (the default sans-serif clashes +% with the smallcaps font in the headings examples) +\setkomafont{disposition}{\normalcolor\bfseries} + +\pagestyle{headings} + +% Need a wider column for the location list: +\setlength{\glspagelistwidth}{0.12\textwidth} + +% Adjust the description column width if necessary: +%\setlength{\glsdescwidth}{0.5\textwidth} + +% Default font for name field in the glossary. This may be +% overridden by the category attributes: +\renewcommand*{\glsnamefont}[1]{\textbf{#1}} + +\makeglossaries + +% Define some semantic commands: +\newcommand*{\animalfont}[1]{\textcolor{brown}{#1}} +\newcommand*{\vegetablefont}[1]{\textcolor{teal}{#1}} +\newcommand*{\mineralfont}[1]{\textcolor{violet}{#1}} +\newcommand*{\myacronymfont}[1]{\textcolor{orange}{#1}} +\newcommand*{\bacteriafont}[1]{\textcolor{green}{#1}} +\newcommand*{\unitfont}[1]{\textcolor{blue}{#1}} +\newcommand*{\constantfont}[1]{\textcolor{magenta}{#1}} + +% Make the first letter of the name field uppercase in the glossary +% for the given categories: + +\glssetcategoryattribute{animal}{glossname}{firstuc} +\glssetcategoryattribute{mineral}{glossname}{firstuc} +\glssetcategoryattribute{vegetable}{glossname}{firstuc} + +% Make the name field in the glossary use a font changing command +% (overrides \glsnamefont). In this example, I'm using the semantic +% commands I defined above. The backslash is omitted. + +\glssetcategoryattribute{animal}{glossnamefont}{animalfont} +\glssetcategoryattribute{mineral}{glossnamefont}{mineralfont} +\glssetcategoryattribute{vegetable}{glossnamefont}{vegetablefont} +\glssetcategoryattribute{acronym}{glossnamefont}{myacronymfont} +\glssetcategoryattribute{bacteria}{glossnamefont}{bacteriafont} +\glssetcategoryattribute{unit}{glossnamefont}{unitfont} +\glssetcategoryattribute{constant}{glossnamefont}{constantfont} + +% Modify the font used for the description in the glossary: +%\glssetcategoryattribute{bacteria}{glossdescfont}{textsf} + +% Modify the way commands like \gls display regular terms according +% to attribute. + +\glssetcategoryattribute{general}{font}{textsf} +\glssetcategoryattribute{mineral}{font}{mineralfont} +\glssetcategoryattribute{animal}{font}{animalfont} +\glssetcategoryattribute{vegetable}{font}{vegetablefont} +\glssetcategoryattribute{acronym}{font}{myacronymfont} +\glssetcategoryattribute{unit}{font}{unitfont} +\glssetcategoryattribute{constant}{font}{constantfont} + +% I can't add one of the above for the "abbreviation" or "bacteria" +% category as they aren't considered regular entries. (They use +% one of the abbreviation styles that sets the "regular" attribute +% to "false".) +\glssetcategoryattribute{bacteria}{font}{bacteriafont}% ignored! +% If the abbreviation style for "bacteria" is changed to, say, +% "short-em", the attribute won't be ignored. + +% Adjust \glsxtrregularfont so that it picks up the appropriate +% command from the "font" attribute (set above). +\renewcommand*{\glsxtrregularfont}[1]{% + \glshasattribute{\glslabel}{font}% + {\csuse{\glsgetattribute{\glslabel}{font}}{#1}}% + {#1}% +} + +\newglossaryentry{duck}{name=duck, + category={animal}, + description={a waterbird with webbed feet}} + +\newglossaryentry{parrot}{name=parrot, + category={animal}, + description={mainly tropical bird with bright plumage}} + +\newglossaryentry{cabbage}{name=cabbage, + category={vegetable}, + description={vegetable with thick green or purple leaves}} + +\newglossaryentry{brocolli}{name=brocolli, + category={vegetable}, + description={vegetable with heads of small green or purple flower +buds}} + +\newglossaryentry{quartz}{name=quartz, + category=mineral, + description={hard mineral consisting of silica}} + +\newglossaryentry{corundum}{name=corundum, + category=mineral, + description={crystalline form of aluminium oxide}} + +% The following doesn't have the category explicitly set, so it +% defaults to "general": + +\newglossaryentry{loremipsum}{name={lorem ipsum}, + description={dummy text}} + +% The following set the category to "unit": + +\newglossaryentry{ohm}{name=ohm,symbol={\si{\ohm}}, +category=unit, +description=unit of electrical resistance} + +\newglossaryentry{angstrom}{name={\aa}ngstr\"om, +category=unit, +symbol={\si{\angstrom}},sort=angstrom, +description={non-SI unit of length}} + +% The selected style doesn't display the symbol +% so add it to the post-name hook: +\newcommand*{\glsxtrpostnameunit}{ (\glsentrysymbol{\glscurrententrylabel})} + +% Insert the symbol after commands like \gls but only on first use +% (and only for the "unit" category): + +\newcommand*{\glsxtrpostlinkunit}{% + \ifdefempty\glscustomtext{\glsxtrpostlinkAddSymbolOnFirstUse}{}} +% The above "post-link" hook occurs after the link-text produced by +% \gls so it's place outside the \unitfont argument. + +% Mathematic constants need the "sort" key set because the "name" +% field contains commands: +\newglossaryentry{pi}{name={\ensuremath{\pi}}, +sort=pi, +category=constant, +user1=pi, +description={ratio of a circle's circumference to its diameter}} + +% Insert the description and "user1" text after commands like \gls but only on first use +% (and only for the "constant" category): + +\newcommand*{\glsxtrpostlinkconstant}{% + \ifdefempty\glscustomtext + {\glsxtrifwasfirstuse{ (\glsentryuseri{\glslabel}, + \glsentrydesc{\glslabel})}{}}% + {}} + +% Insert the "user1" text after the description in the glossary +% but only for the "constant" category: +\newcommand*{\glsxtrpostdescconstant}{\space + (\glsentryuseri{\glscurrententrylabel})} + +% \newacronym sets the category to "acronym" by default. The +% "short-em" style makes it a regular entry. +\setabbreviationstyle[acronym]{short-em} + +\newacronym{laser}{laser}{light amplification by +stimulated emission of radiation} + +\newacronym{scuba}{scuba}{self-contained underwater breathing +apparatus} + +% \newabbreviation sets the category to "abbreviation" by default. +% The "long-short-sc" style sets the regular attribute to false. +\setabbreviationstyle{long-short-sc} + +\newabbreviation{html}{html}{hypertext markup language} + +\newabbreviation{svg}{svg}{scalable vector graphics} + +% The optional argument can be used to set a different category: +\setabbreviationstyle[bacteria]{long-em-short-em} +%\setabbreviationstyle[bacteria]{short-em} + +% An alternative approach that uses \bacteriafont in the document +% and in the glossary is to provide a custom style: +%\newabbreviationstyle{bacteria}% +%{% +% \GlsXtrUseAbbrStyleSetup{long-short}% +%}% +%{% +% \GlsXtrUseAbbrStyleFmts{long-short}% +% \renewcommand*{\glsabbrvfont}[1]{\bacteriafont{##1}}% +% \renewcommand*{\glsfirstlongfont}[1]{\bacteriafont{##1}}% +% \renewcommand*{\glslongfont}[1]{\bacteriafont{##1}}% +%} +% (the definition of \bacteriafont would need to be adjusted to +% include \emph) +%\setabbreviationstyle[bacteria]{bacteria} + +\newabbreviation[category=bacteria]% + {cbot}% label + {C.~botulinum}% short + {Clostridium botulinum}% long + +\newabbreviation[category=bacteria]% + {putida}% label + {P.~putida}% short + {Pseudomonas putida}% long + +% Abbreviations that have translations. These put the translated +% text in the "user1" field. The "-user" abbreviation styles +% insert this field (if present) into the parenthetical material +% when used with \gls. + +\setabbreviationstyle[foreign]{short-long-user} + +% The fonts used by this style can be adjusted: +\renewcommand*{\glsabbrvuserfont}[1]{\textsf{\color{red}#1}}% short-form font +\renewcommand*{\glslonguserfont}[1]{\textsf{#1}}% long-form font + +\newabbreviation[category=foreign,user1={French \TeX\ user group}] + {gutenberg}{GUTenburg}{Groupe francophone des utilisateurs de \TeX} + +% Insert the translation (user1) text after the description +% in the glossary but only for the "foreign" category: +\newcommand*{\glsxtrpostdescforeign}{\space + (Translation: \glsentryuseri{\glscurrententrylabel})} + +% Now we have an awkward one that ends with a period: +\setabbreviationstyle[foreignenddot]{short-long-user} + +% Need to discard the end of sentence period for the +% entries in this category. + +\glssetcategoryattribute{foreignenddot}{discardperiod}{true} + +% But not on first use (the user1 text doesn't end with a +% period): +\glssetcategoryattribute{foreignenddot}{retainfirstuseperiod}{true} + +\newabbreviation + [user1={German Speaking \TeX\ User Group},category=foreignenddot] + {dante}{DANTE e.V.}{Deutschsprachige Anwendervereinigung \TeX\ e.V.} + +% Insert the translation (user1) text after the description +% in the glossary but only for the "foreignenddot" category: +\newcommand*{\glsxtrpostdescforeignenddot}{\space + (Translation: \glsentryuseri{\glscurrententrylabel})} + +% Insert page/pages tag before location list: +\GlsXtrEnablePreLocationTag{Page: }{Pages: } + +\begin{document} +\tableofcontents + +\chapter{Samples in the Main Document Text} + +\section{All Entries} + +First use (\verb|\gls|): \forglsentries{\thislabel}{\gls{\thislabel}. } + +Next use (\verb|\gls|): \forglsentries{\thislabel}{\gls{\thislabel}. } + +Using \verb|\glsfirst|: \forglsentries{\thislabel}{\glsfirst{\thislabel}. } + +Using \verb|\glstext|: \forglsentries{\thislabel}{\glstext{\thislabel}. } + +\section{Abbreviations only} +Abbreviations that have the \verb|regular| attribute set are +hybrids and can have odd results. In this example, the hybrid +entries are: +\forglsentries{\thislabel}{% + \ifglshasshort{\thislabel}% + {% is an abbreviation + \glsifregular{\thislabel}% + {% is regular + \texttt{\thislabel}. + }% + {}% + } + {}% +} + +Using \verb|\glsxtrfull|: +\forglsentries{\thislabel}{% + \ifglshasshort{\thislabel}{\glsxtrfull{\thislabel}. }{}} + +Using \verb|\glsxtrshort|: +\forglsentries{\thislabel}{% + \ifglshasshort{\thislabel}{\glsxtrshort{\thislabel}. }{}} + +Using \verb|\glsxtrlong|: +\forglsentries{\thislabel}{% + \ifglshaslong{\thislabel}{\glsxtrlong{\thislabel}. }{}} + +\section{Symbols} + +Using \verb|\glssymbol|: +\forglsentries{\thislabel}{% + \ifglshassymbol{\thislabel}{\glssymbol{\thislabel}. }{}} + +\section{User Field} + +Using \verb|\glsuseri|: +\forglsentries{\thislabel}{% + \ifglshasfield{useri}{\thislabel}{\glsuseri{\thislabel}[.] }{}} + +(The full stop in the above is placed inside square brackets +to prevent the \verb|discardperiod| attribute from discarding it +since the \verb|useri| field doesn't end with a dot.) + +\chapter{Math Mode} +Inline: $\gls{pi} = \frac{C}{d}$, display: + +\[ + \gls{pi} = \frac{C}{d} +\] + +\chapter{Samples in Headings} + +Don't use commands like \verb|\gls| in section headings, but you can +use commands like \verb|\glsfmttext| or \verb|\glsfmtshort|. + +\forglsentries{\thislabel}{% + \ifglshasshort{\thislabel}% + {\section{\glsfmtshort{\thislabel}}}% + {% +% the constant entry "pi" can't be used in the PDF bookmarks, +% so use the user1 text for the bookmark + \glsifcategory{\thislabel}{constant} + {% + \section{\texorpdfstring{\glsfmttext{\thislabel}}{\glsentryuseri{\thislabel}}}% + }% + {% + \section{\glsfmttext{\thislabel}}% + }% + }% + \Glsdesc[noindex]{\thislabel}. +} + + +\renewcommand{\glossarypreamble}{\emph{This glossary uses the style +`\csuse{@glossary@default@style}' with modifications made +through categories and their attributes.}\par\medskip} +\printglossaries + +\end{document} |