Home
User Manual for glossaries.sty
Contents
1. newacronymstyle custom fn new style name glsgenentryfmt oe HZS glsentrydesc 1 firstacronymfont Glsentryshort 1 2 footnote glsentrylong glsentrydesc 1 Nrenewcommand genplacrfullformat firstacronymfont glsentryshortpl L 2 footnote glsentrylongpl 1 glsentrydesc 1 Nrenewcommand Genplacrfullformat firstacronymfont Glsentryshortpl L 2 footnote glsentrylongpl 1 glsentrydesc 1 renewcommands glsentryfull 1 glsentrylong 1 space acronymfont glsentryshort 1 renewcommands NGl Glsentrylong acronymfont renewcommands gl glsentrylongpl acronymfont renewcommands NGL Glsentrylongpl acronymfont sentryfull 1 1 space glsentryshort 1 sentryfullpl 1 1 space glsentryshortpl sentryfullpl 1 1 space glsentryshortpl renewcommands acrfullfmt 3 glslink 1 glsentrylong acronymfont oe 2 2 3 space glsentryshort 2 renewcommands Acrfullfmt 3 glslink 1 Glsentrylong 2 2 3 space 134 13 Acronyms acronymfont glsentryshort 2 oe renewcommands ACRfullfmt 3 glslink 1 2 Make
2. Likewise an additional makeglossaries and TEX run may be required if the document pages shift with re runs For example if the page numbering is not reset after the table of contents the insertion of the table of contents on the second TEX run may push glossary entries across page boundaries which means that the number lists in the glossary may need updating The examples in this document assume that you are accessing makeglossaries xindy or makeindex via a terminal Windows users can use the MSDOS Prompt which is usually accessed via the Start All Programs menu or Start All Programs Accessories menu Alternatively your text editor may have the facility to create a func tion that will call the required application The article Glossaries Nomenclature List of Symbols and Acronyms in the ILIpX Commu nity s Know How section describes how to do this for TeXnicCen ter and the thread Executing Glossaries makeindex from a WinEdt macro on the comp text tex newsgroup describes how to do it for WinEdt Section 1 1 Building Your Document of Using BIEX to Write a PhD Thesis describes how to do it for TeXWorks For other editors see the editor s user manual for further details If any problems occur remember to check the transcript files e g glg or alg for messages 3 As from v3 01 gls is no longer fragile and doesn t need protecting http www latex community org 9http www dickimaw books
3. ifglsused ifglsused label true part false part See Section 14 ifglshaschildren ifglshaschildren label true part false part This checks if the glossary entry given by label has any sub entries If it does true part is performed otherwise false part ifglshasparent ifglshasparent label true part false part This checks if the glossary entry given by label has a parent entry If it does true part is performed otherwise false part ifglshassymbol Nifglshassymbol label true part false part 164 ifglshaslong ifglshasshort ifglshasdesc ifglsdescsuppressed 16 Utilities This checks if the glossary entry given by label has had the symbol field set If it has true part is performed otherwise false part ifglshaslong label true part false part This checks if the glossary entry given by label has had the long field set If it has true part is performed otherwise false part This should be true for any entry that has been defined via newacronym There is no check for the existance of label ifglshasshort label true part false part This checks if the glossary entry given by label has had the short field set If it has true part is performed otherwise false part This should be true for any entry that has been defined via newacronym There is no check for the existance of label
4. 33 xdylanguage 34 A VAC PL 122 pom PD 122 accsupp package 171 172 pvo A c PE DAT 122 Kam eebe eode 122 VAGED NR EENS 122 Nacfp susmuedgenegwdu xs 122 NACH cist Gente te aa 122 acl ege EE e 122 NAGID PET 122 NaCl erresa te Sales c ces 122 NAGD quete erg EE 122 NaCp fee kates dee ok 122 NACREULL E eem ewes 121 Acrfoll 2x44 121 122 acrful 121 122 125 127 131 ACRfullfmt 121 XAGrfullfmt i44 6454 044 121 Nacrfullfmt 121 129 131 NACREULIPL iiezeee re 121 NActfullpk 2252 23 121 122 Nacsfullpdi i22ueris 121 122 NACRfullplfm amp b ae 121 Acrfullplfmt 121 acrfullplfmt 121 AGRIONG sc vas eee 120 AGELONG se sade E 120 122 Vacerlong EE 120 122 ACRlongpl 120 Acrlongpl 120 122 Nacrlongpl 120 122 acronym styles ENEE 125 126 129 dua desc 126 127 footnote 125 127 129 footnote desc 127 footnote sc 127 footnote sc desc 15 127 footnote sm 127 footnote sm desc 127 long sc short 125 126 129 long sc short desc 126 long shotft i463 xd 89 125 126 123 129 long short desc 126 129 long sm short 125 126 long sm short desc 126 sc short long 126 Sc short long desc 126 shott long aes 126 short long desc 126 sm short long 126 sm short long desc Nacronymentry 124 126 128 133 acronymfont 52
5. glsdisplaynumberlist label Both display the number list for the entry given by label and require a run of makeglossaries or xindy or makeindex followed by one or two runs of ATEX The first command glsentrynumberlist simply displays the number list as is The second command Nglsdisplaynumberlist formats the list using glsnumlistsep as the separator between all but the last two elements and glsnumlistlastsep between the final two elements The defaults are _ and AE re spectively Nglsdisplaynumberlist is fairly experimental It only works when the default counter format is used that is when the format key is set to gl snumberformat This command also doesn t work with hyperref If you try using it with that package Nglsentrynumberlist will be used instead For further information see section 1 10 2 Displaying entry details without adding information to the glossary in the documented code glossaries code pdf 105 printglossaries printglossary 10 Displaying a glossary The command printglossaries will display all the glossaries in the order in which they were defined Note that no glossaries will appear until you have either used the Perl script makeglossaries or have directly used makeindex or xindy as described in Section 1 3 If the glossary still does not appear af ter you re IATgX your document check the makeindex xindy log files to see if there is a problem Remember
6. def entries are sorted in the order in which they were de fined the sort key in newglossaryentry is ignored use entries are sorted according to the order in which they are used in the document the sort key in newglossaryentry is ignored Both sort def and sort use set the sort key to a six digit num ber via glssortnumberfmt glssortnumber fmt number padded with leading zeros where necessary This can be redefined if required before the entries are defined in the case of sort def or before the entries are used in the case of sort use 45 glsprestandardsort glsdosanitizesort 2 Package Options The default is sort standard When the standard sort option is in use you can hook into the sort mechanism by redefining glsprestandardsort sort cs type label where sort cs is a temporary control sequence that stores the sort value which was either explicitly set via the sort key or implicitly set via the name key before any escaping of the make index xindy special characters is performed By default glsprestandardsort just does glsdosanitizesort which sanitizes sort cs if the sanitizesort package option is set or does nothing if the package option sanitizesort false is used The other arguments type and label are the glossary type and the entry label for the current entry Note that type will always be a control sequence but label will be in the form u
7. ifglshasdesc label true part false part This checks if the description field is non empty for the entry given by label If it has true part is performed otherwise false part Compare with ifglsdescsuppressed label true part false part This checks if the description field has been set to just nopostdesc for the entry given by label If it has true part is performed other wise false part There is no check for the existance of label For all other fields you can use ifglshasfield field label t true part false part This checks if the field given by field for the entry identified by label is empty If it is true part is performed otherwise false part If the field supplied is unrecognised false part is performed and a warning is issued Unlike the above commands such as ifglshasshort an error occurs if the entry is undefined 165 17 Prefixes or Determiners The glossaries prefix package provides additional keys that can be used as prefixes For example if you want to specify determiners such as a an or the The glossaries prefix package automatically loads the glossaries package and has the same package options The extra keys for newglossaryentry are as follows prefix The prefix associated with the text key This defaults to nothing prefixplural The prefix associated with the plural key This defaults to not
8. Suppose each entry not only has an associated symbol but also units stored in user1 and dimension stored in user2 Then you can define a glossary style that displays each entry in a longtable as fol lows newglossarystyle long6col put the glossary in a longtable environment renewenvironment theglossary begin longtable lp glsdescwidth cccp glspagelistwidth end longtable Set the table s header renewcommands glossaryheader bfseries Term amp bfseries Description amp bfseries Symbol amp bfseries Units amp bfseries Dimensions amp bfseries Page List endhead No heading between groups renewcommands glsgroupheading 1 Main level 0 entries displayed in a row optionally numbered renewcommand glossentry 2 glsentryitem 1 Entry number if required glstarget 1 glossentryname 1 Name amp glossentrydesc 1 Description amp glossentrysymbol 1 Symbol amp glsentryuseri 1 Units amp glsentryuserii 1 Dimensions amp dp 2 Page list tabularnewline end of row oe Similarly for sub entries no sub entry numbers Nrenewcommand Nsubglossentry 3 ignoring first argument sub level glstarget 2 glossentryname 2 Name amp glossentrydesc 2 Description amp glossentrysymbol 2 Symbol amp glsentryuseri 2 Units amp glsentryuserii
9. newacronym prefix an space prefixfirst a svm SVM support vector machine The glossaries prefix package provides convenient commands to use these prefixes with commands such as gls Note that the prefix is not considered part of the link text so it s not included in the hyper link where hyperlinks are enabled pgls options label insert This is prepends the value of the prefix key or prefixfirst key on first use in front of g1s options label insert Pgls options label insert If the prefix key or prefixfirst on first use has been set this displays the value of that key with the first letter converted to upper case followed by gls options label insert If that key hasn t been set this is equivalent to G1s options label insert PGLS options label insert As Npgls but converts the prefix to upper case and uses GLS instead of gls pglsp1 options label insert This is prepends the value of the prefixplural key or prefixfirstplural key on first use in front of glsp1 options label insert 167 17 Prefixes or Determiners Pglspl Pglspl options label insert If the prefixplural key or prefixfirstplural on first use has been set this displays the value of that key with the first letter converted to upper case followed by
10. By default the glossary is started either by chapter or by sectionx depending on whether or not chapter is defined This can be overridden by the section package option or the setglossarysection command Numbered sectional units can be obtained using the numberedsection package option Each glossary sets the page header via the command glsglossarymark title If this mechanism is unsuitable for your chosen class file or page style package you will need to redefine glsglossarymark Further in formation about these options and commands is given in Section 2 2 Information can be added to the start of the glossary after the title and before the main body of the glossary by redefining glossarypreamble For example renewcommand glossarypreamble Numbers in italic indicate primary definitions This needs to be done before the glossary is displayed using printglossaries or printglossary If you want a different preamble per glossary you can use setglossarypreambl glossarypostamble setglossarypreamble type preamble text If type is omitted glsdefaulttype is used For example setglossarypreamble Numbers in italic indicate primary definitions This will print the given preamble text for the main glossary but not have any preamble text for any other glossaries There is an analogous command to glossarypreamble called Nglossarypostamble which is placed at the end of each gloss
11. Note that if you use makeglossaries instead you can replace all those calls to nakeindex with just one call to makeglossaries makeglossaries myDoc Note also that some commands and package options have no effect if you use makeindex explicitly instead of using makeglossaries These are listed in table 1 3 1 3 4 Note to Front End and Script Developers The information needed to determine whether to use xindy or makeindex and the information needed to call those applications is stored in the auxiliary file This information can be gathered by a front end editor or script to make the glossaries where appropriate This section describes how the information is stored in the auxiliary file The file extensions used by each defined glossary are given by newglossary newglossary label log out ext t in ext where in ext is the extension of the indexing application s input file the output file from the glossaries package s point of view out ext is the extension of the indexing application s output file the input file from the glossaries package s point of view and log is the extension of the indexing application s transcript file The label for the glossary is also given for information purposes only but is not required by the indexing applications For example the information for the default main glossary is written as newglossary main glg gls glo The indexing application s style
12. The redefinition of glossarypostamble is only necessary if the glossary is displayed at the start of the document instead of at the end See the sample file sample nomathhyper tex for a complete document 93 glsadd Nglsaddall 7 Adding an Entry to the Glossary Without Generating Text It is possible to add a line in the glossary file without generating any text at that point in the document using glsadd options label This is similar to glslink only it doesn t produce any text so therefore there is no hyper key available in options but all the other options that can be used with glslink can be passed to glsadqd For example to add a page range to the glossary number list for the entry whose label is given by set glsadd format set Lots of text about sets spanning many pages glsadd format set To add all entries that have been defined use Nglsaddall options The optional argument is the same as for glsadd except there is also a key types which can be used to specify which glossaries to use This should be a comma separated list For example if you only want to add all the entries belonging to the list of acronyms specified by the glossary type acronymt ype and a list of notation specified by the glossary type notation then you can do glsaddall types acronymtype notation Note that glsadd and Ng1saddall add the current location to the number list In the c
13. genacrfullformat and genplacrfullformat to change the behaviour of glsgenacfmt See Section 13 for further details on changing the style of acronyms Note that glsentryfmt is not used by glslink or any of the other commands such as glstext Example 6 Custom Entry Display in Text Suppose you want a glossary of measurements and units you can use the symbol key to store the unit newglossaryentry distance name distance description The length between two points symbol km and now suppose you want gls distance to produce distance km on first use then you can redefine glsentryfmt as follows Nrenewcommand Nglsentryfmt glsgenentryfmt ifglsused glslabel space glsentrysymbol glslabel Note that I ve used glsentrysymbol rather than glssymbol to avoid nested hyperlinks Note also that all of the link text will be formatted according to glstext format described earlier So if you do say renewcommand glstext format 1 textbf 1 Nrenewcommand Nglsentryfmt 89 6 Links to Glossary Entries glsgenentryfmt ifglsused glslabel space glsentrysymbol glslabel then gls distance will produce distance km For a complete document see the sample file sampl1e entryfmt tex Example 7 Custom Format for Particular Glossary Suppose you have created a new glossary called notation and you want to change the way the entry
14. usepackage smaller glossaries renewcommand acronymfont 1 textsf 1 174 19 Troubleshooting 7 Q How do I change the font that the acronyms are displayed in on first use A The easiest way to do this is to specify the smaller package option and redefine firstacronymfont to use the required command Note that if you don t want the acronym on subse quent use to use text smaller you will also need to redefine acronymfont as above For example to make the acronym emphasized on first use but use the surrounding font for sub sequent use you can do usepackage smaller glossaries renewcommands firstacronymfont 1 emph 1 Nrenewcommand Nacronymfont 1 1 8 Q I don t have Perl installed do I have to use makeglossaries A No Although it is strongly recommended you don t have to use makeglossaries If you prefer a GUI application and have Java installed you can use makeglossariesgui in stead Otherwise you can just call makeindex explicitly see Section 1 3 3 Note that you can t use xindy if you don t have Perl installed 9 Q I m used to using the glossary package are there any instruc tions on migrating from the glossary package to the glossaries package A Read Upgrading from the glossary package to the glossaries package glossary2glossaries pdf which should be available from the same location as this document 10 Q I m using babel but the fixed names ha
15. user1 newcommands edkey user2 newcommands Nnewword 3 newglossaryentry 2 name 2 description 3 edkey 2ed ingkey 2ing 1 oe With the above definitions I can now define terms like this 63 4 Defining Glossary Entries newword play to take part in activities for enjoyment newword edkey ran ingkey running run to move fast using the legs and use them in the text Peter is glsing play in the park today Jane glsd play in the park yesterday Peter and Jane glsd run in the park last week Alternatively you can define your own keys using glsaddkey described below in Section 4 3 4 3 Additional Keys You can now also define your own custom keys using glsaddkey key default value no link cs no link ucfirst sree lt Y es y link cs link ucfirst cs link allcaps cs where key is the new key to use in newglossaryentry or similar commands such as longnewglossaryentry default value is the default value to use if this key isn t used in an entry definition this may reference the current entry label via glslabel but you will have to switch on expansion via the starred version of glsaddkey and protect fragile commands no link cs is the control sequence to use analogous to commands like glsentrytext no link ucfirst cs is the control sequence to use analogous
16. 154 155 glossary super package 43 44 108 149 151 glossary superragged package 151 glossary tree package 43 44 108 153 glossaryentry counter 42 42 43 159 Nglossaryentrynumbers Nglossaryheader 145 156 157 160 26 37 Nglossaryname glossarypostamble 93 107 156 glossarypreamble 43 107 156 glossarysection 155 glossarystyle 106 glossarysubentry counter 43 glossentry 158 158 159 Glossentrydesc 102 glossentrydesc 102 158 Glossentryname 101 161 glossentryname 100 158 161 Glossentrysymbol 103 glossentrysymbol 103 158 NGLS Cierra eae vis 8 60 81 167 Gls 8 23 60 62 81 122 137 167 gls Index 8 9 29 36 38 60 78 80 81 82 83 87 88 90 92 96 111 319 122 126 130 137 139 140 167 176 NOglS wuidaeauduesk ek s 38 Ng dsadd ee Ee 94 glsaddall 16 94 Nglsaddall options lyDeS iode xev es 94 glsaddallunused 95 glsaddkey 61 63 64 64 NGlsAddXdyAttribute 79 111 NGlsAddXdyCounters 111 113 GlsAddXdyLocation 112 114 glsautoprefix 41 Nglscapscase 88 128 glsclearpage 40 glsclosebrace 109 Nglscustomtext 67 119 GlsDeclareNoHyperList T 39 55 72 77 80 Nglsdefaulttype T 50 69 70 87 163 VGUSdeS i v xw bia 85 XGLSdesG sexes 85 glsdesc sace uka eee eee 85 glsdescwidth 142 146 152 glsdisablehyper Mj 92
17. 49 136 printglossaries 58 72 106 136 159 164 176 printglossary 44 49 53 54 58 72 106 136 142 144 159 164 176 printglossary options nonumberlist 107 numberedsection 106 style 44 106 142 144 title Lk wd 106 tOctil sees taaua rue 106 TVPG cs ear ee ed 106 printindex 54 printnumbers 54 printsymbols 53 provideglossaryentry VEER bes 59 71 R relsize package 52 125 Roman 2 4 ses ce04 puedes 112 S sanitize 9 36 98 104 scrwfile package 37 sectionx 42 107 seename 8 97 98 SetAcronymLists 50 Nsetacronymstyle EN 51 118 123 129 186 setAlphaCompositor 114 setCompositor 114 setentrycounter 159 setglossarypreamble 43 107 setglossarysection 40 107 setglossarystyle 44 142 144 154 155 161 setStyleFile 31 32 56 setupglossaries 55 subglossentry 159 supertabular environment EEN 149 151 supertabular package 44 149 151 symbolname 26 T TeXAHT 00 176 Ntextbf ee Ne 6044 79 textcase package 40 NGGKOTM cidro 244400045 111 textsce 125 130 133 174 textsmaller 52 125 175 Index NEGREULGS need cin bare ets 130 NEext p sisser e d ys 130 NENG os uu yu ATRIIS RES 129 theglossary environment VE ed ENS 156 156 1
18. Adding an Entry to the Glossary Without Generating Text Cross Referencing Entries 8 1 Customising Cross reference Text Using Glossary Terms Without Links Displaying a glossary Xindy ILI L ngusgeand Encodings cua ee gor set eccora 11 2 Locations and Number lists 11 3 Glossary Groups o eo Rok gx REOR ALE Defining New Glossaries Acronyms 131 Changing the Acronym Style lt se sese n 13 1 1 Predefined Acronym Styles 13 1 2 Defining A Custom Acronym Style 13 2 Displaying the Listof Acronyms 13 3 Upgrading From the glossary Package Unsetting and Resetting Entry Flags Glossary Styles 15 1 Predefined Styles lt a crm eo e ttm ema ILI LS sq ex AE dee 1512 Longtable ege e s d ere oe Be eS 15 1 3 Longtable Styles Ragged Right 1514 Supertabular Styles io e a so eee baw ees 15 1 5 Supertabular Styles Ragged Right 15 16 Tpee Like Styles EN SR Ged ew YxG ILI MuBesl SEIS os 64 eee eg x REG 74 76 87 91 94 Contents 15 18 In Line DVS e ope dO rt ee ee ema 155 15 2 Defining your own glossary style 156 16 Utilities 163 17 Prefixes or Determiners 166 18 Accessibility Support 171 19 Troubleshooting 173 Index 178 List of Examples VS WN PR COND OI 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Mixing Alphabetical and Order of Definition Sorting 46 Customizing Stan
19. altlist 126 127 135 145 altlistqroup ev 145 altlisthypergroup 145 altlong4col 142 147 altlong4colborder 147 altlong4colheader 147 altlong4colheaderborder PL 147 altlongragged4col 149 altlongragged4colborder Hn 2 149 altlongragged4colheader ti alk eR ox ere US 2 149 altlongragged4colheaderborder se Besse al Sues Be ae ease odes eis 149 altsuper4col 142 150 151 altsuper4colborder 151 altsuper4colheader 151 altsuper4colheaderborder DEET 151 altsuperragged4col 152 altsuperragged4colborder E 152 altsuperragged4colheader IPTE 152 altsuperragged4colheaderborde EEN 152 alttree 153 155 alttreegroup 154 155 alttreehypergroup 154 155 index 4 2 93 153 155 indexgroup 155 155 indexhypergroup 153 155 PN LINE s 2 ex Mews 18 155 156 SSIS i ele We cts Bae ees 44 145 156 158 161 170 176 listdotted 144 146 LiStEGLOUP esa ew 145 listhypergroup T 145 153 154 157 LONG 240 weds ales 144 146 long3col 143 146 147 long3colborder 143 147 long3colheader 143 147 long3colheaderborder 143 147 ONGACOL 4 62x 142 147 Index long4colborder 147 long4colheader 147 long4colheaderborder 147 longborder 146 longheader 146 157 longheaderborder 108 146 longragged 148 longragged3col 148 149 longragged3colheaderborder DEENEN 149 longragged
20. expandable Nglsentryname label Glsentryname label These commands display the name of the glossary entry given by label as specified by the name key Glsent ryname makes the first letter upper case Neither of these commands check for the existence of label The first form glsentryname is expandable unless the name contains unexpandable commands glossentryname label This is like gl snamefont glsentryname label but also checks for the existence of label This command is not expandable It s used in the predefined glossary styles so if you want to change the way the name is formatted in the glossary you can redefine glsnamefont to use the required fonts For example renewcommand glsnamefont 1 textmd sffamily 100 1 9 Using Glossary Terms Without Links Glossentryname Glossentryname label This is like glossent ryname but makes the first letter of the name upper case glsentrytext glsentrytext label Glsentrytext Glsentrytext label These commands display the subsequent use text for the glossary en try given by label as specified by the text key Glsentrytext makes the first letter upper case The first form is expandable unless the text contains unexpandable commands The second form is not expandable Neither checks for the existence of label glsentryplural glsentryplural label Glsentryplural Gls
21. glsp1 options label insert If that key hasn t been set this is equivalent to G1 sp1 options label insert PGLSpl PGLSp1 options label insert As pglsp1 but converts the prefix to upper case and uses GLSp1 instead of glspl Example 24 Using Prefixes Continuing from Example 23 now that I ve defined my entries I can use them in the text via the above commands First use pgls svm Next use pgls svm Singular pgls sample pgls oeil Plural pglspl sample pglspl oeil which produces First use a support vector machine SVM Next use an SVM Singular a sample l oeil Plural the samples les yeux For a complete document see sample prefix tex This package also provides the following commands ifglshasprefix ifglshasprefix label true part false part Does true part if the entry identified by label has a non empty value for the prefix key This package also provides the following commands e ifglshasprefixplural ifglshasprefixplural label true part false part Does true part if the entry identified by label has a non empty value for the prefixplural key ifglshasprefixfirst ifglshasprefixfirst label true part false part 168 17 Prefixes or Determiners Does true part if the entry identified by label has a non empty value for the pre
22. latex sampleutf8 If you don t have Perl installed you will have to call xindy explicitly instead of using makeglossaries no line breaks xindy L english C utf8 I xindy M sampleutf8 t sampleutf8 glg o sampleutf8 gls sampleutf8 glo If you remove the xindy option from sampleutf8 tex and do latex sampleutf8 makeglossaries sampleutf8 latex sampleutf8 you will see that the entries that start with a non Latin character now appear in the symbols group and the word manceuvre is now after manor instead of before it If you are unable to use makeglossaries the call to makeindex is as follows no line breaks makeindex s sampleutf8 ist t sampleutf8 glg o sampleutf8 gls sampleutf8 glo sample index tex This document uses the glossaries package to create both a glossary and an index This requires two makeglossaries calls to ensure the document is up to date latex sample index makeglossaries sample index latex sample index a makeglossaries sample index latex sample index 21 1 Introduction sample newkeys tex This document illustrates how add custom keys sample numberlist tex This document illustrates how to refer ence the number list in the document text This requires an ad ditional IEN run latex sample numberlist makeglossaries sample numberlist latex sample numberlist latex sample numberlist samplePeople tex This document illustrates
23. name name John Smith description some information about John Smith For a complete document see the sample file samp 1ePeople tex order This may take two values word or letter The default is word ordering Note that the order option has no effect if you don t use makeglossaries makeindex Default The glossary information and indexing style file will be written in make index format If you use makeglossaries it will automatically detect that it needs to call makeindex If you don t use makeglossaries you need to remember to use makeindex not xindy The indexing style file will been given a ist extension xindy The glossary information and indexing style file will be writ ten in xindy format If you use makeglossaries it will au tomatically detect that it needs to call xindy If you don t use makeglossaries you need to remember to use xindy not 48 printacronyms 2 Package Options makeindex The indexing style file will been given a xdy ex tension This package option may additionally have a value that is a key value comma separated list to override the language and codepage For example Nusepackage xindy language english codepage utf8 glossaries You can also specify whether you want a number group in the glossary This defaults to true but can be suppressed For ex ample usepackage xindy glsnumbers false glossaries If no value is supplied to this package op
24. nls nlo glsnumbersgroupname It also defines printnumbers printnumbers options which is a synonym for printglossary type numbers options Remember to use the nomain package option if you re only interested in using this numbers glossary index This option defines a new glossary type with the label index via newglossary ilg index ind idx indexname It also defines printindex print index options which is a synonym for printglossary type index options and newterm newterm options term which is a synonym for newglossaryentry term type index name ferm description nopostdesc options Remember to use the nomain package option if you re only interested in using this index glossary Note that you can t mix this option with index Either use glossaries for the indexing or use a custom indexing package such as makeidx index or imakeidx You can of course load one of those packages and load glossaries without the index package option 54 setupglossaries 2 Package Options Since the index isn t designed for terms with descriptions you might also want to disable the hyperlinks for this glossary using the package option nohypertypes index or the command GlsDeclareNoHyperList index The example file sampl1e index tex illustrates the use of the index package option compatible 2 07 Compatibility mode for old
25. o glsresetall glsresetall glossary list glslocalresetall glslocalresetall glossary list glsunsetall glsunsetall glossary list glslocalunsetall glslocalunsetall glossary list 139 ifglsused 14 Unsetting and Resetting Entry Flags where glossary list is a comma separated list of glossary labels If omitted all defined glossaries are assumed For example to reset all entries in the main glossary and the list of acronyms glsresetall main acronym You can determine whether an entry s first use flag is set using ifglsused label true part false part where label is the label of the required entry If the entry has been used true part will be done otherwise false part will be done Be careful when using commands such as g1s within an environment or command argument that gets processed multiple times as it can cause unwanted side effects when the first use displayed text is different from subsequent use For example the frame environment in beamer processes its argu ment for each overlay This means that the first use flag will be unset on the first overlay and subsequent overlays will use the non first use form Consider the following example documentclass beamer usepackage glossaries newacronym svm SVM support vector machine begin document begin frame frametitle Frame 1 begin itemize item lt gt gls svm
26. renewcommand glsglossarymark 1 lunless memoir is loaded which case it uses markboth Actually it uses mfirstucMakeUppercase which is set to textcase s MakeText Uppercase by the glossaries package This makes it consistent with makefirstuc The textcase package is automatically loaded by glossaries glsautoprefix 2 Package Options ifglsucmark markright MakeTextUppercase 1 else markright 1 fi If memoir has been loaded and ucfirst is set then memoir s memUChead is used numberedsection The glossaries are placed in unnumbered sectional units by default but this can be changed using numberedsection This option can take one of the following values false no number i e use starred form of sectioning com mand e g chapter or Nsectionx nolabel use a numbered section i e the unstarred form of sectioning command e g chapter or section but the section not labelled autolabel numbered with automatic labelling Each glos sary uses the unstarred form of a sectioning command e g chapter or section and is assigned a label via label The label is formed from glsautoprefix type where type is the label identifying that glossary The de fault value of glsautoprefix is empty For example if you load glossaries using Nusepackage section numberedsection autolabel glossaries then each glossary will appear in a numbered section and can be referenced usi
27. setglossarypreamble glsresetentrycounter The preamble text here for the main glossary subentrycounter This is a boolean option Default is subentrycounter false If set each level 1 glossary entry will be numbered when using the standard glossary styles This option creates the counter glossarysubentry glossarysubentry The counter is reset with each main level 0 entry Note that this package option is independent of en trycounter You can reference the number within the document using glsrefentry label where label is the label associ ated with the sub entry style This is a key value option Default is style list Its value should be the name of the glossary style to use This key may only be used for styles defined in glossary list glossary long glossary super or glossary tree Alternatively you can set the style using setglossarystyle style name 43 2 Package Options See Section 15 for further details nolong This prevents the glossaries package from automatically load ing glossary long which means that the longtable package also won t be loaded This reduces overhead by not defining un wanted styles and commands Note that if you use this option you won t be able to use any of the glossary styles defined in the glossary long package unless you explicitly load glossary long nosuper This prevents the glossaries package from automatically load ing glossary super which me
28. 119 121 124 125 128 174 175 Nacronymname 26 acronymsort 124 126 128 133 acronymtype 38 41 50 70 94 116 118 136 ACRshort eee eee 120 Acrshort 120 122 Nacrshort iss 11 119 122 ACRshortpl 120 Acrshortpl 120 122 Nacrshortpl due ds 120 122 NAGS gaa ees See EE ae 122 NdCS 4 oa px adeb sex 122 K nn ebe E X ee E 122 NaGSD essc e puis 122 Naddcontentsline 39 178 align environment 141 Naltnewglossary 116 amsmath package 141 Nandname 98 arara er e ET 28 array package babel package ob 27 37 38 89 117 175 beamerclass 140 141 beamer package 25 C NGhapter see det e vA 107 Nchapter 42 107 currentglossary 159 D DeclareAcronymList de Ee 50 87 118 defentryfmt 119 defglsentryfmt 78 82 83 87 87 118 124 128 DefineAcronymShortcuts 51 delimN 159 delinR ak cde we RES 159 description environment Sie hae ae 144 145 156 descriptionname 26 doc package 2 document environment 72 73 E NVemph 2 2 79 entry location 8 entryname 26 environments Align A dg ieii 141 description 144 145 156 document Ge Ta SQUaLLON ise xe 16 ffame EE e A 140 Jemen ENEE 160 longtable 248 re 4 108 146 148 149 162 OG
29. 2 Dimensions amp 3 Page list tabularnewline end of row oe Nothing between groups Nrenewcommand Nglsgroupskip 162 forallglossaries forglsentries forallglsentries ifglossaryexists 16 Utilities This section describes some utility commands Additional commands can be found in the documented code glossaries code pdf Some of the commands described here take a comma separated list as an argument As with ITEX s for command make sure your list doesn t have an unwanted spaces in it as they don t get stripped forallglossaries glossary list cs body This iterates through glossary list a comma separated list of glos sary labels as supplied when the glossary was defined At each it eration cs which must be a control sequence is set to the glossary label for the current iteration and body is performed If glossary list is omitted the default is to iterate over all glossaries forglsentries glossary label cs body This iterates through all entries in the glossary given by glossary label At each iteration cs which must be a control sequence is set to the entry label for the current iteration and body is performed If glossary label is omitted glsdefaulttype usually the main glossary is used forallglsentries glossary list cs body This is like forg
30. AGglSdisD eem d 8 60 78 82 87 91 92 119 glsdisplay 61 87 glsdisplayfirst 61 87 glsdisplaynumberlist qose d AE E Rois 39 105 Nglsdoifexists 164 Nglsdoifexistsorwarn 164 Nglsdoifnoexists 164 Nglsdosanitizesort 46 glsenablehyper 91 glsentrycounterlabel 158 Glsentrydesc 102 glsentrydesc 102 Glsentrydescplural 102 glsentrydescplural 102 Glsentryfirst 101 glsentryfirst 101 Glsentryfirstplural 101 glsentryfirstplural 101 181 glse Glse glse Glse glse glse Glse glse Glse glse Glse glse glse Glse glse Glse glse Glse glse Glse glse Glse glse Glse glse Glse glse Glse glse Glse glse Glse glse Glse glse Glse glse Glse glse Glse glse Glse glse MEEVEE S Aa ms 22 78 82 83 87 89 91 92 118 ntrsyfull serhed utk 123 nDtryfull ise 123 125 127 129 131 nBryf llpl serisi 123 ntryfullpl sristi 123 ntryitem 158 160 ntrylong 89 122 131 133 ntrylong 122 131 133 ntrylongpl 123 131 ntrylongpl 123 131 ntryname 100 ntryname 100 104 ntrynumberlist 39 105 ntryplural 101 ntryplural 101 ntryprefix 169 ntryprefix 169 ntryprefixfirst 169 ntryprefixfirst 169 ntryprefixfirstplura PICTURE 169 ntryprefixfirstplur
31. GlsSetXdyLocationClassOrder hyperbf 80 ded eas 114 XBypefbsf bass 80 GlsSetXdyMinRangeLength hyperemph 80 EE 74 115 hyperit 80 183 hyperlink 79 80 91 hypermd 80 hyperpage 79 gt yperref package 2 74 76 77 79 82 91 100 105 112 113 158 hyperrm 80 111 AVPEPSC ledge Rex 80 XhyperSf iade bes 80 MByDersl i25 xs 80 hypertarget 91 Mhypertt 42 2299 seas 80 NByDGPUD ust ese a ee mg 80 I ifglossaryexists 163 ifglsdescsuppressed 165 ifglsentryexists 164 ifglshaschildren 164 ifglshasdesc 165 ifglshaslong 128 165 ifglshasparent 164 ifglshasprefix 168 ifglshasprefixfirst 168 ifglshasprefixfirstplural ge ke Bee aaa ek 169 ifglshasprefixplural 168 ifglshasshort 128 165 ifglshassymbol 161 164 ifglsucmark 40 ifglsused 88 128 140 164 imakeidx package 54 KEE 54 79 index package 54 indexspace 145 153 158 161 176 inputenc package 19 24 62 110 inputencodingname 110 XX Bem AA e Seas EE aA 145 itemize environment 160 J jobname 56 L Klee sacs dae sation A 41 BCX ele ee RR XA 2 77 Tatexmk i222 m kh 28 link text 9 76 78 81 87 89 167 loadglsentries 58 69 119 location list see number list Index longn
32. a terminal or command prompt type texdoc 1 glossaries This should display a list of all the files in the glossaries documenta tion directory with their full pathnames If you can t find the sample files on your computer they are also available from your nearest CTAN mirror at http mirror ctan org macros latex contrib glossaries samples The sample documents are as follows minimalgls tex This document is a minimal working example You can test your installation using this file To create the com plete document you will need to do the following steps 1 Run minimalgls tex through IATEX either by typing latex minimalgls in a terminal or by using the relevant button or menu item in your text editor or front end This will create the re quired associated files but you will not see the glossary If you use PDFI4TEX you will also get warnings about non existent references that look something like pdfTeX warning dest name glo aca has been referenced but does not exist replaced by a fixed one Note that although I ve written Latex in this section it s better to use pdf latex where possible for the reasons given earlier 12 1 Introduction These warnings may be ignored on the first run If you get a Missing begin document error then it s most likely that your version of xkeyval is out of date Check the log file for a warning of that nature If this is the case you will need to update the xke
33. and italic you will need to create a command that applies both formats e g newcommands textbfem 1 textbf emph 1 and use that command In this document the standard formats refer to the standard text block commands such as t ext bf or emph or any of the com mands listed in table 6 1 If you use xindy instead of make index you must specify any non standard formats that you want to use with the format key using GlsAddXdyAttribute name So if you use xindy with the above example you would need to add GlsAddXdyAttribute textbfem See Section 11 for further details Note that unlike index you can t have anything following the command name such as an asterisk or arguments If you want to cross reference another entry either use the see key when you define the entry or use glssee described in Section 8 If you are using hyperlinks and you want to change the font of the hyperlinked location don t use hyperpage provided by the hyperref package as the locations may not refer to a page number Instead the glossaries package provides number for mats listed in table 6 1 Note that if the Nhyperlink command hasn t been defined the hyper xx formats are equivalent to the analogous text xx font commands and hyperemph is equivalent to emph If you want to make a new format you will need to define a command which takes one argument and use that For example if you 79 6 Links to Glos
34. and the description is set to the long form In the case of dua desc the name and sort keys are set to the long form and the description is supplied in the optional argument of newacronym e footnote footnote sc footnote sm These three styles set the first use display to firstacronymfont short footnote long However acrfulland glsentryfullareset to acronymfont short long And similarly for plural and upper case forms On subsequent use the display is acronymfont short The sort and name keys are set to the short form and the descrip tion is set to the long form In order to avoid nested hyperlinks on first use the footnote styles automatically implement hyperfirst false e footnote desc footnote sc desc footnote sm desc These three styles are similar to the previous three styles but the description has to be supplied in the optional argument of newacronym The name key is set to the long form followed by the short form in parentheses and the sort key is set to the long form This means that the acronyms will be sorted according to the long form In addition since the name will typically be quite wide it s best to choose a glossary style that can accommodate this such as altlist Example 18 Adapting a Predefined Acronym Style Suppose I want to use the footnote sc desc style but I want the name key set to the short form followed by the long form in parentheses and the s
35. appear in brackets after the name followed by the description and last of all the number list should appear within square brackets at the end Then you can create this new glossary style called say mylist as fol lows newglossarystyle mylist put the glossary in the itemize environment renewenvironment theglossary begin itemize end itemize have nothing after begin theglossary Nrenewcommand glossaryheader have nothing between glossary groups Nrenewcommand glsgroupheading 1 Nrenewcommand Nglsgroupskip set how each entry should appear Nrenewcommand Nglossentry 2 item bullet point glstarget 1 glossentryname 1 the entry name space glossentrysymbol 1 the symbol in brackets space glossentrydesc 1 the description space 2 the number list in square brackets set how sub entries appear Nrenewcommand Nsubglossentry 3 glossentry 2 3 Note that this style creates a flat glossary where sub entries are dis played in exactly the same way as the top level entries It also hasn t used glsentryitem or glssubentryitem so it won t be af fected by the entrycounter counterwithin or subentrycounter package op tions 160 15 Glossary Styles Variations You might want the entry name to be capitalised in which case use Glossentryname instead of glossentryname You might want
36. bravo description nopostdesc newglossaryentry bravocry description cry of approval pl bravos sort 1 plural bravos parent bravo newglossaryentry bravoruffian description hired ruffian or killer pl bravoes sort 2 plural bravoes parent bravo 4 6 Loading Entries From a File You can store all your glossary entry definitions in another file and use loadglsentries loadglsentries type filename where filename is the name of the file containing all the newglossaryentry or longnewglossaryentry commands The optional argument type is the name of the glossary to which those entries should belong for those entries where the type key has been omitted or more specifically for those entries whose type has been specified by glsdefaulttype which is what newglossaryentry uses by default 69 4 Defining Glossary Entries Example 5 Loading Entries from Another File Suppose I have a file called myentries tex which contains newglossaryentry perl type main name Perl description A scripting language newglossaryentry tex name TeX description A typesetting language sort TeX newglossaryentry html type glsdefaulttype name htmlj description A mark up language and suppose in my document preamble I use the command loadglsentries languages myentries then this will add the entries tex and htm1 to the glossary
37. can mean a list of technical words or a collection of glosses In both cases the plural is glossaries So first define the parent entry newglossaryentry glossary name glossary description nopostdesc plural glossaries Again the parent entry has no description so the description termi nator needs to be suppressed using nopostdesc Now define the two different meanings of the word newglossaryentry glossarylist description list of technical words sort 1 parent glossary newglossaryentry glossarycol description collection of glosses sort 2 parent glossary 68 4 Defining Glossary Entries Note that if I reference the parent entry the location will be added to the parent s number list whereas if I reference any of the child entries the location will be added to the child entry s number list Note also that since the sub entries have the same name the sort key is required unless you are using the sort use or sort def package options see Section 2 4 You can use the subentrycounter package option to automatically number the first level child entries See Section 2 3 for further details In the above example the plural form for both of the child entries is the same as the parent entry so the plural key was not required for the child entries However if the sub entries have different plurals they will need to be specified For example newglossaryentry bravo name
38. code is available at http www dickimaw books com latex minexample Below is a list of the most frequently asked questions For other queries consult the glossaries FAQ If that doesn t help try posting your query to somewhere like the comp text tex newsgroup the BTEX Community Forum or TEX on StackExchange Bug reports can be submitted via my package bug report form 1 Q I get the error message Undefined control sequence in 1 2 gt begingroup def in A This error can occur if you have a fragile command in one of your entry definitions In most cases using gl snoexpandfields before defining your entry should fix this but there are still a few fragile commands that will still cause this error even with glsnoexpandfields If this is the case put protect in front of the fragile command 2 Q I get the error message Missing begin document A Check you are using an up to date version of the xkeyval pack age Inttp www dickimaw books com faqs glossariesfaq html http www latex community org Shttp tex stackexchange com http www dickimaw books com bug report html 173 19 Troubleshooting 3 Q When I use xindy I get the following error message ERROR CHAR index 0 should be less than the length of the string A xindy discards all commands and braces from the sort string If your sort string either specified by the sort key or the name key only consists o
39. com latex thesis 29 1 Introduction Table 1 3 Commands and package options that have no effect when using xindy or makeindex explicitly Command or Package Option makeindex xindy order letter use 1 use M ord letorder order word default default xindy language lang codename code N A use L lang C code NGlsSetXdyLanguage lang N A use L lang GlsSetXdyCodePage code N A use C code 1 3 1 Using the makeglossaries Perl Script The makeglossaries script picks up the relevant information from the auxiliary aux file and will either call xindy or makeindex depending on the supplied information Therefore you only need to pass the document s name without the extension to makeglossaries For example if your document is called myDoc tex type the follow ing in your terminal latex myDoc makeglossaries myDoc latex myDoc You may need to explicitly load makeglossaries into Perl perl makeglossaries myDoc There is a batch file called makeglossaries bat which does this for Windows users but you must have Perl installed to be able to use it You can specify in which directory the aux glo etc files are located using the d switch For example pdflatex output directory myTmpDir myDoc makeglossaries d myTmpDir myDoc Note that makeglossaries assumes by default that makeindex xindy is on your operating system s path If this isn t the case you can specify the full pathname using m
40. defines glossentry as follows Nrenewcommand glossentry 2 item glsentryitem 1 glstarget 1 glossentryname 1 158 15 Glossary Styles glossentrydesc 1 glspostdescription space 2 Note also that number list will always be of the form glossaryentrynumbers relax setentrycounter Hprefix t counter name format cmd number s where number s may contain NdelimN to delimit individual num bers and or delimR to indicate a range of numbers There may be multiple occurrences of setentrycounter Hprefix counter name format cmd number s but note that the entire number list S enclosed within the argument o glossaryentrynumbers The user can redefine this to change the way the entire number list is formatted regardless of the glossary style However the most common use of glossaryentrynumbers is to provide a means of suppressing the number list altogether In fact the nonumberlist option redefines glossaryentrynumbers to ignore its argument Therefore when you define a new glossary style you don t need to worry about whether the user has specified the nonumberlist package option subglossentry subglossentry level label number list This is used to display sub entries The first argument level indi cates the sub entry level This must be an integer from 1 first sub level onwards The remaining arguments are an
41. documents created using version 2 07 or below compatible 3 07 Compatibility mode for old documents created using version 3 07 or below 2 7 Setting Options After the Package is Loaded Some of the options described above may also be set after the glos saries package has been loaded using setupglossaries key val list The following package options can t be used in setupglossaries xindy xindygloss xindynoglsnumbers makeindex nolong nosuper nolist notree nostyles nomain compatible 2 07 translate notranslate acronym These options have to be set while the package is loading except for the xindy sub options which can be set using commands like GlsSetXdyLanguage see Section 11 for further details I recommend you use this command as soon as possible after loading glossaries otherwise you might end up using it too late for the change to take effect For example if you try changing the acronym styles such as smallcaps after you have started defining your acronyms you are likely to get unexpected results If you try changing the sort option after you have started to define entries you may get unexpected results 55 3 Setting Up The command makeglossaries makeglossaries must be placed in the preamble in order to create the customised makeindex ist or xindy xdy style file and to ensure that glossary entries are written to the appropriate output files If you omit makeglossaries none of the
42. each main level 0 glossary entry will be numbered when using the standard glossary styles This option creates the counter glossaryentry If you use this option you can reference the entry number within the document using glsrefentry label where label is the label associated with that glossary entry If you use glsrefentry you must run IATEX twice after creating the glossary files using makeglossaries makeindex or xindy to ensure the cross references are up to date counterwithin This is a key value option where value is the name of a counter If used this option will automatically set en trycounter true and the glossaryentry counter will be reset every time value is incremented 42 2 Package Options The glossaryentry counter isn t automatically reset at the start of each glossary except when glossary section numbering is on and the counter used by counterwithin is the same as the counter used in the glossary s sectioning command If you want the counter reset at the start of each glossary you can redefine glossarypreamb1le to use glsresetentrycounter glsresetentrycounter which sets glossaryentry to zero renewcommand glossarypreamble glsresetentrycounter or if you are using Nsetglossarypreamble add it to each glossary preamble as required For example setglossarypreamble acronym glsresetentrycounter The preamble text here for the list of acronyms
43. file is specified by istfilename istfilename filename The file extension indicates whether to use makeindex ist or xindy xdy Note that the glossary information is formatted dif glsorder xdylanguage gls codepage 1 Introduction ferently depending on which indexing application is supposed to be used so it s important to call the correct one Word or letter ordering is specified by glsorder order where order can be either word or letter If xindy should be used the language and code page for each glos sary is specified by xdy language label language gls codepage label code where label identifies the glossary language is the root language e g english and code is the encoding e g ut 8 These com mands are omitted if make index should be used 2 Package Options This section describes the available glossaries package options You may omit the t rue for boolean options For example acronym is equivalent to acronym true Note that key value package options can t be passed via the document class options This includes options where the value part may be omitted such as acronym This is a general limitation not restricted to the glossaries package Options that aren t key value such as makeindex may be passed via the document class options 2 1 General Options nowarn This suppresses all warnings generated by the glossarie
44. glsuservi options text insert Glsuservi GLSuservi Glsuservi options text insert GLSuservi options text insert 86 glsentryfmt defglsentryfmt glslabel 6 Links to Glossary Entries 6 1 Changing the format of the link text The default format of the link text for Ng1s glsp1 and their upper case variants and also for Ng1sdisp is governed by glsentryfmt This may be redefined but if you only want the change the display style for a given glossary then you need to use defglsentry mt type definition instead of redefining glsentryfmt The optional first argument type is the glossary type This defaults to glsdefaulttype if omitted The second argument is the entry format definition Note that glsentryfmt is the default display format for entries Once the display format has been changed for an individual glossary using defglsentryfmt redefining glsentryfmt won t have an effect on that glossary you must instead us defglsentryfmt again Note that glossaries that have been identified as lists of acronyms via the package option acronymlists or the command DeclareAcronymList see Section 2 5 use defglsentryfmt to set their display style Within the definition argument of defglsentryfmt or if you want to redefine glsentryfmt you may use the following com mands glscustomtext glsinsert This is t
45. has no effect if noist is used or if makeglossaries is omitted GlsAddXdyLocation must be used before makeglossaries Example 15 Custom Numbering System for Locations Suppose I decide to use a somewhat eccentric numbering system for sections where I redefine t hesect ion as follows renewcommand thesection thechapter arabic section If I haven t done counter section in the package option I need to specify that the counter will be used as a location number GlsAddXdyCounters section Next I need to add the location style thechapter is assumed to be the standard arabic chapter GlsAddXdyLocation section sep arabic numbers sep arabic numbers Note that if I have further decided to use the hyperref package and want to redefine theHsection as Nrenewcommand theHsection thepart thesection renewcommand thepart Roman part then I need to modify the GlsAddXdyLocation code above to GlsAddXdyLocation roman numbers uppercase section sep arabic numbers sep arabic numbers Since Roman will result in an empty string if the counter is zero it s a good idea to add an extra location to catch this GlsAddXdyLocation zero section sep arabic numbers sep arabic numbers 112 11 Xindy This example is illustrated in the sample file samplexdy2 tex Example 16 Locations as Words not Digits Suppose I want the page n
46. how you can hook into the standard sort mechanism to adjust the way the sort key is set This requires an additional run to ensure the table of con tents is up to date latex samplePeople makeglossaries samplePeople latex samplePeople latex samplePeople sampleSort tex This is another document that illustrates how to hook into the standard sort mechanism An additional run is required to ensure the table of contents is up to date latex sampleSort makeglossaries sampleSort latex sampleSort latex sampleSort sample nomathhyper tex This document illustrates how to se lective enable and disable entry hyperlinks in glsentryfmt sample entryfmt tex This document illustrates how to change the way an entry is displayed in the text 22 1 Introduction sample prefix tex This document illustrates the use of the glossaries prefix package An additional run is required to ensure the table of contents is up to date latex sample prefix makeglossaries sample prefix latex sample prefix latex sample prefix sampleaccsupp tex This document uses the experimental glossaries accsupp package The symbol is set to the replacement text Note that some PDF viewers don t use the accessibility support Information about the glossaries accsupp package can be found in Section 18 1 2 Multi Lingual Support As from version 1 17 the glossaries package can now be used with xindy as well as makeindex If y
47. includes an associated location that is added to the number list for that entry By default the location refers to the page number For further information on number lists see Section 5 It is strongly recommended that you don t use the commands defined in this section in the arguments of sectioning or caption commands or any other command that has a moving argument The above warning is particularly important if you are using the glossaries package in conjunction with the hyperref package Instead use one of the expandable commands listed in Section 9 such as glsentrytext but not the non expandable case changing versions like Glsentrytext or provide an alternative via the optional ar gument to the sectioning caption command Examples chapter An overview of glsentrytext perl chapter An overview of Perl An overview of gls perl If you want the link text to produce a hyperlink to the correspond ing entry details in the glossary you should load the hyperref package before the glossaries package That s what I ve done in this document so if you see a hyperlinked term such as link text you can click on the word or phrase and it will take you to a brief description in this document o glossary 76 GlsDeclareNoHyperList 6 Links to Glossary Entries If you use the hyperref package I strongly recommend you use pdflatex rather than latex to compile your document if possible The DVI format of IATEX has limita
48. is displayed on first use so that it includes the symbol you can do defglsentryfmt notation glsgenentryfmt ifglsused glslabel space denoted glsentrysymbol glslabel Now suppose you have defined an entry as follows newglossaryentry set type notation name set description A collection of objects symbol SS The first time you reference this entry it will be displayed as set denoted S assuming gls was used Alternatively if you expect all the symbols to be set in math mode you can do defglsentryfmt notation glsgenentryfmt ifglsused glslabel space denoted glsentrysymbol glslabel and define entries like this newglossaryentry set type notation name set description A collection of objects symbol S Remember that if you use the symbol key you need to use a glossary style that displays the symbol as many of the styles ignore it 90 6 Links to Glossary Entries 6 2 Enabling and disabling hyperlinks to glossary entries If you load the hyperref or html packages prior to loading the glossaries package commands such as gl slink and gls described above will automatically have hyperlinks to the relevant glossary entry un less the hyper option has been set to false You can disable or enable links using glsdisablehyper glsdisablehyper and glsenablehyper glsenablehyper respectively The effect can be localised by placing the c
49. option provides shortcut commands for acronyms See Section 13 for further details Alternatively you can use DefineAcronymShortcuts 2 5 1 Deprecated Acronym Style Options The package options listed in this section are now deprecated but are kept for backward compatibility Use setacronymsty1e instead See Section 13 for further details description This option changes the definition of newacronym to allow a description This option may be replaced by setacronymstyle long short desc or with smallcaps Nsetacronymstyle long sc short desc or with smaller Nsetacronymstyle long sm short desc or with footnote setacronymstyle footnote desc or with footnote and smallcaps setacronymstyle footnote sc desc or with footnote and smaller setacronymstyle footnote sm desc 51 2 Package Options or with dua setacronymstyle dua desc smallcaps This option changes the definition of newacronym and the way that acronyms are displayed This option may be re placed by setacronymstyle long sc short or with description setacronymstyle long sc short desc or with description and footnote setacronymstyle footnote sc desc smaller This option changes the definition of newacronym and the way that acronyms are displayed If you use this option you will need to include the relsize package or otherwise define text smaller or redefine acronymfont This option may be replaced by se
50. path to makeindex for makeindex or x path to xindy for xindy 6 Apparently MiKTeX has an alternative makeglossaries exe butl don t know how using this differs from using makeglossaries bat 30 1 Introduction The makeglossaries script contains POD Plain Old Documen tation If you want you can create a man page for makeglossaries using pod2man and move the resulting file onto the man path Al ternatively do makeglossaries help for a list of all options or makeglossaries version for the version number When upgrading the glossaries package make sure you also upgrade your version of makeglossaries The current version is 2 12 1 3 2 Using xindy explicitly Xindy comes with TeXLive but not with MiKTeX However MikTeX users can install it See How to use Xindy with MikTeX on TEX on StackExchange If you want to use xindy to process the glossary files you must make sure you have used the xindy package option usepackage xindy glossaries This is required regardless of whether you use xindy explicitly or whether it s called implicitly via applications such as makeglossaries or makeglossariesgui This causes the glossary entries to be writ ten in raw xindy format so you need to use I xindy not I tex To run xindy type the following in your terminal all on one line xindy L language C encoding I xindy M style t base glg o base gls base glo where language is the required lang
51. super The super style uses the supertabular environment defined by the supertabular package It has two columns the first column contains the entry s name and the second column contains the eg with the flowfram package 149 15 Glossary Styles description followed by the number list The entry s symbol is ignored Sub groups are separated with a blank row The width of the first column is governed by the widest entry in that column The width of the second column is governed by the length glsdescwidth Child entries have a similar format to the parent entries except that their name is suppressed superborder The superborder style is like super but has horizontal and vertical lines around it superheader The superheader style is like super but has a header row superheaderborder The superheaderborder style is like superheader but has horizontal and vertical lines around it super3col The super3col style is like super but has three columns The first column contains the entry s name the second column con tains the description and the third column contains the num ber list The entry s symbol is ignored The width of the first column is governed by the widest entry in that column The width of the second column is governed by the length glsdescwidth The width of the third column is governed by the length glspagelistwidth super3colborder The super3colborder style is like the super3col style but has horizontal and v
52. that contains the following ProvidesDictionary myinstitute glossaries dictionary English deftranslation Glossary Nomenclature 25 Table 1 2 Customised Text Command Name glossaryname acronymname entryname descriptionname symbolname pagelistname 1 Introduction Translator Key Word Glossary Acronyms Notation glossaries Description glossaries Symbol glossaries Page List glossaries glssymbolsgroupname Symbols glossaries glsnumbersgroupname Numbers glossaries 26 Purpose Title of the main glossary Title of the list of acronyms when used with package option acronym Header for first column in the glossary for 2 3 or 4 column glossaries that support headers Header for second column in the glossary for 2 3 or 4 column glossaries that support headers Header for symbol column in the glossary for glossary styles that support this option Header for page list column in the glossary for glossaries that support this option Header for symbols section of the glossary for glossary styles that support this option Header for numbers section of the glossary for glossary styles that support this option 1 Introduction deftranslation Page List glossaries Location You can now load it using Nusedictionary myinstitute glossaries dictionary Make sure thatmyinstitute glossaries dictionary English dict can be found by
53. that you also need to use the command makeglossaries in the preamble to enable the glossaries An individual glossary can be displayed using printglossary options where options is a key value list of options The following keys are available type The value of this key specifies which glossary to print If omit ted the default glossary is assumed For example to print the list of acronyms printglossary type acronymtype title This is the glossary s title overriding the title specified when the glossary was defined toctitle This is the title to use for the table of contents if the toc pack age option has been used It may also be used for the page header depending on the page style If omitted the value of title is used style This specifies which glossary style to use for this glossary over riding the effect of the style package option or glossarystyle numberedsection This specifies whether to use a numbered section for this glossary overriding the effect of the numberedsection package option This key has the same syntax as the numbered section package option described in Section 2 2 106 glsglossarymark glossarypreamble 10 Displaying a glossary xw nonumberlist This is a boolean key If true nonumberlist true the numberlist is suppressed for this glossary If false nonumberlist false the numberlist is displayed for this glossary If no value is supplied true is assumed
54. the first use flag Note that the full form isn t necessarily the same as the text produced on first use Although these commands are similar to commands such as glstext they behave more like glsdisp except for the first use behaviour in that the display is governed by defentryfmt with glscustomtext set as appropriate acrshort options label insert This displays the short form within the argument of acronymfont for the entry given by label The optional arguments are the same as 119 Acrshort ACRshort acrshortpl Acrshortpl ACRshortpl acrlong Acrlong ACRlong acrlongpl Acrlongpl NACRIongpl 13 Acronyms those for glstext There is also a starred version to suppress the hyperlink There are also analogous upper case variants Acrshort options label insert ACRshort options label insert There are also plural versions acrshortpl options label insert Acrshortpl options label insert ACRshortpl options label insert Similarly for the long form acrlong options label insert This displays the long form for the entry given by label The op tional arguments are the same as before There is also a starred ver sion to suppress the hyperlink There are also analogous upper case variants Acrlong options label insert ACRlon
55. the value of that key contains unex pandable commands The second form is not expandable Neither checks for the existence of label Nglossentrydesc label This is like glsentrydesc label but also checks for the exis tence of label This command is not expandable It s used in the predefined glossary styles to display the description NGlossentrydesc label This is like glossentrydesc but converts the first letter to upper case This command is not expandable glsentrydescplural label Glsentrydescplural glsentrysymbol Glsentrydescplural label 2 D Ka b o o B 3 D 3 c n Re KE Di 2 oO T E H zm Q oO Ko e me e o 3 e gt oO SS o D Re D H oO n try given by label Glsentrydescplural makes the first letter upper case The first form is expandable unless the value of that key contains unexpandable commands The second form is not expand able Neither checks for the existence of label Nglsentrysymbol label 102 Glsentrysymbol 9 Using Glossary Terms Without Links NGlsentrysymbol label glossentrysymbol Glossentrysymbol glsentrysymbolplural el 2 D 6a oO e o H z D 5 OQ D m D T D lt e 2 oO D E en A oh e E oO KE ei D Ko Ei lt W 5 d 0x o9 lt D 2 ion Li label NG1sent rysymbol makes the first letter upper case The first for
56. used in the document class option list acronymlists By default only the acronymt ype glossary is consid ered to be a list of acronyms If you have other lists of acronyms you can specify them as a comma separated list in the value of acronymlists For example if you use the acronym package op tion but you also want the main glossary to also contain a list of acronyms you can do Nusepackage acronym acronymlists main glossaries No check is performed to determine if the listed glossaries exist so you can add glossaries you haven t defined yet For example usepackage acronym acronymlists main acronym2 glossaries newglossary alg2 acronym2 acr2 acn2 Statistical Acronyms You can use DeclareAcronymList list instead of or in addition to the acronymlists option This will add the glossaries given in list to the list of glossaries that are identified as lists of acronyms To replace the list of acronym lists with a new list use SetAcronymLists list 3 Actually it sets acronymt ype to glsdefaulttype if the acronym package op tion is not used but glsdefaulttype usually has the value main unless the nomain option has been used glsIfListOfAcronyms DefineAcronymShortcuts 2 Package Options You can determine if a glossary has been identified as being a list of acronyms using glsIfListOfAcronyms label true part false part shortcuts This
57. 1 The first optional argument options is the same as the optional argument to glslink As with glslink these commands also have a starred version that disable the hyperlink Don t use commands like gl slink or g1s in the insert argument of gls and its variants There are also analogous plural forms 81 glspl 6 Links to Glossary Entries glsp1 options label insert Glspl GLSp Glsp1 options label insert GLSp1 options label insert glsdisp glstext These determine the link text from the plural and firstplural keys sup plied when the entry was first defined As before these commands also have a starred version that disable the hyperlink Be careful when you use glossary entries in math mode especially if you are using hyperref as it can affect the spacing of subscripts and superscripts For example suppose you have defined the following entry newglossaryentry Falpha name F_ alpha description sample and later you use it in math mode gls Falpha 2 This will result in F instead of F2 In this situation it s best to bring the superscript into the hyperlink using the final insert optional argument gls Falpha 2 Note that glslink doesn t use or affect the first use flag nor does it use glsentryfmt or the equivalent definition provided by defglsentryfmt see Section 6 1 Instead you can use gls
58. 1 94 111 133 glslink options counter 80 111 format 78 79 105 111 hyper 78 80 91 94 local uie ku E Xe Rs 80 NOpbs brew e co eg ane ae tac 81 glslistdottedwidth 146 glslocalreset 139 glslocalresetall 139 glslocalunset 139 glslocalunsetall 139 OLSLONGEOK ce a bade 129 Nglsmcols e o 154 Nglsmoveentry 71 GLSname ee 84 XGlsname seas ma 84 glsname 84 glsnamefont 108 125 182 Index glsnavhypertarget 157 VGESSHOLEROK o eener 129 glsnoexpandfields 67 glssortnumberfmt 45 glsnumberformat 113 glssubentrycounterlabel glsnumbersgroupname 26 Lee ee ee eee 159 glsnumbersgrouptitle 157 glssubentryitem 159 160 glsnumlistlastsep 105 GLSsymbol 85 glsnumlistsep 105 Glssymbol 85 glsopenbrace 109 glssymbol 84 89 glspagelistwidth glssymbolsgroupname 26 157 da A 142 147 152 glstarget 158 159 NgILSparf asses beeen seas 59 XGLSEeXxt cock eg wes 64 83 GLSpl 8 60 61 82 168 Glstext esso eat eee 64 83 Glsp 8 60 62 82 122 168 OLSEEXE aud4one estet EE 8 64 82 83 85 89 119 120 60 61 78 82 87 91 122 139 glstextformat 78 89 100 GLSplural 84 glstextup 130 Glsplural 83 glstocfal
59. 154 supertabular 149 151 theglossary 156 156 160 equation environment 16 Index etex package 37 etoolbox package 47 87 F file types valid esqsesgue4v4 x adv 29 uo dE 30 110 OO cde es 29 32 176 GUO bees ceeded eras 2 GLO Wek aw end 30 32 58 176 GLS ee ee Re ane a 32 58 vele 0 E xeu 72 HUST passed 32 33 48 56 SLOG e e ae grs Gee Hes 176 EX he ha Ep ES ct 31 32 XAY isses 31 33 49 56 109 glO2 es apex eee ee 2 LSZ bd EE ae nu 2 firstuse e 8 ET epep ew Ow 8 81 Tech ss bee wie c ees 8 firstacronymfont 89 124 124 125 126 175 flowfram package 149 fmtcount package 113 Nfoobnote ssa asd 127 forallglossaries 163 forallglsentries 163 forglsentries 163 frame environment 140 G Genacrfullformat 89 genacrfullformat ee 88 89 124 128 130 GenericAcronymFields 129 133 NGenplacrfullformat 89 genplacrfullformat 88 89 german package 24 glossaries accsupp package DECH 23 61 62 171 172 glossaries babel package 37 glossaries polyglossia package 27 37 glossaries prefix package Sek de 23 61 62 166 167 glossary counters glossaryentry 42 glossarysubentry 43 179 glossary package 1 11 136 137 175 glossary styles
60. 24 139 166 171 firstaccess 171 firstplural 8 60 63 66 78 82 84 88 102 166 171 firstpluralaccess 171 format long 62 88 118 124 165 171 longaccess 171 longplural 62 66 88 118 171 longpluralaccess 171 name 45 47 59 61 66 68 84 98 100 104 124 126 127 133 157 171 174 nonumberlist 61 parent 59 60 67 plural 60 63 69 78 82 83 88 101 166 171 pluralaccess 1 prefix uos 166 169 prefixfirst 166 167 169 prefixfirstplural 166 169 prefixplural 166 169 see 11 45 61 62 79 96 98 short 62 88 118 124 165 171 shortaccess 171 shortplural 62 66 88 118 171 shortpluralaccess 171 sort 9 45 46 61 62 66 69 124 126 127 157 174 176 symbol 60 61 66 84 89 90 133 165 171 symbolaccess 171 symbolplural 61 66 171 symbolpluralaccess 171 text uere 60 78 81 83 88 101 124 139 166 171 textaccess 171 type e 61 69 118 useri 6 61 66 85 162 User 05 61 66 162 Ce HEEN 61 66 userd co ace s 61 66 userb s n 61 66 user6 6 61 66 162 newglossarystyle DEEN 144 156 157 161 newline 60 144 mewterm ss 54 ngerman package 24 109 nohyperpage 74 NOLSE ie x4 19
61. 56 58 74 75 109 112 114 115 nopostdesc 54 59 68 144 165 number list 9 9 16 17 22 27 29 39 44 45 57 61 67 69 74 76 94 97 105 111 114 116 145 146 148 150 152 155 158 160 numberline 39 oldacronym 136 137 package options acronym 26 32 33 35 41 49 50 55 70 95 116 117 136 THUG uec b tee EEN 35 50 acronymlists 50 87 117 118 acronyms 29 90 compatible 2 07 55 56 compatible 3 07 50 55 87 counter 45 57 74 111 113 page 45 counterwithin 42 43 142 158 160 description 51 53 Qua RR 52 53 entrycounter 42 43 142 158 160 falSe cR ede 42 VUS cuo Do wg 42 footnote 51 52 hyperfirst 38 92 false 38 91 127 174 TUE dee bee ane ned 38 index ss 35 54 55 makeindex 35 48 55 nogroupskip 14 45 144 158 161 falSe 2s exe 45 nohypertypes 38 72 77 78 80 index eee 55 nolist 44 55 144 nolog 44 55 142 146 185 nomain 35 50 53 55 116 176 nonumberlist 9 44 45 61 74 94 159 nopostdot 45 144 false 22 Pw ace x 45 nostyes 44 55 142 144 146 149 153 nosuper 44 55 142 149 notranslate 38 55 notree 44 55 153 nowam 35 72 numberedsection 41 106 107 autolabel 41 42 falSG scu sem 41 name
62. 60 XEhepage eege ee eg 113 translator package beds 24 25 27 37 38 117 Ww KEE anexo er res 37 X xindy 9 10 11 19 21 23 24 27 34 37 42 46 48 49 56 58 61 62 74 76 79 80 105 106 109 113 115 116 153 157 174 176 xkeyval package 13 173 xmakefirstuc 8 KEE 137 xspace package 137 187
63. 96 glssee 8 Cross Referencing Entries The see tag is produce using seename but can be overrid den in specific instances using square brackets at the start of the see value For example newglossaryentry MaclaurinSeries name Maclaurin series description Series expansion see see also TaylorsTheorem 3 After you have defined the entry use glssee tag t label xr label list where xr label list is a comma separated list of entry labels to be cross referenced label is the label of the entry doing the cross referencing and tag is the see tag The default value of tag is seename For example glssee see also series FourierSeries TaylorsTheorem Note that this automatically adds the entry given by label to the glossary but doesn t add the cross referenced entries speci fied by xr label list to the glossary In both cases 2 and 3 above the cross referenced information ap pears in the number list whereas in case 1 the cross referenced infor mation appears in the description See the sample crossref tex example file that comes with this package This means that in cases 2 and 3 the cross referencing information won t appear if you have suppressed the number list In this case you will need to activate the number list for the given entries using nonumberlist false Alterna tively if you just use the see key instead of glssee you can auto matically activa
64. An asterisk in the style name indi cates anything that matches that doesn t match any pre viously listed style e g long3col matches long3col long3colheader long3colborder and long3colheaderborder A maximum level of 0 indicates a flat glossary sub entries are displayed in the same way as main entries Where the maximum level is given as there is no limit but note that makeindex imposes a limit of 2 sub levels If the homograph column is checked then the name is not dis played for sub entries If the symbol column is checked then the symbol will be displayed Style Maximum Level Homograph Symbol Jl Ia al lo al lo super 3colx super4colx altsuperx4colx super indexx treenonamex xtreex a inl sublistdotted e stdotted St long4colx tlong 4colx tlist ng x3colx ng SNSNSNNNNN SN SS RJ kA k Fa bh ke becht bech ki Ex S SNSNS lttreex E ine 1 V 143 glspostdescription 15 Glossary Styles want to explicitly create a line break within a multi line description in a tabular like style it s better to use newline instead of Note that if you use the style key in the optional argument to printglossary it will override any previous style settings for the given glossary so if for example you do Nrenewcommand glsgroupskip printglossary style long then the new definition of gl sgroupskip will not have an affect for thi
65. DeclareNoHyp rList type For example usepackage acronym glossaries newglossary common cacr cacn Common Acronyms GlsDeclareNoHyperList common Note that no check is performed to see if the glossary types listed in nohypertypes or GlsDeclareNoHyperList have been defined 77 6 Links to Glossary Entries The values must be fully expanded so don t try nohypertypes acronymt ype or GlsDeclareNoHyperList acronymtype Also avoid unnecessary braces For example GlsDeclareNoHyperList acronym common won t work You do however need an enclosing brace for the whole list when using the package option So usepackage nohypertypes acronym common glossaries is correct but nohypertypes acronym common won t work You can override the effect of nohypertypes or G1sDeclareNoHyperList by explicitly setting the hyper option in commands such as glslink or gls The way the link text is displayed depends on glstextformat glstextformat text For example to make all link text appear in a sans serif font do renewcommand glstextformat 1 textsf 1 Further customisation can be done via defglsentryfmt or by re defining glsentryfmt See Section 6 1 for further details Each entry has an associated conditional referred to as the first use flag This determines whether gls or glsp1 or their upper case variants should use the value of the first fi
66. Glsentryshort label Plural forms glsentryshortpl glsentryshortpl1 label Glsentryshortp GlsentryshortpL label And the full form long short can be obtained using glsentryfull glsentryfull label Glsentryfull Glsentryfull label glsentryfullpl glsentryfullp1 label Glsentryfullpl NGlsentryi Fullpl label setacronymstyle These may be redefined by the acronym style 13 1 Changing the Acronym Style It may be that the default style doesn t suit your requirements in which case yo u can switch to another styles via setacronymstyle style name 123 acronymentry acronymsort firstacronymfont acronymfont 13 Acronyms where style name is the name of the required style You must use setacronymstyle before you define the acronyms with newacronym If you have multiple glossaries representing lists of acronyms you must use Nsetacronymstyle after using DeclareAcronymList Note that unlike the default behaviour of newacronym the styles used via setacronymstyle don t use the first or text keys but in stead they use defglsentryfmt to set a custom format that uses the long and short keys or their plural equivalents This means that these styles cope better with plurals that aren t formed by simply ap pending the singular form with the letter s In fact most of the predefined styles use glsgenacfmt and modify the defi
67. If you find the above commands too cumbersome to write you can use the shortcuts package option to activate the shorter command names listed in table 13 1 Table 13 1 Synonyms provided by the package option shortcuts Shortcut Command Equivalent Command acs acrshort Acs Acrshort acsp acrshortpl Acsp Acrshortpl acl acrlong Acl Acrlong aclp Nacrlongpl Aclp Acrlongp Nacf acrfull NAC NAcrfull Nacfp Nacrfullpl Acfp Acrfullpl ac gls Ac Gls acp Nglspl Acp Glsp It is also possible to access the long and short forms without adding information to the glossary using commands analogous to glsentrytext described in Section 9 The commands that convert the first letter to upper case come with the same caveats as those for analogous commands like Glsentrytext non expandable can t be used in PDF bookmarks care needs to be taken if the first letter is an accented character etc See Section 9 The long form can be accessed using glsentrylong glsentrylong label or with the first letter converted to upper case Glsentrylong Glsentrylong label Plural forms 122 13 Acronyms glsentrylongp glsentrylongp1 label Glsentrylongp Glsentrylongp1 label Similarly to access the short form glsentryshort glsentryshort label or with the first letter converted to upper case Glsentryshort
68. TEX If you want to share your custom dictionary you can upload it to CTAN If you are using babel and don t want to use the translator interface you can use the package option translate babel For example documentclass british article Nusepackage babel Nusepackage translate babel glossaries addto captionsbritish renewcommand glossaryname List of Terms renewcommand acronymname List of Acronyms If you are using polyglossia instead of babel glossaries polyglossia will automatically be loaded unless you specify the package option trans late false Note that xindy provides much better multi lingual support than makeindex so it s recommended that you use xindy if you have glossary entries that contain diacritics or non Roman letters See Sec tion 11 for further details 1 3 Generating the Associated Glossary Files In order to generate a sorted glossary with compact number lists it is necessary to use an external indexing application as an intermediate step It is this application that creates the file containing the code that typesets the glossary If this step is omitted the glossaries will not appear in your document The two indexing applications that are most commonly used with IATEX are make index and xindy As from version 1 17 the glossaries package can be used with either of these applications Previous versions were designed to be used with makeindex only Note that xindy has much better mult
69. TextUppercase glsentrylong 2 3 space acronymfont glsentryshort 2 d i a Nrenewcommand acrfullplfmt 3 glslink 1 2 glsentrylongpl 2 3 space acronymfont glsentryshortpl 2 oe Nrenewcommand Acrfullplfmt 3 glslink 1 442 5 Glsentrylongpl 2 3 space acronymfont glsentryshortpl 2 oe Nrenewcommand ACRfullplfmt 3 glslink 1 2 MakeTextUppercase glsentrylongpl 2 3 space acronymfont glsentryshortpl 2 oe oe renewcommand acronymfont 1 textsc 1 renewcommands acrpluralsuffix glstextup glspluralsuffix renewcommand Nacronymsort 2 2 Nrenewcommand acronymentry 1 Glsentrylong 1 space MakeTextUppercase glsentryshort 1 Now I need to specify that I want to use this new style setacronymstyle custom fn I also need to use a glossary style that suits this acronym style for example altlist setglossarystyle altlist Once the acronym style has been set I can define my acronyms 135 oldacronym 13 Acronyms newacronym description set of tags for use in developing hypertext documents html html Hyper Text Markup Langua
70. User Manual for glossaries sty v4 03 Nicola L C Talbot http www dickimaw books com 2014 01 20 Abstract The glossaries package provides a means to define terms or acronyms or symbols that can be referenced within your docu ment Sorted lists with collated locations can be generated us ing a supplementary indexing application Documents have various styles when it comes to presenting glossaries or lists of terms or notation People have their own preferences and to a large extent this is determined by the kind of information that needs to go in the glossary They may just have symbols with terse descriptions or they may have long technical words with complicated descriptions The glossaries package is flexible enough to accommodate such varied requirements but this flexibility comes at a price a big manual If you re freaking out at the size of this manual start with glossariesbegin pdf The glossaries package a guide for beginnners You should find it in the same directory as this document or try texdoc glossariesbegin pdf Once you ve got to grips with the basics then come back to this manual to find out how to adjust the settings The glossaries bundle comes with the following documentation glossariesbegin pdf If you are a complete beginner start with The glossaries package a guide for beginners glossary2glossaries pdf lf you are moving over from the ob solete glossary package read Upgrading from the g
71. a Puede ok dere E NL eas 169 ntryprefixplural 169 ntryprefixplural 169 ntryshort 123 ntryshort 123 ntryshortpl 123 ntryshortpl 123 ntrysymbol 103 ntrysymbol 89 102 ntrysymbolplura 103 ntrysymbolplura 103 HLEYDOXL diens e 64 76 101 122 170 D FWEOXE tese RUE S 64 76 98 101 104 122 ntryuseri 103 ntryuseri 103 158 ntryuserii 103 ntryuserii 103 ntryuseriii 104 ntryuseriii 104 ntryuseriv 104 ntryuseriv 104 ntryuserv 104 ntryuserv 104 Index Glsentryuservi 104 Nglsentryuservi 104 Nglsexpandfields 67 NGLOTITSE erg EE ad 83 GISTEYSE le tes vad 83 e BEE 83 GLSfirstplural 84 Glsfirstplural 84 glsfirstplural 84 glsgenacfmt 88 89 124 128 130 glsgenentryfmt 88 128 130 glsgetgrouptitle 157 glsglossarymark ag AE te 40 40 107 107 glsgroupheading 157 160 glsgroupskip 144 158 160 glshyperlink 92 100 104 glshypernavsep 145 glsIfListOfAcronyms 51 Nglstfpl tfal 26s 88 128 glsinlineparentchildseparator EE 156 156 glsinlineseparator 156 156 glsinlinesubseparator bag gara ced eS dm 156 156 Nglstnsert is eu 87 Nglslabel i 9 RE 87 glslabeltok 129 NOUSUIMK gee doce ne 78 81 82 89 9
72. a parameter reference If on the other hand you want the sort value ex panded you need to switch off the sanitization For example suppose you do newcommand mysortvalue AAA newglossaryentry sample name sample sort mysortvalue description an example and you actually want mysortvalue expanded so that the entry is sorted according to AAA then use the package option sanitizesort false The default is sanitizesort true savewrites This is a boolean option to minimise the number of write registers used by the glossaries package Default is savewrites false There are only a limited number of write reg isters and if you have a large number of glossaries or if you are using a class or other packages that create a lot of external files you may exceed the maximum number of available registers If savewrites is set the glossary information will be stored in token 36 2 Package Options registers until the end of the document when they will be writ ten to the external files If you run out of token registers you can use etex This option can significantly slow document compilation As an alternative you can use the scrwfile package part of the KOMA Script bundle and not use this option If you want to use TEX s write18 mechanism to call makeindex or xindy from your document and use savewrites you must create the external files with glswritefiles before you call makeindex xindy Also set glswri
73. acro ole renewcomma glslink ndx 1 nym nd 1 font glsentryshort Nacrfullplfmt 3 12 08 3Nspace font glsentryshortpl Acrfullplfmt 3 F2 5 Glsentrylongpl 2 3 space acro oe renewcomma glslink nym ndx 1 font glsentryshortpl ACRfullplfmt 3 2 05 MakeTex glsen oe oe oe tUppercase tryl acronym O ngpl 2 3 space 132 font glsentryshortpl 2 Z2 2 2 13 Acronyms This may cause problems with long hyperlinks in which case adjust the definitions so that for example only the short form is inside the argument of glslink The style also needs to redefine acronymsort so that the acronyms are sorted according to the long form Nrenewcommand acronymsort 2 2 If you prefer them to be sorted according to the short form you can change the above to Nrenewcommand Nacronymsortj 2 1 The acronym font needs to be set to textsc and the plural suffix adjusted so that the s suffix in the plural short form doesn t get converted to smallcaps renewcommand acronymfont 1 textsc 1 renewcommands acrpluralsuffix glstextup glspluralsuffix There are a number of ways of deal
74. acronym key val list label abbro long In addition oldacronymalso defines the commands label which is equivalent to gls label and label which is equivalent to G1s label If label is omitted abbrv is used Since commands names must consist only of alphabetical characters label must also only consist of alphabetical characters Note that label doesn t al low you to use the first optional argument of gls or Gls you will need to explicitly use gls or G1s to change the settings Recall that in general BIEX ignores spaces following command names consisting of alphabetical characters This is also true for label unless you additionally load the xspace package but be 2 aware that there are some issues with using xspace The glossaries package doesn t load the xspace package since there are both advantages and disadvantages to using xspace in label If you don t use the xspace package you need to explicitly force a space using backslash space however you can follow label with additional text in square brackets the final optional argument to gls If you use the xspace package you don t need to escape the spaces but you can t use the optional argument to insert text you will have to explicitly use gls To illustrate this suppose I define the acronym abc as follows oldacronym abc example acronym This will create the command abc and
75. age section subsection glossaries You can omit the value if you want to use sections i e usepackage section glossaries is equivalent to usepackage section section glossaries setglossarysection glsglossarymark glsclearpage ifglsucmark 2 Package Options You can change this value later in the document using setglossarysection name where name is the sectional unit The start of each glossary adds information to the page header via glsglossarymark glossary title By default this uses mkboth but you may need to redefine it For example to only change the right header renewcommand glsglossarymark 1 markright 1 or to prevent it from changing the headers renewcommand glsglossarymark 1 If you want glsglossarymark to use MakeUppercase in the header use the ucmark option described below Occasionally you may find that another package defines cleardoublepage when it is not required This may cause an unwanted blank page to appear before each glossary This can be fixed by redefining glsclearpage renewcommands glsclearpage clearpage ucmark This is a boolean option default ucmark false unless memoir has been loaded in which case it defaults to ucmark true If set glsglossarymark uses MakeText Uppercase You can test whether this option has been set or not using ifglsucmark true part else false part fi For example
76. al and vertical lines around it altlongragged4col The altlongragged4col style is like longragged3col but has an additional column in which the entry s associated sym bol appears The width of the description column is governed by the length glsdescwidth and the width of the page list column is governed by the length glspagelistwidth The widths of the name and symbol columns are governed by the widest entry in the given column altlongragged4colborder The altlongragged4colborder style is like the al tlongragged4col but has horizontal and vertical lines around it altlongragged4colheader The altlongragged4colheader style is like altlon gragged4col but has a header row altlongragged4colheaderborder The altlongragged4colheaderborder style is like altlongragged4colheader but has horizontal and vertical lines around it 15 1 4 Supertabular Styles The styles described in this section are all defined in the package glossary super Since they all use the supertabular environment they are governed by the same parameters as that environment Note that these styles will automatically be available unless you use the nosu per or nostyles package options In general the longtable environment is better but there are some circumstances where it is better to use supertabular These styles fully justify the description and page list columns If you want ragged right formatting instead use the analo gous styles described in Section 15 1 5
77. alogous to those for glossentry described above glssubentryitem glssubentryitem label This macro will increment and display the associated counter for the level 1 entries if the subentrycounter package option has been used This macro is typically called by subglossentry before glstarget The format of the counter is controlled by the macro glssubentrycounterlabell glssubentrycounterlabel Note that printglossary which printglossaries calls sets currentglossary currentglossary to the current glossary label so it s possible to create a glossary style 159 15 Glossary Styles that varies according to the glossary type For further details of these commands see section 1 15 Displaying the glossary in the documented code glossaries code pdf Example 20 Creating a completely new style If you want a completely new style you will need to redefine all of the commands and the environment listed above For example suppose you want each entry to start with a bullet point This means that the glossary should be placed in the itemize environment so theglossary should start and end that environment Let s also suppose that you don t want anything between the glos sary groups so glsgroupheading and glsgroupskip should do nothing and suppose you don t want anything to appear immedi ately after begin theglossary so glossaryheader should do nothing In addition let s suppose the symbol should
78. ans that the supertabular package also won t be loaded This reduces overhead by not defining unwanted styles and commands Note that if you use this op tion you won t be able to use any of the glossary styles defined in the glossary super package unless you explicitly load glossary super nolist This prevents the glossaries package from automatically load ing glossary list This reduces overhead by not defining un wanted styles Note that if you use this option you won t be able to use any of the glossary styles defined in the glossary list package unless you explicitly load glossary list Note that since the default style is list you will also need to use the style option to set the style to something else notree This prevents the glossaries package from automatically load ing glossary tree This reduces overhead by not defining un wanted styles Note that if you use this option you won t be able to use any of the glossary styles defined in the glossary tree package unless you explicitly load glossary tree nostyles This prevents all the predefined styles from being loaded If you use this option you need to load a glossary style pack age such as glossary mcols Also if you use this option you can t use the style package option Instead you must either use setglossarystyle style or the style key in the optional argument to printglossary Example Nusepackage nostyles glossaries usepackage glossary mcol
79. ary 107 glsnamefont 10 Displaying a glossary Example 12 Switch to Two Column Mode for Glossary Suppose you are using the superheaderborder style and you want the glossary to be in two columns but after the glossary you want to switch back to one column mode you could do Nrenewcommand Nglossarysectionj 2 Ntwocolumn Nchapterx 42 setlength glsdescwidth 0 6 linewidth glsglossarymark glossarytoctitle renewcommands glossarypostamble onecolumn Within each glossary each entry name is formatted according to glsnamefont name which takes one argument the entry name This command is always used regardless of the glossary style By default glsnamefont simply displays its argument in whatever the surrounding font hap pens to be This means that in the list like glossary styles defined in the glossary list style file the name will appear in bold since the name is placed in the optional argument of item whereas in the tabu lar styles defined in the glossary long and glossary super style files the name will appear in the normal font The hierarchical glossary styles defined in the glossary tree style file also set the name in bold Example 13 Changing the Font Used to Display Entry Names in the Glossary Suppose you want all the entry names to appear in medium weight small caps in your glossaries then you can do renewcommand glsnamefont 1 textsc mdseries 1 lyou ca
80. ase of glsadda11 all entries in the glossary will have the same location in the number list If you want to use gl sadda11 it s best to suppress the number list with the nonumberlist package option See sections 2 3 and 5 There is now a variation of Ng1sadda11 that skips any entries that have already been used 94 glsaddallunused 7 Adding an Entry to the Glossary Without Generating Text glsaddallunused list This command uses glsadd format gobble which will ig nore this location in the number list The optional argument list is a comma separated list of glossary types If omitted it defaults to the list of all defined glossaries Example 11 Dual Entries The example file sampl1e dual tex makes use of glsadd to al low for an entry that should appear both in the main glossary and in the list of acronyms This example sets up the list of acronyms using the acronym package option usepackage acronym glossaries A new command is then defined to make it easier to define dual en tries newcommands newdualentry 5 newglossaryentry main 2 name 4 text 3 glsadd 2 description 5 1 newacronym 2 3 glsadd main 2 4 This has the following syntax newdualentry options label abbro long description You can then define a new dual entry newdualentry svm label SVM abbreviation support vector
81. blems as from version 4 0 the glossaries pack age modifies the definition of newglossaryentry at the beginning of the document environment so that the definitions are written to an external file X jobname glsdefs which is then read in at the start 72 4 Defining Glossary Entries of the document on the next run The entry will then only be de fined if it doesn t already exist This means that the entry can now be looked up in the glossary even if the glossary occurs at the beginning of the document There are drawbacks to this mechanism if you modify an entry definition you need a second run to see the effect of your modifica tion this method requires an extra newwrite which may exceed TgX s maximum allocation if you have very long entries you could find unexpected line breaks have been written to the temporary file The last reason is why N1ongnewglossaryentry has the preamble only restriction which I don t intend to lift 4 8 2 Good Practice Issues The above section covers technical issues that can cause your docu ment to have compilation errors or produce incorrect output This section focuses on good writing practice The main reason cited by users wanting to define entries within the document environment rather than in the preamble is that they want to write the definition as they type in their document text This suggests a stream of con sciousness style of writing that may be acceptable in certain literar
82. border 148 longraggedheader 148 longraggedheaderborder 148 COlalttree dee 155 mcolalttreegroup 155 colalttreehypergroup Loaded dedere ded 155 mcolindex 154 155 mcolindexgroup 155 mcolindexhypergroup 155 licoltfGe esee a 155 mcoltreegroup 155 mcoltreehypergroup 155 mcoltreenoname 155 mcoltreenonamegroup 155 mcoltreenonamehypergroup OR 155 SUPER 4 4445 ees 149 150 super3col 150 super3colborder 150 super3colheader 150 super3colheaderborder m 150 super4col 142 150 151 longragged3colborder 149 longragged3colheader 149 super4colborder 150 151 super4colheader 150 151 super4colheaderborder rm 151 superborder 150 superheader 150 superheaderborder 108 150 superragged 151 152 superragged3col 152 superragged3colborder 180 superragged3colheader EE 152 superragged3colheaderborder DEER 152 superraggedborder 152 superraggedheader 152 superraggedheaderborder DE 152 Dfec iocus 133 153 155 treegroup 153 155 treehypergroup 153 155 treenoname 153 155 treenonamegroup 153 155 treenonamehypergroup ix pow ees RUE 153 155 glossary inline package 155 glossary list package 43 44 108 144 glossary long package 43 44 108 146 148 glossary longragged package 148 glossary mcols package 44
83. created as newglossary main gls glo glossaryname so it can be identified by the label main unless the nomain package option is used Using the acronym package option is equivalent to newglossary alg acronym acr acn acronymname so it can be identified by the label acronym If you are not sure whether the acronym option has been used you can identify the list of acronyms by the command acronymt ype which is set to acronym 116 12 Defining New Glossaries if the acronym option has been used otherwise it is set to main Note that if you are using the main glossary as your list of acronyms you need to declare it as a list of acronyms using the package option acronymiists The symbols package option creates a new glossary with the label symbols using newglossary slg symbols sls slo glssymbolsgroupname and the numbers package option creates a new glossary with the label numbers using newglossary nlg numbers nls nlo glsnumbersgroupname All glossaries must be defined before makeglossaries to ensure that the relevant output files are opened See Section 1 2 1 if you want to redefine glossaryname especially if you are using babel or translator Similarly for glssymbolsgroupname and glsnumbersgroupname 117 newacronym 13 Acronyms You may have noticed in Section 4 that when you specify a new entry you can specify alternate text to use when the term is first used i
84. d as SVMs rather than SVMS Example 19 Defining a Custom Acronym Style Suppose I want my acronym on first use to have the short form in the text and the long form with the description in a footnote Suppose also that I want the short form to be put in small caps in the main body of the document but I want it in normal capitals in the list of acronyms In my list of acronyms I want the long form as the name with the short form in brackets followed by the description That is in the text I want g1s on first use to display textsc abbrv footnote long description on subsequent use textsc abbrv and in the list of acronyms each entry will be displayed in the form long short description Let s suppose it s possible that I may have a mixed glossary I can check this in the second argument of Nnewacronymstyle using ifglshaslong glslabel glsgenacfmt glsgenentryfmt This will use glsgenentryfmt if the entry isn t an acronym oth erwise it will use glsgenacfmt The third argument definitions of Nnewacronymstyle needs to redefine genacrfullformat etc so that the first use displays the short form in the text with the long form in a footnote followed by the description This is done as follows remember to use instead of 9 No case change singular first use Nrenewcommand genacrfullformat 2 firstacronymfont glsentryshort 1 2 footnote glsentrylong 1
85. d your own style see Sec tion 15 2 The glossary style can be set using the style key in the optional ar gument to printglossary or using the command setglossarystyle style name before the glossary is displayed Some of the predefined glossary styles may also be set using the style package option it depends if the package in which they are de fined is automatically loaded by the glossaries package 15 1 Predefined Styles The predefined styles can accommodate numbered level 0 main and level 1 entries See the package options entrycounter counterwithin and subentrycounter described in Section 2 3 There is a summary of avail able styles in table 15 1 The tabular like styles that allow multi line descriptions and page lists use the length glsdescwidth to set the width of the de scription column and the length glspagelistwidth to set the width of the page list column These will need to be changed us ing Nsetlength if the glossary is too wide Note that the long4col and super4col styles and their header and border variations don t use these lengths as they are designed for single line entries Instead you should use the analogous altlong4col and altsuper4col styles If you lThese lengths will not be available if you use both the nolong and nosuper package options or if you use the nostyles package option unless you explicitly load the relevant package 142 15 Glossary Styles Table 15 1 Glossary Styles
86. dard Sort 6 oe wo ee o ni 47 Defining Custom Keys rude or BEEN ee AN E 65 Hierarchical Categories Greek and Roman Mathe mancal SYMBOLS os a rory ee eee OH Re eos 67 Loading Entries from Another File 70 Custom Entry Display in Text oes week ew A 89 Custom Format for Particular Glossary 90 First Use With Hyperlinked Footnote Description 91 Suppressing Hyperlinks on First Use Just For Acronyms 92 Only Hyperlink in Text Mode Not Math Mode 92 Dual Q0 A CP Se oh Re AE e A 95 Switch to Two Column Mode for Glossary 108 Changing the Font Used to Display Entry Names in the C P mm 108 Custom Font for Displaying a Location 111 Custom Numbering System for Locations 112 Locations as Words not Digits 113 Defining an ACTOnNyM o s s iaces aos oho a ee a 119 Adapting a Predefined Acronym Style 127 Defining a Custom Acronym Style 130 Creating a completely new style EE 160 Creating a new glossary style based on an existing style 161 Example creating a glossary style that uses the user 1 A e Be HR a a ee eS 162 Defining Determiners culo yo x9 3o RS 166 Usine PrERXES dco em ee EE ES 168 Adding Determiner to Glossary Style 170 List of Tables tel 1 2 La 4 1 6 1 13 1 13 2 15 1 152 Supporled Languages oues ex RR Rs 25 Customised Texts ouem ER RR KO 26 Commands and package options
87. de tails If the style is likely to be used with a mixed glossary that is entries in that glossary are defined both with newacronym and newglossaryentry then you can test if the entry is an acronym and use glsgenacfmt if itis or glsgenentryfmt if it isn t For example the long short style sets display as ifglshaslong glslabel glsgenacfmt glsgenentryfmt You can use ifglshasshort instead of ifglshaslong to test if the entry is an acronym if you prefer The third argument definitions can be used to redefine the com mands that affect the display style such as acronymfont or if display uses glsgenacfmt genacrfullformat and its vari ants 128 13 Acronyms Note that setacronymstyle redefines glsentryfull and acrfullfmt to use genacrfullformat and similarly for the plural and upper case variants If this isn t appropriate for the style as in the case of styles like footnote and dua newacronymstyle should redefine these commands within definitions Within newacronymstyle s definitions argument you can also redefine GenericAcronymFields GenericAcronymFields This is a list of additional fields to be set in newacronym You can use the following token registers to access the entry label long form glslabeltok andshortform glslabeltok glslongtokand glsshorttok glslongtok As with all TEX registers you can access their values by preceding the glsshorttok register with the For e
88. defined styles glossentry glossentry label number list This macro indicates what to do for each level 0 glossary entry The entry label is given by label and the associated number list is given by number list You can redefine glossentry to use commands like glossentryname label Ng1ossentrydesc label and Nglossentrysymbol label to display the name description and symbol fields or to access other fields use commands like gl sent ryuseri label See Section 9 for further details You can also use the following com mands glsentryitem glsentryitem label This macro will increment and display the associated counter for the main level 0 entries if the entrycounter or counterwithin package op tions have been used This macro is typically called by glossentry before glstarget The format of the counter is controlled by the macro glsentrycounterlabel glsentrycounterlabel Each time you use a glossary entry it creates a hyperlink if hy perlinks are enabled to the relevant line in the glossary Your new glossary style must therefore redefine glossentry to set the ap propriate target This is done using glstarget glstarget t label text where label is the entry s label Note that you don t need to worry about whether the hyperref package has been loaded as glstarget won t create a target if Nhypertarget hasn t been defined For example the list style
89. description These are both preamble only commands For all the above commands the first argument label must be a unique label with which to identify this entry This can t contain any non expandable commands or active characters Note that although an accented character or other non Latin character such as or f5 looks like a plain character in your tex file it s actually a macro an active character and therefore can t be used in the label Also be careful of babel s options that change certain punctuation characters such as or to active characters The second argument key value list is a key value list that supplies the relevant information about this entry There are two re quired fields description and either name or parent Available fields are listed below name The name of the entry as it will appear in the glossary If this key is omitted and the parent key is supplied this value will be the same as the parent s name description A brief description of this term to appear in the glossary Within this value you can use nopostdesc to suppress the description terminator for this entry For exam ple if this entry is a parent entry that doesn t require a descrip tion you can do description nopostdesc If you want a paragraph break in the description use glspar 4 Defining Glossary Entries or better use longnewglossaryentry However note that not all glossary style
90. disp options label link text This behaves in the same way as g1s except that it uses link text instead of the value of the first or text key Note that this command always sets insert to nothing This command affects the first use flag and uses glsentryfmt or the equivalent definition provided by Nde glsentryfmt The command glstext options label insert 6 Links to Glossary Entries key and does not affect the first use flag Unlike gls the inserted text insert is always appended to the link text since glstext doesn t use glsentryfmt or the equivalent definition provided by defglsentryfmt The same is true for all the following com mands described in the rest of this section There are also analogous commands Glstext options text insert GLStext options text insert As before these commands also have a starred version that disable glsfirst options label insert is similar to gl stext except that it always uses the value of the first key Again insert is always appended to the end of the link text and does not affect the first use flag There are also analogous commands Glsfirst options text insert NGLSfirst options text insert As before these commands also have a starred version that disable glsplural options label insert is similar to glstext
91. displayed on first use which is governed by the first and firstplural keys of newglossaryentry May be overridden by glsdisp Glossary Indexing application An application piece of software separate from TEX IATEX that collates and sorts information that has an associated page ref erence Generally the information is an index entry but in this case the information is a glossary entry There are two main indexing applications that are used with TEX makeindex and xindy These are both command line interface CLI applica tions Link text The text produced by commands such as gls It may or may not be a hyperlink to the glossary Location list A list of entry locations See number list makeglossaries A custom designed Perl script interface to x indy and makeindex provided with the glossaries package makeglossariesgui A Java GUI alternative to makeglossaries that also provides diagnostic tools Available separately on CTAN makeindex An indexing application Number list A list of entry locations also called a location list The number list can be suppressed using the nonumberlist package option Sanitize Converts command names into character sequences That is a command called say foo is converted into the sequence of characters o o Depending on the font the backslash character may appear as a dash when used in the main docu ment text so foo will appear as foo Earlier versions o
92. ds such as Glsentrytext these commands aren t expandable so can t be used in PDF bookmarks Example 25 Adding Determiner to Glossary Style You can use the above commands to define a new glossary style that uses the determiner For example the following style is a slight modification of the list style that inserts the prefix before the name newglossarystyle plist setglossarystyle list renewcommand glossentry 2 item glsentryitem 1 Glsentryprefix 1 glstarget 1 glossentryname 1 glossentrydesc 1 glspostdescription space 2 170 18 Accessibility Support Limited accessibility support is provided by the accompanying glossaries accsupp package but note that this package is experimental and it requires the accsupp package which is also listed as experimental This package defines additional keys that may be used when defining glossary entries The keys are as follows access The replacement text corresponding to the name key textaccess The replacement text corresponding to the text key firstaccess The replacement text corresponding to the first key pluralaccess The replacement text corresponding to the plural key firstpluralaccess The replacement text corresponding to the firstplural key symbolaccess The replacement text corresponding to the symbol key symbolpluralaccess The replacement text corresponding to the sym bolplural key descriptionaccess The replacement tex
93. e after the glossary style has been set altlist The altlist style is like list but the description starts on the line fol lowing the name As with the list style the symbol is ignored Each child entry starts a new line but as with the list style the name associated with each child entry is ignored altlistgroup The altlistgroup style is like altlist but the glossary groups have headings altlisthypergroup The altlisthypergroup style is like altlistgroup but has a set of links to the glossary groups The navigation line is the same as that for listhypergroup described above listdotted This style uses the description environment Each entry starts with item followed by the name followed by a dot 2This style was supplied by Axel Menzel 145 glslistdottedwidth 15 Glossary Styles ted line followed by the description Note that this style ignores both the number list and the symbol The length glslistdottedwidth governs where the description should start This is a flat style so child entries are formatted in the same way as the parent entries sublistdotted This is a variation on the listdotted style designed for hi erarchical glossaries The main entries have just the name dis played The sub entries are displayed in the same manner as listdotted 15 1 2 Longtable Styles The styles described in this section are all defined in the package glossary long Since they all use the longtable environment the
94. e automatically added to the xindy style file but if you want to use another attribute you need to add it using GlsAddxXdyAtt ribute name where name is the name of the attribute as used in the format key Example 14 Custom Font for Displaying a Location Suppose I want a bold italic hyperlinked location I first need to define a command that will do this newcommands hyperbfit 1 textit hyperbf 1 but with xindy I also need to add this as an allowed attribute GlsAddXdyAttribute hyperbfit Now I can use it in the optional argument of commands like Ng1s Here is a gls format hyperbfit sample entry where sample is the label of the required entry Note that GlsAddXdyAttribute has no effect if noist is used or if makeglossaries is omitted NGlsAddXdyAttribute must be used before makeglossaries Additionally G1sAddXdyCounters must come before GlsAddXdyAttribute 111 GlsAddXdyLocation 11 Xindy If the location numbers don t get expanded to a simple Arabic or Roman number or a letter from a z or A Z then you need to add a location style in the appropriate format using GlsAddXdyLocation prefix location name definition where name is the name of the format and definition is the xindy definition The optional argument prefix location is needed if theH counter either isn t defined or is different from the counter Note that GlsAddXdyLocation
95. e file from being overwritten by the glossaries package For additional information about xindy read the xindy documentation I m sorry I can t provide any assis tance with writing xindy style files If you need help I recommend you ask on the xindy mailing list http xindy sourceforge net mailing list html 109 11 Xindy 11 1 Language and Encodings When you use x indy you need to specify the language and encod ing used unless you have written your own custom xindy style file that defines the relevant alphabet and sort rules If you use makeglossaries this information is obtained from the documents auxiliary aux file The makeglossaries script attempts to find the root language given your document settings but in the event that it gets it wrong or if xindy doesn t support that language then you can specify the required language using GlsSetXdyLanguage GlsSetXdyLanguage glossary type 1 language where language is the name of the language The optional argument can be used if you have multiple glossaries in different languages If glossary type is omitted it will be applied to all glossaries otherwise the language setting will only be applied to the glossary given by glossary type If the inputenc package is used the encoding will be obtained from the value of inputencodingname Alternatively you can specify the encoding using GlsSetXdyCodePage GlsSetXdyCodePage code where code is
96. e people who have sent me the rele vant translations either via email or via comp text tex However you must load babel or polyglossia before glossaries to enable this Note that if babel is loaded and the translator package is detected on TEX s path then the translator package will be loaded automatically unless you use the translate false or translate babel package options How ever it may not pick up on the required languages so if the prede fined text is not translated you may need to explicitly load the trans lator package with the required languages For example usepackage spanish babel usepackage spanish translator usepackage glossaries Alternatively specify the language as a class option rather than a package option For example documentclass spanish report Nusepackage babel usepackage glossaries If you want to use ngerman or german instead of babel you will need to include the translator package to provide the translations For ex ample documentclass ngerman article usepackage ngerman usepackage translator usepackage glossaries The languages are currently supported by the glossaries package are listed in table 1 1 Please note that apart from spelling mistakes I don t intend to change the default translations as it will cause com patibility problems The language dependent commands and translator keys used by the glossaries package are listed in table 1 2 Due to the vari
97. ed for newacronym see Section 13 long longplural short and shortplural Additional keys are provided by the glossaries prefix Section 17 and the glossaries accsupp Section 18 packages You can also define your own custom keys see Section 4 3 Note that if the name starts with an accented letter or other non Latin character you must group the character otherwise it will cause a problem for commands like Gls and Glsp1 For example newglossaryentry elite name e lite description select group or class Note that the same applies if you are using the inputenc package newglossaryentry elite name lite description select group or class Note that in both of the above examples you will also need to supply the sort key if you are using make index whereas xindy is usually able to sort accented letters correctly 4 1 Plurals You may have noticed from above that you can specify the plural form when you define a term If you omit this the plural will be obtained by appending glspluralsuffix NEE lout tals aay to the singular form This command defaults to the letter s For example newglossaryentry cow name cow description a fully grown female of any bovine animal defines a new entry whose singular form is cow and plural form is cows However if you are writing in archaic English you may want to use kine as the plural form in which case you wo
98. ed nature of glossaries it s likely that the prede fined translations may not be appropriate If you are using the babel 24 1 Introduction Table 1 1 Supported Languages Language As from version Brazilian Portuguese 1 17 Danish 1 08 Dutch 1 08 English 1 08 French 1 08 German 1 08 Irish 1 08 Italian 1 08 Hungarian 1 08 Polish 1 13 Serbian 2 06 Spanish 1 08 package and the glossaries package option translate babel you need to be familiar with the advice given in http www tex ac uk cgi bin texfaq2html label latexwords If you are using the translator package then you can provide your own dictionary with the necessary modifications using deft ranslation and load it using Nusedictionary Note that the dictionaries are loaded at the beginning of the document so it won t have any effect if you put deftranslation in the preamble It should be put in your personal dictionary instead as in the example below See the translator documentation for further details Now with beamer documentation Your custom dictionary doesn t have to be just a translation from English to another language You may prefer to have a dictionary for a particular type of document For example suppose your institu tion s in house reports have to have the glossary labelled as Nomen clature and the page list should be labelled Location then you can create a file called say myinstitute glossaries dictionary English dict
99. ed using the nogroupskip pack age option sampleAcr tex This document has some sample acronyms It also adds the glossary to the table of contents so an extra run through TEX is required to ensure the document is up to date latex sampleAcr makeglossaries sampleAcr latex sampleAcr latex sampleAcr sampleAcrDesc tex This is similar to the previous example ex cept that the acronyms have an associated description As with the previous example the glossary is added to the table of con tents so an extra run through IATEX is required latex sampleAcrDesc makeglossaries sampleAcrDesc latex sampleAcrDesc latex sampleAcrDesc sampleDesc tex This is similar to the previous example except that it defines the acronyms using newglossaryentry in stead of newacronym As with the previous example the glossary is added to the table of contents so an extra run through IATEX is required latex sampleDesc makeglossaries sampleDesc latex sampleDesc latex sampleDesc 14 1 Introduction sampleCustomAcr tex This document has some sample acronyms with a custom acronym style It also adds the glossary to the ta ble of contents so an extra run through IATEX is required latex sampleCustomAcr makeglossaries sampleCustomAcr latex sampleCustomAcr latex sampleCustomAcr sampleFnAcrDesc tex This is similar to sampleAcrDesc tex except that it uses the footnote sc desc style As with
100. eglossaries and has no effect if noist is used With both makeindex and xindy you can replace the separator and the closing number in the range using glsSetSuffixF suffix glsSetSuffixFF suffix where the former command specifies the suffix to use for a 2 page list and the latter specifies the suffix to use for longer lists For example glsSetSuffixF f glsSetSuffixFF ff Note that if you use xindy you will also need to set the minimum range length to 1 if you want to change these suffixes GlsSetXdyMinRangeLength 1 Note that if you use the hyperref package you will need to use nohyperpage in the suffix to ensure that the hyperlinks work cor rectly For example 74 5 Number lists glsSetSuffixF nohyperpage f glsSetSuffixFF nohyperpage ff Note that glsSetSuffixF and glsSetSuffixFF must be used before makeglossaries and have no effect if noist is used 75 6 Links to Glossary Entries Once you have defined a glossary entry using newglossaryentry you can refer to that entry in the document using one of the com mands listed in this section The text which appears at that point in the document when using one of these commands is referred to as the link text even if there are no hyperlinks The commands in this section also add a line to an external file that is used by makeindex or x indy to generate the relevant entry in the glossary This informa tion
101. eglossaries is omitted GlsSetXdyLocationClassOrder must be used before makeglossaries If a number list consists of a sequence of consecutive numbers the range will be concatenated The number of consecutive locations that causes a range formation defaults to 2 but can be changed using 1see set Compositor described in Section 3 2see setAlphaCompositor described in Section 3 114 11 Xindy GlsSetXdyMinRangeLength GlsSetXdyMinRangeLength n For example GlsSetXdyMinRangeLength 3 The argument may also be the keyword none to indicate that there should be no range formations See the xindy manual for further details on range formations Note that GlsSet XdyMinRangeLength has no effect if noist is used or if makeglossaries is omitted GlsSetXdyMinRangeLength must be used before makeglossaries See Section 5 for further details 11 3 Glossary Groups The glossary is divided into groups according to the first letter of the sort key The glossaries package also adds a number group by default unless you suppress it in the xindy package option For example usepackage xindy glsnumbers false glossaries Any entry that doesn t go in one of the letter groups or the number group is placed in the default group If you have a number group the default behaviour is to locate it before the A letter group If you are not using a Roman alphabet you can change this using GlsSetXdyFi
102. el poly glossia or translator have been loaded Otherwise translate false is assumed See Section 1 2 1 for further details notranslate This is equivalent to translate false and may be passed via the document class options hyperfirst This is a boolean option that specifies whether each term has a hyperlink on first use The default is hyperfirst true terms on first use have a hyperlink unless explicitly suppressed using starred versions of commands such as gls Note that this applies to all glossary types It may be that you only want to apply this to just the acronyms where the first use explains the meaning of the acronym but not for ordinary glossary entries where the first use is identical to subsequent uses In this case you can use hyperfirst false and apply Ng1sunsetall to all the regular non acronym glossaries For example Nusepackage acronym hyperfirst false glossaries acronym and glossary entry definitions 9 at the end of the preamble glsunsetall main nohypertypes Use this option if you have multiple glossaries and you want to suppress the entry hyperlinks for a particular glossary or glossaries The value of this option should be a comma separated list of glossary types where g1s etc shouldn t have hyperlinks by default Make sure you enclose the value in braces if it contains any commas Example Nusepackage acronym nohypertypes acronym notation glossaries newglossary nlg
103. entryplural label These commands display the subsequent use plural text for the glos sary entry given by label as specified by the plural key Glsentryplural makes the first letter upper case The first form is expandable unless the value of that key contains unexpandable commands The second form is not expandable Neither checks for the existence of label glsentryfirst glsentryfirst label Glsentryfirst Glsentryfirst label These commands display the first use text for the glossary entry given by label as specified by the first key Glsentryfirst makes the not expandable Neither checks for the existence of label glsentryfirstplural olsentrytirstplural label Glsentryfirstplural Glsentryfirstplural label 101 glsentrydesc Glsentrydesc glossentrydesc Glossentrydesc glsentrydescplural 9 Using Glossary Terms Without Links These commands display the plural form of the first use text for the glossary entry given by label as specified by the firstplural key Glsentryfirstplural makes the first letter upper case The first able commands The second form is not expandable Neither checks for the existence of label Nglsentrydesc label Glsentrydesc label These commands display the description for the glossary entry given by label Glsentrydesc makes the first letter upper case The first form is expandable unless
104. ers to hyperlink to the relevant pages I need to redefine the necessary VO lat counter x format commands renewcommand glsXpageXglsnumberformat 2 linkpagenumber 2 Nrenewcommand NglsXpageXhyperbfit 2 113 11 Xindy textbf em linkpagenumber 2 newcommand linkpagenumber 3 hyperlink page 3 1 2 3 In the number list the locations are sorted according to type The default ordering is roman page numbers e g i arabic page numbers e g 1 arabic section numbers e g 1 1 if the compositor is a full stop or 1 1 if the compositor is a hyphen alpha page numbers e g a Roman page numbers e g I ALpha page numbers e g A Appendix page numbers e g A 1 if the Alpha compositor is a full stop or A 1 if the Alpha compositor is a hyphen user defined location names as specified by G1sAddXdyLocation in the order in which they were defined see cross referenced entries This or dering can be changed using NGlsSetXdyLocationClassOrder GlsSetXdyLocationClassOrder location names where each location name is delimited by double quote marks and separated by white space For example GlsSetXdyLocationClassOrder arabic page numbers arabic section numbers roman page numbers Roman page numbers alpha page numbers Alpha page numbers Appendix page numbers see Note that GlsSetXdyLocationClassOrder has no effect if noist is used or if mak
105. ertical lines around it super3colheader The super3colheader style is like super3col but has a header row super3colheaderborder The super3colheaderborder style is like the super3colheader style but has horizontal and vertical lines around it super4col The super4col style is like super3col but has an additional column in which the entry s associated symbol appears This style is designed for entries with brief single line descriptions The column widths are governed by the widest entry in the given column Use altsuper4col for multi line descriptions super4colborder The super4colborder style is like the super4col style but has horizontal and vertical lines around it super4colheader The super4colheader style is like super4col but has a header row 150 15 Glossary Styles super4colheaderborder The super4colheaderborder style is like the super4colheader style but has horizontal and vertical lines around it altsuper4col The altsuper4col style is like super4col but allows multi line descriptions and page lists The width of the descrip tion column is governed by the length glsdescwidth and the width of the page list column is governed by the length glspagelistwidth The width of the name and symbol columns is governed by the widest entry in the given column altsuper4colborder The altsuper4colborder style is like the super4colborder style but allows multi line descriptions and page lists altsuper4colheader The altsuper4co
106. es to their cor responding parent entry To create the document do latex sampletree makeglossaries sampletree latex sampletree 18 1 Introduction sample dual tex This document illustrates how to define an en try that both appears in the list of acronyms and in the main glossary To create the document do latex sample dual makeglossaries sample dual latex sample dual sample langdict tex This document illustrates how to use the glossaries package to create English to French and French to En glish dictionaries To create the document do latex sample langdict makeglossaries sample langdict latex sample langdict samplexdy tex This document illustrates how to use the glossaries package with xindy instead of makeindex The document uses UTF8 encoding with the inputenc package The encoding is picked up by makeglossaries By default this document will create a x indy style file called samplexdy xdy but if you uncomment the lines setStyleFile samplexdy mc noist GlsSetXdyLanguage it will set the style file to samplexdy mc xdy instead This provides an additional letter group for entries starting with Mc or Mac If you use makeglossaries you don t need to supply any additional information If you don t use makeglossaries you will need to specify the required infor mation Note that if you set the style file to samplexdy mc xdy you must also specif
107. est entry in the given column altlong4colborder The altlong4colborder style is like the long4colborder but allows multi line descriptions and page lists altlong4colheader The altlong4colheader style is like long4colheader but allows multi line descriptions and page lists altlong4colheaderborder The altlong4colheaderborder style is like long4colheaderborder but allows multi line descriptions and page lists 147 15 Glossary Styles 15 1 3 Longtable Styles Ragged Right The styles described in this section are all defined in the package glossary longragged These styles are analogous to those defined in glossary long but the multiline columns are left justified instead of fully justified Since these styles all use the longtable environment they are governed by the same parameters as that environment The glossary longragged package additionally requires the array package Note that these styles will only be available if you explicitly load glossary longragged usepackage glossaries Nusepackage glossary longragged Note that you can t set these styles using the style package option since the styles aren t defined until after the glossaries package has been loaded longragged The longragged style has two columns the first column contains the entry s name and the second column contains the left justified description followed by the number list The en try s symbol is ignored Sub groups are separated with a blank row The
108. ewglossaryentry n 58 64 69 73 longprovideglossaryentry jibe de ode Suede Sus 59 longtable environment 108 146 148 149 162 longtable package 44 146 M makefirstuc 40 89 makeglossaries 9 9 11 13 14 16 21 24 28 33 36 42 48 58 96 105 106 110 116 175 176 makeglossaries 28 35 56 62 74 75 96 97 106 IL 112 T4 115 E 175 makeglossariesgui ized rund 9 28 31 175 makeidx package 54 makeindex 9 9 11 13 14 16 21 23 27 30 32 34 37 42 46 48 49 56 58 61 62 67 74 76 79 98 105 106 116 143 153 157 175 176 MakeTextUppercase 40 markboth 40 memoirclass 40 41 memUChead 41 mfirstuc package mfirstucMakeUppercase 40 multicol package 154 multicols environment 154 N nameref package 42 newacronym 14 50 53 58 61 62 70 72 88 118 119 126 129 137 165 171 newacronymstyle 128 130 newdualentry 95 newglossary 32 39 35 111 113 116 newglossaryentry REES 8 14 45 46 54 58 58 62 64 69 71 72 76 81 118 119 128 166 newglossaryentry options ACCESS ENEE EE es 171 184 description 59 60 66 85 118 126 127 129 165 171 descriptionaccess 171 descriptionplural 60 66 171 descriptionpluralaccess 171 first 8 60 78 81 83 88 101 1
109. except that it always uses the value of the plural key Again insert is always appended to the end of the link text and does not mark the entry as having been used There are also analogous commands Glstext GLStext the hyperlink The command glsfirst Glsfirst GLSfirst the hyperlink The command glsplural Glsplural Glsplural options text insert GLSplural 6 Links to Glossary Entries GLSplural options text insert glsfirstplural As before these commands also have a starred version that disable the hyperlink The command glsfirstplural options label insert D Qo m 3 a ef o Q n u e 0 Ka A t P e D OH gt et 2 D a lt qi c D oO Ko 2 oO lt o zm E oO o SN er 2 oO firstplural key Again insert is always appended to the end of the link text and does not mark the entry as having been used There are also analogous commands Glsfirstplural GLSfirstplural Glsfirstplural options text insert GLSfirstplural options text insert glsname Glsname GLSname glssymbol As before these commands also have a starred version that disable the hyperlink The command glsname options label insert is similar to glstext except that it always uses the value of the text and does not mark the entr
110. f commands this will be treated by xindy as an empty sort string which produces an error mes sage in newer versions of xindy For example the following will cause a problem newglossaryentry alpha name ensuremath alpha description alpha Either use a different sort key for the entry for example newglossaryentry alpha sort alpha name ensuremath alpha description alpha or if all entries are like this you may prefer to use the sort use or sort def package options See Section 2 4 for further details of the sort option 4 Q I ve used the smallcaps option but the acronyms are dis played in normal sized upper case letters A The smallcaps package option uses textsc to typeset the acronyms This command converts lower case letters to small capitals while upper case letters remain their usual size There fore you need to specify the acronym in lower case letters 5 Q My acronyms won t break across a line when they re ex panded A PDFETgx can break hyperlinks across a line but IX can t If you can t use PDFI4TEX then disable the first use links using the package option hyperfirst false 6 Q How do I change the font that the acronyms are displayed in A The easiest way to do this is to specify the smaller package option and redefine acronymfont to use the required type setting command For example suppose you would like the acronyms displayed in a sans serif font then you can do
111. f glossaries used this technique to write infor mation to the files used by the indexing applications to prevent problems caused by fragile commands Now this is only used for the sort key Glossary xindy A flexible indexing application with multilingual support writ ten in Perl 10 1 Introduction The glossaries package is provided to assist generating glossaries It has a certain amount of flexibility allowing the user to customize the format of the glossary and define multiple glossaries It also sup ports acronyms and glossary styles that include symbols in addition to a name and description for glossary entries There is provision for loading a database of glossary terms Only those terms used in the document will be added to the glossary This package replaces the glossary package which is now obso lete Please see the document Upgrading from the glossary package to the glossaries package zlossary2glossaries pdf for assistance in upgrading One of the strengths of this package is its flexibility however the drawback of this is the necessity of having a large manual that can cover all the various settings If you are daunted by the size of the manual try starting off with the much shorter guide for beginners glossariesbegin pdf The glossaries package comes with a Perl script called makeglossaries This provides a convenient interface to the indexing applications makeindex or xindy It is strongly recommended tha
112. ffix to the value of the first field if the first field is present Note that if you use gls Gls GLS glsdisp before using glsp1l the firstplural value won t be used with glspl Note prior to version 1 13 the default value of firstplural was always taken by appending s to the first key which meant that you had to specify both plural and firstplural even if you hadn t used the first key symbol This field is provided to allow the user to specify an associ ated symbol If omitted the value is set to relax Note that not all glossary styles display the symbol 60 4 Defining Glossary Entries symbolplural This is the plural form of the symbol as passed to glsdisplay and glsdisplayfirst by Nglspl Glspl and NGLSpl If omitted the value is set to the same as the symbol key sort This value indicates how makeindex or xindy should sort this entry If omitted the value is given by the name field unless one of the package options sort def and sort use have been used In general it s best to use the sort key if the name contains com mands e g ensuremath alpha You can also override the sort key by redefining glsprestandardsort see Sec tion 2 4 type This specifies the label of the glossary in which this entry belongs If omitted the default glossary is assumed unless newacronym is used see Section 13 userl user6 Six keys provided for any additional information the user may want to speci
113. fixfirst key ifglshasprefixfirstplural ifglshasprefixfirstplural label true part false part Does true part if the entry identified by label has a non empty value for the prefixfirstplural key glsentryprefix glsentryprefix label Displays the value of the prefix key for the entry given by label No check is performed to determine if the entry exists glsentryprefixfirst glsentryprefixfirst label Displays the value of the prefixfirst key for the entry given by label No check is performed to determine if the entry exists glsentryprefixplural glsentryprefixplural label Displays the value of the prefixplural key for the entry given by label No check is performed to determine if the entry exists glsentryprefixfirstplural glsentryprefixfirstplural label Displays the value of the prefixfirstplural key for the entry given by label No check is performed to determine if the entry exists There are also variants that convert the first letter to upper case FE Glsentryprefix Glsentryprefix label Glsentryprefixfirst Glsentryprefixfirst label Glsentryprefixplural Glsentryprefixplural label Glsentryprefixfirstplural 2The earlier caveats about initial non Latin characters apply 169 17 Prefixes or Determiners Glsentryprefixfirstplural label As with analoguous comman
114. fy For example an associated dimension or an alternative plural or some other grammat ical construct Alternatively you can add new keys using glsaddkey see Section 4 3 Other keys are also provided by the glossaries prefix Section 17 and glossaries accsupp Sec tion 18 packages nonumberlist A boolean key If the value is missing or is t rue this will suppress the number list just for this entry Conversely if you have used the package option nonumberlist you can activate the number list just for this entry with nonumberlist false See Section 5 see Cross reference another entry Using the see key will automati cally add this entry to the glossary but will not automatically add the cross referenced entry The referenced entry should be supplied as the value to this key If you want to override the see tag you can supply the new tag in square brackets before the label For example see see also anotherlabel Note that if you have suppressed the number list the cross referencing information won t appear in the glossary as it forms part of the number list You can override this for individ ual glossary entries using nonumberlist false see above Alter natively you can use the seeautonumberlist package option For further details see Section 8 61 4 Defining Glossary Entries makeglossaries must be used before any occurrence of newglossaryentry that contains the see key The following keys are reserv
115. g options label insert Again there are also plural versions Nacrlongpl options label insert NAcrlongpl options label insert NACR10ngpl options label insert 120 13 Acronyms And for the full form acrfull acrfull options label insert This defaults to long acronymfont short The format in cluding hyperlinks can be modified by redefining acrfullfmt acrfullfmt options label insert There are also analogous upper case variants Acrfull Acrfull options label insert ACRfull NACR u11 options label insert The formats including hyperlinks can be modified by redefining Acrfullfmt Acrfullfmt options label insert ACRfullfmt ACRfullfmt options label insert As before there are also plural versions acrfullpl acrfullp1l options label insert Acrfullpl Acrfullp1l options label insert ACRfullpl ACRf ullp1 options label insert The formats including hyperlinks can be modified by redefining acrfullplfmt acrfullplfmt options label insert Acrfullplfmt Acrfullplfmt options label insert ACRfullplfmt ACRfullplfmt options label insert 121 13 Acronyms
116. ge newacronym description language used to describe the layout of a document written in a markup language css css Cascading Style Sheet The sample file sample custom acronym tex illustrates this example 13 2 Displaying the List of Acronyms The list of acronyms is just like any other type of glossary and can be displayed on its own using printglossary type acronymtype or with all the other glossaries using printglossaries If you use the acronym package option you can also use printacronyms options as a synonym for printglossary type acronymt ype options See Section 2 5 However care must be taken to choose a glossary style that s ap propriate to your acronym style Alternatively you can define your own custom style see Section 15 2 for further details 13 3 Upgrading From the glossary Package Users of the obsolete glossary package may recall that the syntax used to define new acronyms has changed with the replacement glossaries package In addition the old glossary package created the command acr name when defining the acronym acr name In order to facilitate migrating from the old package to the new one the glossaries package provides the command oldacronym label abbrv long key val list las from version 1 18 136 13 Acronyms This uses the same syntax as the glossary package s method of defin ing acronyms It is equivalent to new
117. gged3col but has an additional column in which the entry s associated symbol appears The column widths for the name and symbol column are governed by the widest entry in the given column altsuperragged4colborder The altsuperragged4colborder style is like the altsuperragged4col style but has horizontal and vertical lines around it altsuperragged4colheader The altsuperragged4colheader style is like alt superragged4col but has a header row altsuperragged4colheaderborder The altsuperragged4colheaderborder style is like altsuperragged4colheader but has horizontal and vertical lines around it 152 glstreeindent 15 Glossary Styles 15 1 6 Tree Like Styles The styles described in this section are all defined in the package glossary tree These styles are designed for hierarchical glossaries but can also be used with glossaries that don t have sub entries These styles will display the entry s symbol if it exists Note that these styles will automatically be available unless you use the notree or nostyles package options index The index style is similar to the way indices are usually format ted in that it has a hierarchical structure up to three levels the main level plus two sub levels The name is typeset in bold and if the symbol is present it is set in parentheses after the name and before the description Sub entries are indented and also include the name the symbol in brackets if present and the description Groups a
118. glossaries will be created Note that some of the commands provided by the glossaries package must be placed before makeglossaries as they are required when creating the customised style file If you attempt to use those commands after makeglossaries you will generate an error Similarly there are some commands that must be used after makeglossaries You can suppress the creation of the customised x indy or makeindex style file using Note that this command must be used before makeglossaries Note that if you have a custom xdy file created when using glossaries version 2 07 or below you will need to use the compatible 2 07 package option with it The default name for the customised style file is given by Vjobname ist for makeindex or jobname xdy for xindy This name may be changed using setStyleFil setStyleFile name where name is the name of the style file without the extension Note that this command must be used before makeglossaries 56 glsSetCompositor glsSetAlphaCompositor 3 Setting Up Each glossary entry is assigned a number list that lists all the lo cations in the document where that entry was used By default the location refers to the page number but this may be overridden using the counter package option The default form of the location number assumes a full stop compositor e g 1 2 but if your location numbers use a different compositor e g 1 2 you need to set thi
119. glsentrydesc 1 First letter upper case singular first use 130 13 Acronyms Nrenewcommand Genacrfullformat 2 firstacronymfont Glsentryshort 1 2 footnote glsentrylong 1l glsentrydesc 1 No case change plural first use Nrenewcommand genplacrfullformat 2 firstacronymfont glsentryshortpl 1 2 footnote glsentrylongpl 1 glsentrydesc 1 First letter upper case plural first use renewcommand Genplacrfullformat 2 firstacronymfont Glsentryshortpl 1 2 footnote glsentrylongpl 1 glsentrydesc 1 If you think it inappropriate for the short form to be capitalised at the start of a sentence you can change the above to No case change singular first use Nrenewcommand genacrfullformat 2 firstacronymfont glsentryshort 1 2 footnote glsentrylong 1 glsentrydesc 1 No case change plural first use Nrenewcommand genplacrfullformat 2 firstacronymfont glsentryshortpl 1 2 footnote glsentrylongpl 1 glsentrydesc 1 let Genacrfullformat genacrfullformat let Genplacrfullformat genplacrfullformat Another variation is to use Glsentrylongand Glsentrylongpl i
120. hange the entry s first use flag such as gls If local true the change to the first use flag will be localised to the current scope The default is local false 80 glslink gls Gls GLS 6 Links to Glossary Entries There is also a starred version glslink options label text which is equivalent to glslink except it sets hyper false Sim ilarly all the following commands described in this section also have a starred version that disables the hyperlink Don t use commands like gl slink or g1s in the fext argument of gl slink The command gls options t label insert is the same as gl slink except that the link text is determined from the values of the text and first keys supplied when the entry was de fined using newglossaryentry If the entry has been marked as having been used the value of the text key will be used otherwise the value of the first key will be used On completion g1s will mark the entry s first use flag as used There are two upper case variants G1s options t label insert nd Di GLS options t label insert which make the first letter of the link text or all the link text upper case respectively The final optional argument insert allows you to insert some ad ditional text into the link text By default this will append insert at the end of the link text but this can be changed see Section 6
121. he label of the entry being referenced glscustomtext This is the custom text supplied in glsdisp It s always empty for gls Nglspl and their upper case variants You can use etoolbox s ifdefempty to determine if glscustomtext is empty glsinsert 1 glsdisplayfirst and glsdisplay are now deprecated Backwards com patibility should be preserved but you may need to use the compatible 3 07 option glsifplural 6 Links to Glossary Entries The custom text supplied in the final optional argument to gls Nglspl and their upper case variants glsifplural true text false text glscapscase glsgenentryfmt glsgenacfmt genacrfullformat genplacrfullformat If glspl NGlspl or GLSp1 was used this command does true text otherwise it does false text Nglscapscase no case first uc all caps If gls glspl or glsdisp were used this does no case If NG1s or NGlspl were used this does first uc If GLS or NGLSpl were used this does all caps Note that you can also use commands such as Ni fglsused within the definition of gl sent ryfmt see Section 14 If you only want to make minor modifications to glsentryfmt you can use glsgenentryfmt This uses the above commands to display just the first text plural or firstplural keys or the custom text with the insert text appended Alternatively if want to change the entry format for acronyms de fined
122. he main glossary via commands such as g1s If you don t want to use this glos sary you can suppress its creation via the package option no main 13 Q It is possible to change the rules used to sort the glossary entries A If it s for an individual entry then you can use the entry s sort key to sort it according to a different term If it s for the entire alphabet then you will need to use xindy instead of makeindex and use an appropriate xindy language module Writing xindy modules or styles is beyond the scope of this manual Further information about xindy can be found at the Xindy Web Site There is also a link to the xindy mailing list from that site If you want to sort according to order of definition or order of use use the sort package option described in Section 2 4 14 Q I getan error when using TeX4HT with glossaries A TeX4HT seems to have a problem with the glossary styles that use indexspace I don t know enough about TeX4HT to find out why Either use a different glossary style or redefine the style command that uses indexspace For example if you are using the list style try Nrenewcommand glsgroupskip Shttp xindy sourceforge net 176 19 Troubleshooting or renewcommand glsgroupskip item 177 Index Symbols gls codepage 34 glsorder 34 istfilename 33 newglossary
123. hing prefixfirst The prefix associated with the first key If omitted this de faults to the value of the prefix key prefixfirstplural The prefix associated with the firstplural key If omit ted this defaults to the value of the prefixplural key Example 23 Defining Determiners Here s the start of my example document documentclass article usepackage colorlinks hyperref usepackage toc acronym glossaries prefix Note that I ve simply replaced glossaries from previous sample docu ments with glossaries prefix Now for a sample definition newglossaryentry sample name sample description an example prefix a prefixplural the space Note that I ve had to explicitly insert a space after the prefix This allows for the possibility of prefixes that shouldn t have a space such as D Single letter words such as a and T should typically not appear at the end of p a line hence the non breakable space after a in the prefix field 166 pgls Pgls PGLS pglspl 17 Prefixes or Determiners newglossaryentry oeil name oeil plural yeux description eye prefix 1 prefixplural les space Where a space is required at the end of the prefix you must use a spacing command such as space _ backslash space or due to the automatic spacing trimming performed in key value op tions The prefixes can also be used with acronyms For example
124. i lingual support than makeindex so xindy is recommended if you re not writing in English Commands that only have an effect when xindy is used are described in Section 11 27 1 Introduction This is a multi stage process but there are methods of automating document compilation using applications such as latexmk and arara See http www dickimaw books com latex thesis html build html for more information The glossaries package comes with the Perl script makeglossaries which will run makeindex or xindy on all the glossary files us ing a customized style file which is created by makeglossaries See Section 1 3 1 for further details Perl is stable cross platform open source software that is used by a number of TEX related applica tions Further information is available at http www perl org about html The advantages of using makeglossaries t automatically detects whether to use makeindex or xindy and sets the relevant application switches Onecall of makeglossaries will run makeindex xindy for each glossary type If things go wrong makeglossaries will scan the messages from makeindex or xindy and attempt to diagnose the prob lem in relation to the glossaries package This will hopefully pro vide more helpful messages in some cases If it can t diagnose the problem you will have to read the relevant transcript file and see if you can work it out from the makeindex or xindy messages There is also a Ja
125. ields glsnoexpandfields 4 Defining Glossary Entries Any keys that haven t had the expansion explicitly set using glssetexpandfieldor glssetnoexpandfield are governed by glsexpandfields and glsnoexpandfields If your entries contain any fragile commands I recommend you switch off expansion via glsnoexpandfields This should be used before you define the entries 4 5 Sub Entries As from version 1 17 it is possible to specify sub entries These may be used to order the glossary into categories in which case the sub entry will have a different name to its parent entry or it may be used to distinguish different definitions for the same word in which case the sub entries will have the same name as the parent entry Note that not all glossary styles support hierarchical entries and may display all the entries in a flat format Of the styles that support sub entries some display the sub entry s name whilst others don t Therefore you need to ensure that you use a suitable style See Section 15 for a list of predefined styles As from version 3 0 level 1 sub entries are au tomatically numbered in the predefined styles if you use the suben trycounter package option see Section 2 3 for further details Note that the parent entry will automatically be added to the glos sary if any of its child entries are used in the document If the parent entry is not referenced in the document it will not have a number li
126. ing with the format in the list of acronyms The simplest way is to redefine acronyment ry to the long form followed by the upper case short form in parentheses Nrenewcommand acronymentry 1 Glsentrylong 1 space MakeTextUppercase glsentryshort 1 I ve used Glsentrylong instead of glsentrylong to capitalise the name in the glossary An alternative approach is to set acronyment ry to just the long form and redefine GenericAcronymFields to set the symbol key to the short form and use a glossary style that displays the symbol in parentheses after the name such as the tree style like this renewcommand acronymentry 1 Glsentrylong 1 renewcommands GenericAcronymFields symbol protect MakeTextUppercase the glsshorttok I m going to use the first approach and set GenericAcronymFields to do nothing renewcommands GenericAcronymFields Finally this style needs to switch off hyperlinks on first use to avoid nested links glshyperfirstfalse 133 Putting this all together 13 Acronyms ifglshaslong glslabel glsgenacfmt renewcommands GenericAcronymFields glshyperfirstfalse renewcommand genacrfullformat 2 firstacronymfont glsentryshort 1 footnote glsentrylong 1 renewcommands Genacrfullformat 2
127. item lt gt Stuff end itemize end frame end document On the first overlay gls svm produces support vector ma chine SVM and then unsets the first use flag When the second overlay is processed gls svm now produces SVM which is un likely to be the desired effect I don t know anyway around this and 140 14 Unsetting and Resetting Entry Flags the only suggestion I can give is to explicitly reset each acronym on first use begin frame frametitle Frame 1 begin itemize item lt gt glsreset svm gls svm item lt gt Stuff end itemize end frame This is non optimal but the beamer class is too complex for me to suggest an alternative solution The amsmath environments such as align also process their contents multiple times but the glossaries package now checks for this 141 setglossarystyle glsdescwidth glspagelistwidth 15 Glossary Styles Glossaries vary from lists that simply contain a symbol with a terse description to lists of terms or phrases with lengthy descriptions Some glossaries may have terms with associated symbols Some may have hierarchical entries There is therefore no single style that fits every type of glossary The glossaries package comes with a num ber of pre defined glossary styles described in Section 15 1 You can choose one of these that best suits your type of glossary or if none of them suit your document you can define
128. its starred version abc Table 13 2 illustrates the effect of albc on subsequent use according to whether or not the xspace package has been loaded As can be seen from the final row in the table the xspace package prevents the optional argument from being recognised 2See David Carlisle s explanation in http tex stackexchange com questions 86565 drawbacks of xspace 137 13 Acronyms Table 13 2 The effect of using xspace with oldacronym Code abe abc xyz abc xyz abc xyz abc s XYZ With xspace abc abc xyz abc xyz Abc xyz abc s xyz 138 Without xspace abc abcxyz abc xyz Abc xyz abc s xyz 14 Unsetting and Resetting Entry Flags When using gls glsp1 and their upper case variants it is possible that you may want to use the value given by the first key even though you have already used the glossary entry Conversely you may want glsreset glsreset label glslocalreset glslocalreset label E ba on 2 oO gt zt oO H CH Di 3 en W Di o 2 oO lt oO a n lt o 5 oO o E pen 2 oO S o s 3 Re Q o H z Di 3 c n glsunset glsunset label glslocalunset glslocalunset label We Gs c a Bo m oO o em Hn O S d ao g b i o CG en 3 un b ir DO E CD 5 S H CD un E n D aq m 4 CD 5 aq o o un un Di H lt o n E un a o
129. ix If the first use uses the plural form glspl dm will display di agonal matrices DMs If you want to use the longplural or shortplural keys I recommend you use Nsetacronymstyle to set the display style rather than using one of the pre version 4 02 acronym styles 118 acrshort 13 Acronyms Since newacronym uses newglossaryentry you can use commands like gls and glsreset as with any other glossary en try Since newacronym sets type acronymt ype if you want to load a file containing acronym definitions using loadglsentries type filename the optional argument type will not have an effect unless you explicitly set the type as type glsdefaulttype in the optional argument to newacronym See Section 4 6 Example 17 Defining an Acronym The following defines the acronym IDN newacronym idn IDN identification number gls idn will produce identification number IDN on first use and IDN on subsequent uses If you want to use one of the small caps acronym styles described in Section 13 1 you need to use lower case characters for the shortened form newacronym idn idn identification number Now gls idn will produce identification number IDN on first use and IDN on subsequent uses There are commands similar to glstext described in Section 6 that allow you to access just the short form just the long form or the full form without affecting
130. lheader style is like super4colheader but allows multi line descriptions and page lists altsuper4colheaderborder The altsuper4colheaderborder style is like su per4colheaderborder but allows multi line descriptions and page lists 15 1 5 Supertabular Styles Ragged Right The styles described in this section are all defined in the package glossary superragged These styles are analogous to those defined in glossary super but the multiline columns are left justified instead of fully justified Since these styles all use the supertabular environment they are governed by the same parameters as that environment The glossary superragged package additionally requires the array package Note that these styles will only be available if you explicitly load glossary superragged usepackage glossaries usepackage glossary superragged Note that you can t set these styles using the style package option since the styles aren t defined until after the glossaries package has been loaded superragged The superragged style uses the supertabular environment defined by the supertabular package It has two columns the first column contains the entry s name and the second column contains the left justified description followed by the number list The entry s symbol is ignored Sub groups are separated with a blank row The width of the first column is governed by the widest entry in that column The width of the second 151 15 Glossary S
131. lossary package to the glossaries package glossaries user pdf This document is the main user guide for the glos saries package mfirstuc manual pdf The commands provided by the mfirstuc package are briefly described in mfirstuc sty uppercasing first letter glossaries code pdf Advanced users wishing to know more about the inner workings of all the packages provided in the glossaries bundle should read Documented Code for glossaries v4 03 This includes the documented code for the mfirstuc pack age INSTALL Installation instructions CHANGES Change log README Package summary If you use hyperref and glossaries you must load hyperref first Similarly the doc package must also be loaded before glossaries If doc is loaded the file extensions for the default main glossary are changed to g1s2 glo2 and glg2 to avoid conflict with doc s changes glossary If you are using hyperref it s best to use pdf latex rather than latex DVI format as pdflatex deals with hyperlinks much better If you use the DVI format you will encounter problems where you have long hyperlinks or hyperlinks in subscripts or superscripts This is an issue with the DVI format not with glossaries Other documents that describe using the glossaries package include Using LaTeX to Write a PhD Thesis and Glossaries Nomenclature Lists of Symbols and Acronyms Contents Glossary 1 Introduction LI 1 2 1 3 Sample Documents EE E Mu
132. lsentries but for each glossary in glossary list a comma separated list of glossary labels If glossary list is omitted the default is the list of all defined glossaries At each iteration cs is set to the entry label and body is performed The current glossary label can be obtained using glsentrytype cs within body E ifglossaryexists label true part false part 163 16 Utilities This checks if the glossary given by label exists If it does true part we is performed otherwise false part ifglsentryexists ifglsentryexists label true part false part This checks if the glossary entry given by label exists If it does true part is performed otherwise false part Note that ifglsentryexists will always be true after the containing glossary has been displayed via printglossary or printglossaries even if the entry is explicitly defined later in the document This is because the entry has to be defined before it can be displayed in the glossary see Sec tion 4 8 1 for further details glsdoifexists glsdoifexists label code Does code if the entry given by label exists If it doesn t exist an error is generated This command uses ifglsentryexists glsdoifnoexists glsdoifnoexists label code Does the reverse of Ng1sdoifexists This command uses ifglsentryexists glsdoifexistsorwarn glsdoifexistsorwanr label code
133. lti Lingual Support gt ec eee Rs 1 2 1 Changing the Fixed Names oo Generating the Associated Glossary Files 1 3 1 Using the makeglossaries Perl Script 13 2 Using xindy explicitly E ee ws 13 3 Using makeindex explicitly 1 3 4 Note to Front End and Script Developers Package Options 2l 22 2 3 24 2D 2 6 27 General OPHORS evi aa ee eee EE poe a Sectioning Headings and TOC Options Glossary Appearance Options Soran OBIONS eee eed ee EO ER SC k Acronym OpUORS Lom et REP ex SSeS 25 1 Deprecated Acronym Style Options Polis A mr Setting Options After the Package is Loaded Setting Up Defining Glossary Entries 4 1 4 2 4 3 44 4 5 4 6 4 7 Plurals uu erger sates Set ue pobre XS EL YO ee ona Other Grammatical Constructs EE Sec Kk vox oc eor ace ees Expansion s gt coe om A99 ee HPT EO Se ws Gabes eck ee eoo WS ee E E 55 Hierarchical Categories 2 22 4 2 28 55 2 BHomosraphs 2 9 3 Sheed Loading Entries From a File 5o rong E Moving Entries to Another Glossary 10 11 12 13 14 15 Contents 48 Drawbacks With Defining Entries in the Document En SISDNNHGBE ue Ria ft Meu we eg dr Roxio ROW ge A 4 8 1 Technical Issues 4 8 2 Good Practice Issues Number lists Links to Glossary Entries 6 1 Changing the format of the link text 6 2 Enabling and disabling hyperlinks to glossary entries
134. lts for this entry newglossaryentry jump name jump description 9 Need to override defaults on these entries newglossaryentry run name run ed ran ing running description newglossaryentry waddle name waddle ed waddled ing waddling description These entries can later be used in the document 65 glssetexpandfield glssetnoexpandfield 4 Defining Glossary Entries The dog glsed jump over the duck The duck was glsing waddle round the dog The dog glsed run away from the duck For a complete document see the sample file sampl1e newkeys tex 4 4 Expansion When you define new glossary entries expansion is performed by default except for the name description descriptionplural symbol sym bolplural and sort keys these keys all have expansion suppressed via glssetnoexpandfield You can switch expansion on or off for individual keys using glssetexpandfield field or glssetnoexpandfield field respectively where field is the field tag corresponding to the key In most cases this is the same as the name of the key except for those listed in table 4 1 Table 4 1 Key to Field Mappings Key Field sort sortvalue firstplural firstpl description desc descriptionplural descplural user1 useri user2 userii user3 useriii user4 useriv user5 userv user6 uservi longplural longpl shortplural shortpl glsexpandf
135. m o 5 gt D a E un amp z D the hyperlink The command glsuseri options label insert Glsuseri o Qo m 3 a e o Q u e 0 Ka A t P e oO ge E pt a D KG a Li qi c D D w gt oO lt o zm c oO o SN er 2 oO c o 2 oO lt gt Re E 3 insert is always appended to the end of the link text and does not mark the entry as having been used There are also analogous commands NGLSuseri Glsuseri options text insert NGLSuseri options text insert glsuserii glsuserii options text insert 85 Glsuserii 6 Links to Glossary Entries GLSuserii Glsuserii options text insert GLSuserii options text insert glsuseriii glsuseriii options text insert Glsuseriii Glsuseriii options text insert GLSuseriii glsuseriv Glsuseriv GLSuseriv glsuserv Glsuserv GLSuserv glsuservi GLSuseriii options text insert glsuseriv options text insert Glsuseriv options text insert GLSuseriv options text insert glsuserv options text insert Glsuserv options text insert GLSuserv options text insert
136. m is expandable unless the value of that key contains unexpand able commands The second form is not expandable Neither checks for the existence of label Nglossentrysymbol label This is like glsentrysymbol1 label but also checks for the ex istence of label i 4 g un Q S 3 3 D 5 a zz 5 o Q t x as D 5 S mm D un c LO oO a 5 Ge 5 oO ge u c Q D c Q n o D K D Si lt W e D Ko Ma o E Kg T D lt 5 oO D E en e NGlossentrysymbol label SS ez e 9 Bu ID E Ha B e E 9o da n 2 5 PH SW Li 2 3 28 5 H Bo ac St Sg o5 z CD e v S gt CD gt 5 un E Es ca e Rd S c m glsentrysymbolplural label Glsentrysymbolplural glsentryuseri Glsentrysymbolplural label These commands display the plural symbol for the glossary entry given by label Glsentrysymbolplural makes the first letter upper case The first form is expandable unless the value of that key contains unexpandable commands The second form is not expand able Neither checks for the existence of label Glsentryuseri glsentryuseri label Glsentryuseri label glsentryuserii glsentryuserii label Glsentryuserii Glsentryuserii label 103 glsentryuseriii 9 Using Glossary Terms Without Links glsentryuseriii label NGlsentryuseriii gl
137. machine long form Statistical pattern recognition technique description Now you can reference the acronym with gls svm or you can ref erence the entry in the main glossary with gls main svm 95 8 Cross Referencing Entries You must use makeglossaries before defining any cross referenced entries If any of the terms that you have cross referenced don t appear in the glossary check that you have put makeglossaries before all entry definitions There are several ways of cross referencing entries in the glossary 1 You can use commands such as g1s in the entries description For example newglossaryentry apple name apple description firm round fruit See also gls pear Note that with this method if you don t use the cross referenced term in the main part of the document you will need two runs of makeglossaries latex filename makeglossaries filename latex filename makeglossaries filename latex filename 2 As described in Section 4 you can use the see key when you define the entry For example newglossaryentry MaclaurinSeries name Maclaurin series description Series expansion see TaylorsTheorem Note that in this case the entry with the see key will automat ically be added to the glossary but the cross referenced entry won t You therefore need to ensure that you use the cross referenced term with the commands described in Section 6 or Section 7
138. n t use the longheaderborder style for this example as you can t use the longtable environment in two column mode 108 glsopenbrace glsclosebrace glsquote 11 Xindy If you want to use xindy to sort the glossary you must use the pack age option xindy usepackage xindy glossaries This ensures that the glossary information is written in x indy syntax Section 1 3 covers how to use the external indexing application This section covers the commands provided by the glossaries package that allow you to adjust the xindy style file xdy and parameters To assist writing information to the xindy style file the glossaries package provides the following commands glsopenbrace glsclosebrace which produce an open and closing brace This is needed because and don t expand to a simple brace character when written to a file In addition if you are using a package that makes the double quote character active e g ngerman you can use glsquote text which will produce fext Alternatively you can use string to write the double quote character This document assumes that the double quote character has not been made active so the examples just use for clarity If you want greater control over the x indy style file than is avail able through the TEX commands provided by the glossaries pack age you will need to edit the xindy style file In which case you must use noist to prevent the styl
139. n the document This provides a useful means to define acronyms For convenience the glossaries package defines the command newacronym key val list label abbrv long This uses newglossaryentry to create an entry with the given label in the glossary given by acronymtype You can specify a dif ferent glossary using the type key within the optional argument The newacronym command also uses the long longplural short and short plural keys in newglossaryentry to store the long and abbreviated forms and their plurals If you haven t identified the specified glossary type as a list of acronyms via the package option acronymlists or the command DeclareAcronymlList see Section 2 5 newacronym will add it to the list and reset the display style for that glossary via defglsentryfmt If you have a mixture of acronyms and regular entries within the same glossary care is needed if you want to change the display style you must first identify that glossary as a list of acronyms and then use defglsentryfmt not redefine glsentryfmt before defining your entries The optional argument key val list allows you to specify keys such as description when used with one of the styles that require a de scription described in Section 13 1 or you can override plural forms of abbrv or long using the shortplural or longplural keys For example newacronym longplural diagonal matrices dm DM diagonal matr
140. n the footnote instead of glsentrylong and glsentrylongpl Now let s suppose that commands such as glsentryfull and acrfull shouldn t use a footnote but instead use the format long short This means that the style needs to redefine glsentryfull acrfullfmt and their plural and upper case variants First the non linking commands Nrenewcommand glsentryfull 1 glsentrylong 1 space acronymfont glsentryshort 1 Nrenewcommand Glsentryfull 1 Glsentrylong 1 space acronymfont glsentryshort 1 renewcommand glsentryfullpl 1 glsentrylongpl 1 space 131 Nacronymfont g 13 Acronyms renewcommand NGlsentryfullpl 1 Glsentrylongpl 1 space Nacronymfont g oe Now for the linking commands renewcommands acrfullfmt 3 lsentryshortpl 1 lsentryshortpl 1 glslink 1 2 glsentrylong 2 3 space acronymfont glsentryshort 2 oe renewcommands Acrfullfmt 3 glslink 1 2 Glsentrylong 2 3 space acronymfont glsentryshort 2 ol renewcommands ACRfullfmt 3 glslink 1 2 MakeTextUppercase glsentrylong 2 3 space acronym d o Ww renewcomma glslink glsentrylongpl 2
141. ng something like The main glossary is in section ref main and the list of acronyms is in section ref acronym If you can t decide whether to have the acronyms in the main glossary or a separate list of acronyms you can use Nacronymtype which is set to main if the acronym option is not used and is set to acronym if the acronym option is used For example The list of acronyms is in section ref acronymtype You can redefine the prefix if the default label clashes with another label in your document For example Nrenewcommand Nglsautoprefix glo 41 glossaryentry glsrefentry 2 Package Options will add glo to the automatically generated label so you can then for example refer to the list of acronyms as fol lows The list of acronyms is in section ref glo acronymtype Or if you are undecided on a prefix The list of acronyms is in section ref glsautoprefix acronymtype nameref this is like autolabel but uses an unnumbered sec tioning command e g chapter or sections It s designed for use with the nameref package For example usepackage nameref usepackage numberedsection nameref glossaries Now nameref main will display the TOC section ti tle associated with the main glossary As above you can redefine glsautoprefix to provide a prefix for the la bel 2 3 Glossary Appearance Options entrycounter This is a boolean option Default is entrycounter false If set
142. nitions of commands like genacrfullformat Note that when you use setacronymstyle the name key is set o cr acronymentry label and the sort key is set to acronymsort short long These commands are redefined by the acronym styles However you can redefine them again after the style has been set but be fore you use newacronym Protected expansion is performed on acronymsort when the entry is defined 13 1 1 Predefined Acronym Styles The glossaries package provides a number of predefined styles These styles apply firstacronymfont text to the short form on first use and acronymfont text on subsequent use The styles modify the definition of acronymfont as required but firstacronymfont is only set once by the pack age when it s loaded By default firstacronymfont text is 124 13 Acronyms the same as acronymfont text If you want the short form dis played differently on first use you can redefine firstacronymfont independently of the acronym style The predefined styles that contain sc in their name for example long sc short redefine acronymfont to use textsc so the short form needs to be specified in lower case Some fonts don t support bold smallcaps so you may need to redefine glsnamefont see Section 10 to switch to medium weight if you are using a glossary style that displays entry names in bold and you have chosen an acronym style that u
143. notation not ntn Notation The values must be fully expanded so don t try nohypertypes acronymtype You may also use 38 2 Package Options GlsDeclareNoHyperList list instead or additionally See Section 6 for further details savenumberlist This is a boolean option that specifies whether or not to gather and store the number list for each entry The de fault is savenumberlist false See glsentrynumberlist and Nglsdisplaynumberlist in Section 9 2 2 Sectioning Headings and TOC Options toc Add the glossaries to the table of contents Note that an extra IATEX run is required with this option Alternatively you can switch this function on and off using glstoctrue olishoce rue and glstocfalse glstocfalse numberline When used with toc this will add numberline in the final argument of Naddcontentsline This will align the table of contents entry with the numbered section titles Note that this option has no effect if the toc option is omitted If toc is used without numberline the title will be aligned with the section numbers rather than the section titles section This is a key value option Its value should be the name of a sectional unit e g chapter This will make the glossaries ap pear in the named sectional unit otherwise each glossary will appear in a chapter if chapters exist otherwise in a section Un numbered sectional units will be used by default Example usepack
144. ommands within a group Note that you should only use glsenablehyper if the commands hyperlink and hypertarget have been defined for example by the hyperref package You can disable just the first use links using the package option hy perfirst false Note that this option only affects commands that recog nise the first use flag for example gls gl spl and glsdisp but not glslink Example 8 First Use With Hyperlinked Footnote Description Suppose I want the first use to have a hyperlink to the description in a footnote instead of hyperlinking to the relevant place in the glos sary First I need to disable the hyperlinks on first use via the package option hyperfirst false usepackage hyperfirst false glossaries Now I need to redefine glsentryfmt see Section 6 1 renewcommand glsentryfmt glsgenentryfmt ifglsused glslabel footnote glsentrydesc glslabel Now the first use won t have hyperlinked text but will be followed by a footnote See the sample file samp1e FnDesc tex for a com plete document 6 Links to Glossary Entries Note that the hyperfirst option applies to all defined glossaries It may be that you only want to disable the hyperlinks on first use for glossaries that have a different form on first use This can be achieved by noting that since the entries that require hyperlinking for all in stances have identical first and subsequent text they can be unset via gls
145. ort key set to the short form Then I need to specify the footnote sc desc style setacronymstyle footnote sc desc 127 13 Acronyms and then redefine acronymsort and acronymentry renewcommands acronymsort 2 1 sort by short form Nrenewcommand Nacronymentry 1 acronymfont glsentryshort 1 space glsentrylong 1 I ve used space for extra clarity but you can just use an actual space instead Since the default Computer Modern fonts don t support bold smallcaps I m also going to redefine acronymfont so that it al ways switches to medium weight to ensure the smallcaps setting is used renewcommands acronymfont 1 textmd scshape 1 This isn t necessary if you use a font that supports bold smallcaps The sample file sampleFnAcrDesc tex illustrates this example 13 1 2 Defining A Custom Acronym Style You may find that the predefined acronyms styles that come with the glossaries package don t suit your requirements In this case you can define your own style using newacronymstyle newacronymstyle style name display t definitions where style name is the name of the new style avoid active charac ters The second argument display is equivalent to the mandatory argument of defglsentryfmt You can simply use glsgenacfmt or you can customize the display using commands like ifglsused glsifplural and glscapscase See Section 6 1 for further
146. ou are writing in a language that uses accented characters or non Latin characters it is recommended that you use xindy as mnakeindex is hard coded for Latin languages This means that you are not restricted to the A Z letter groups If you want to use xindy remember to use the xindy package option For example documentclass frenchb article Nusepackage ut f8 inputenc Nusepackage T1 fontenc Nusepackage babel Nusepackage xindy glossaries Note that although an accented character such as looks like a plain character in your tex file it s actually a macro and can therefore cause expansion problems You may need to switch off the field expansions with Ng1snoexpandfields If you use an accented or other expandable character at the start of an entry name you must place it in a group or it will cause a problem for commands that convert the first letter to upper case e g G1s due to expansion issues For example newglossaryentry elite name lite description select group or class 23 1 Introduction If you use the inputenc package makeglossaries will pick up the encoding from the auxiliary file If you use xindy explicitly instead of via makeglossaries you may need to specify the encoding us ing the C option Read the xindy manual for further details 1 2 1 Changing the Fixed Names As from version 1 08 the glossaries package now has limited multi lingual support thanks to all th
147. ox package For a com plete document see the sample file sampleSort tex Example 2 Customizing Standard Sort Suppose you want a glossary of people and you want the names listed as first name surname in the glossary but you want the names sorted by surname first name You can do this by defining a command called say name first name surname that you can use in the name key when you define the entry but hook into the standard sort mechanism to temporarily redefine name while the sort value is being set First define two commands to set the person s name 2 1 1 2 newcommand sortname 2 newcommand textname 2 and name needs to be initialised to textname let name textnam 47 2 Package Options Now redefine glsprestandardsort so that it temporarily sets name to sortname and expands the sort value then sets name to textname so that the person s name appears as first name surname in the text renewcommand glsprestandardsort 3 let name sortname edef 1 expandafter expandonce expandafter 1 let name textnam glsdosanitizesort md The somewhat complicate use of expandafter etc helps to protect fragile commands but care is still needed Now the entries can be defined newglossaryentry joebloggs name name Joe Bloggs description some information about Joe Bloggs newglossaryentry johnsmith
148. re separated using indexspace indexgroup The indexgroup style is similar to the index style except that each group has a heading indexhypergroup The indexhypergroup style is like indexgroup but has a set of links to the glossary groups The navigation line is the same as that for listhypergroup described above tree The tree style is similar to the index style except that it can have arbitrary levels Note that makeindex is limited to three lev els so you will need to use xindy if you want more than three levels Each sub level is indented by glstreeindent Note that the name symbol if present and description are placed in the same paragraph block If you want the name to be apart from the description use the alttree style instead See below treegroup The treegroup style is similar to the tree style except that each group has a heading treehypergroup The treehypergroup style is like treegroup but has a set of links to the glossary groups The navigation line is the same as that for listhypergroup described above treenoname The treenoname style is like the tree style except that the name for each sub entry is ignored treenonamegroup The treenonamegroup style is similar to the treenon ame style except that each group has a heading treenonamehypergroup The treenonamehypergroup style is like treenon amegroup but has a set of links to the glossary groups The navi gation line is the same as that for listhypergroup de
149. ref 42 nolabel 41 numberline 39 numbers 35 54 117 Older uera Rex 48 letter 18 30 48 word 18 30 48 sanitizesort 36 46 falS amp s eem 36 46 true e 36 savenumberlist 39 105 false lll 39 savewrites 36 37 falSG us eee dd 36 section 39 107 seeautonumberlist 45 61 97 shortcuts ol I2 smallcaps 51 53 55 174 smaller 51 53 174 175 SOM AS REUS 45 174 176 def 45 46 61 69 174 standard 45 46 use 45 46 61 69 174 style 43 44 106 142 148 151 ASE oe ds eem 43 subentrycounter 43 67 69 142 159 160 falS amp rv 43 symbols 35 53 117 Ve sem dores 39 106 translate 37 38 55 babel 24 25 27 37 38 175 false 24 27 37 38 TUG ous aos ose eh 37 38 ucfirst 41 Index HESE ee ie er e 40 f lSo iaaii n i ana e aaa 40 UNENEE 40 xindy 21 23 30 32 48 49 55 57 109 111 115 xindygloss 49 55 xindynoglsnumbers 49 55 page counter 113 pagelistname 26 pdflatex i es 2 77 NPGEBS Lieu UR REN ee 167 PGLS oe ese ces 167 Npals EE eer AEN EEN 167 IPGL pI wa Qiao va epa 168 XAPGISQl cde d e AE nie 168 Keplept sonics sae EC as 167 pod2man wae knew sa was eed 31 polyglossia package 24 27 37 38 printacronyms
150. rnal files See Section 1 3 for further details New glossary entries are defined using the command newglossaryentry label key value list This is a short command so values in key val list can t contain any paragraph breaks If you have a long description that needs to span multiple paragraphs use longnewglossaryentry label key value list long description instead Note that unlike newglossaryentry the command longnewglossaryentry may only be used in the preamble Be careful of unwanted spaces longnewglossaryentry will re move trailing spaces in the description via unskip but won t re move leading spaces otherwise it would interfere with commands like Glsentrydesc 1The only preamble restriction on newglossaryentry and newacronym was removed in version 1 13 but the restriction remains for loadglsentries See Section 4 8 for a discussion of the problems with defining entries within the doc ument instead of in the preamble Except possibly the style file but then you ll need to use noist to prevent your changes from being overwritten 58 provideglossaryentry 4 Defining Glossary Entries There are also commands that will only define the entry if it hasn t already been defined provideglossaryentry label key value list and longprovideglossaryentry nopostdesc glspar longprovideglossaryentry label key value list long
151. rned by the widest entry in that column the width of the second column is governed by the length glsdescwidth and the width of the third column is governed by the length glspagelistwidth long3colborder The long3colborder style is like the long3col style but has horizontal and vertical lines around it long3colheader The long3colheader style is like long3col but has a header row long3colheaderborder The long3colheaderborder style is like long3colheader but has horizontal and vertical lines around it long4col The long4col style is like long3col but has an additional col umn in which the entry s associated symbol appears This style is used for brief single line descriptions The column widths are governed by the widest entry in the given column Use alt long4col for multi line descriptions long4colborder The long4colborder style is like the long4col style but has horizontal and vertical lines around it long4colheader The long4colheader style is like long4col but has a header row long4colheaderborder The long4colheaderborder style is like long4colheader but has horizontal and vertical lines around it altlong4col The altlong4col style is like long4col but allows multi line descriptions and page lists The width of the description col umn is governed by the length glsdescwidth and the width of the page list column is governed by the length glspagelistwidth The widths of the name and symbol columns are governed by the wid
152. rstLetterAfterDigits GlsSetXdyFirstLetterAfterDigits letter Note that GlsSetXdyFirstLetterAfterDigits has no effect if noist is used or if makeglossaries is omitted GlsSetXdyFirstLetterAfterDigits must be used before makeglossaries 115 newglossary altnewglossary acronymtype 12 Defining New Glossaries A new glossary can be defined using newglossary log ext name in ext out ext title counter where name is the label to assign to this glossary The argu ments in ext and out ext specify the extensions to give to the in put and output files for that glossary title is the default title for this new glossary and the final optional argument counter specifies which counter to use for the associated number lists see also Sec tion 5 The first optional argument specifies the extension for the makeindex or xindy transcript file this information is only used by makeglossaries which picks up the information from the auxiliary file The glossary label name must not contain any active characters It s generally best to stick with just characters that have category code 11 typically a z and A Z You can also use altnewglossary name tag title counter This is equivalent to newglossary tag glg t name tag g1s tag glo title counter Note that the main default glossary is automatically
153. rstplural or text plural keys Note that an entry can be used without affecting the first use flag for example when used with glslink See Section 14 for commands that unset or reset this conditional The command glslink glslink options label text will place glstext format fext in the document at that point and add a line into the associated glossary file for the glossary entry given by label If hyperlinks are supported text will be a hyperlink to the relevant line in the glossary Note that this command doesn t affect the first use flag use glsdisp instead The optional argu ment options must be a key value list which can take any of the following keys format This specifies how to format the associated location number for this entry in the glossary This value is equivalent to the 6 Links to Glossary Entries makeindex encap value and as with index the value needs to be the name of a command without the initial backslash As with index the characters and can also be used to spec ify the beginning and ending of a number range Again as with index the command should be the name of a command which takes an argument which will be the associated loca tion Be careful not to use a declaration such as bfseries instead of a text block command such as textbf as the effect is not guaranteed to be localised If you want to apply more than one style to a given entry e g bold
154. ry This means that you can for example move an entry to an undefined glossary so you can use the entry in the document text but not have it listed in any of the glossaries Maybe you have an acronym that is so common it doesn t need listing If you move an entry to an undefined glossary and you have hyperlinked entries the link will point to an undefined target Unless you identify that glossary using nohypertypes or GlsDeclareNoHyperList as described in Section 6 Also you will get warnings about no file defined for that glossary unless you use the nowarn package option Unpredictable results may occur if you move an entry to a different glossary from its parent or children 4 8 Drawbacks With Defining Entries in the Document Environment Originally newglossaryentry and newacronym could only be used in the preamble I reluctantly removed this restriction in ver sion 1 13 but there are issues with defining commands in the docu ment environment instead of the preamble 4 8 1 Technical Issues 1 If you define an entry mid way through your document but subsequently shuffle sections around you could end up using an entry before it has been defined 2 Entry information is required when the glossary is displayed using printglossary or printglossaries Wheneither of these commands occur at the start of the document the entry details are being looked up before the entry has been defined To overcome these pro
155. s setglossarystyle mcoltree nonumberlist This option will suppress the associated number lists in the glossaries see also Section 5 44 2 Package Options seeautonumberlist If you suppress the number lists with nonumberlist described above this will also suppress any cross referencing information supplied by the see key in newglossaryentry or glssee If you use seeautonumberlist the see key will auto matically implement nonumberlist false for that entry Note this doesn t affect gl ssee For further details see Section 8 counter This is a key value option Default is counter page The value should be the name of the default counter to use in the number lists see Section 5 nopostdot This is a boolean option If no value is specified t rue is assumed When set to t rue this option suppresses the default post description dot used by some of the predefined styles The default setting is nopostdot false nogroupskip This is a boolean option If no value is specified t rue is assumed When set to t rue this option suppresses the default vertical gap between groups used by some of the predefined styles The default setting is nogroupskip false 2 4 Sorting Options sort This is a key value option where the option can only have one of the following values e standard entries are sorted according to the value of the sort key used in newglossaryentry if present or the name key if sort key is missing
156. s package Don t use this option if you re new to using glossaries as the warnings are designed to help detect common mistakes such as forgetting to use makeglossaries nomain This suppresses the creation of the main glossary and asso ciated glo file if unrequired Note that if you use this op tion you must create another glossary in which to put all your entries either via the acronym or acronyms package option de scribed in Section 2 5 or via the symbols numbers or index options described in Section 2 6 or via newglossary described in Sec tion 12 35 2 Package Options If you don t use the main glossary and you don t use this option makeglossaries will produce the following warning Warning File filename glo is empty Have you used any entries defined in glossar main Remember to use package option nomain if you don t want to use the main glossary If you did actually want to use the main glossary and you see this warning check that you have referenced the entries in that glossary via commands such as g1s sanitizesort This is a boolean option that determines whether or not to sanitize the sort value when writing to the external glossary file For example suppose you define an entry as follows newglossaryentry hash name sort description hash symbol The sort value must be sanitized before writing it to the glos sary file otherwise IATEX will try to interpret it as
157. s glossary as glsgroupskip is redefined by st yle long Like wise setglossarystyle will also override any previous style definitions so again Nrenewcommand glsgroupskip setglossarystyle long will reset glsgroupskip back to its default definition for the named glossary style long in this case If you want to modify the styles either use newglossarystyle described in the next sec tion or make the modifications after set glossarystyle e g setglossarystyle long renewcommands glsgroupskip As from version 3 03 you can now use the package option nogroupskip to suppress the gap between groups for the default styles instead of redefining gl sgroupskip All the styles except for the three and four column styles and the listdotted style use the command glspostdescription after the description This simply displays a full stop by default To eliminate this full stop or replace it with something else say a comma you will need to redefine glspostdescription before the glossary is displayed Alternatively you can suppress it for a given entry by placing nopostdesc in the entry s description As from version 3 03 you can now use the package option nopostdot to suppress this full stop 15 1 1 List Styles The styles described in this section are all defined in the package glossary list Since they all use the description environment they are governed by the same parameters as that environment The
158. s not loaded by glossaries If you want to use any of the multicol styles in that package you need to load it explicitly with usepackage and set the required glossary style using Nsetglossarystyle The default number of columns is 2 but can be changed by redefin ing glsmcols to the required number For example for a three column glossary 154 15 Glossary Styles usepackage glossary mcols Nrenewcommand glsmcols 3 setglossarystyle mcolindex Table 15 2 Multicolumn Styles glossary mcols Style Analogous Tree Style mcolindex index mcolindexgroup indexgroup mcolindexhypergroup indexhypergroup mcoltree tree mcoltreegroup treegroup mcoltreehypergroup treehypergroup mcoltreenoname treenoname mcoltreenonamegroup treenonamegroup mcoltreenonamehypergroup treenonamehypergroup moolalttree alttree mcolalttreegroup alttreegroup mcolalttreehypergroup alttreehypergroup 15 1 8 In Line Style This section covers the glossary inline package that supplies the inline style This is a style that is designed for in line use as opposed to block styles such as lists or tables This style doesn t display the number list You will most likely need to redefine glossarysection with this style For example suppose you are required to have your glos saries and list of acronyms in a footnote you can do Nusepackage glossary inline Nrenewcommand Nglossarysection 2 Nctextbf 41 setglossarystyle inline No
159. s support multi line descriptions If you are using one of the tabular like glossary styles that permit multi line descriptions use newline not if you want to force a line break parent The label of the parent entry Note that the parent entry must be defined before its sub entries See Section 4 5 for further de tails descriptionplural The plural form of the description if required If omitted the value is set to the same as the description key text How this entry will appear in the document text when using gls or one of its upper case variants If this field is omitted the value of the name key is used first How the entry will appear in the document text on first use with gls or one of its upper case variants If this field is omitted the value of the text key is used Note that if you use glspl Glspl NGLSpl glsdisp before using g1s the firstplural value won t be used with Ng1s plural How the entry will appear in the document text when using glsp1 or one of its upper case variants If this field is omit ted the value is obtained by appending glspluralsuffix to the value of the text field The default value of glspluralsuffix is the letter s firstplural How the entry will appear in the document text on first use with glsp1 or one of its upper case variants If this field is omitted the value is obtained from the plural key if the first key is omitted or by appending glspluralsu
160. s using glsSetCompositor symbol For example glsSetCompositor Note that this command must be used before makeglossaries If you use xindy you can have a different compositor for page numbers starting with an upper case alphabetical character using glsSetAlphaCompositor symbol Note that this command has no effect if you haven t used the xindy package option For example if you want number lists containing a mixture of A 1 and 2 3 style formats then do glsSetCompositor glsSetAlphaCompositor See Section 5 for further information about number lists newglossaryentry longnewglossaryentry 4 Defining Glossary Entries All glossary entries must be defined before they are used so it is bet ter to define them in the preamble to ensure this However only those entries that occur in the document using any of the commands described in Section 6 Section 7 or Section 8 will appear in the glos sary Each time an entry is used in this way a line is added to an as sociated glossary file 910 which then needs to be converted into a corresponding gls file which contains the typeset glossary which is input by printglossary or printglossaries The Perl script makeglossaries can be used to call makeindex or xindy using a customised indexing style file for each of the glossaries that are de fined in the document Note that there should be no need for you to explicitly edit or input any of these exte
161. sary Entries Table 6 1 Predefined Hyperlinked Location Formats hyperrm serif hyperlink hypersf sans serif hyperlink hypertt monospaced hyperlink hyperbf bold hyperlink hypermd medium weight hyperlink hyperit italic hyperlink hypersl slanted hyperlink hyperup upright hyperlink hypersc small caps hyperlink hyperemph emphasized hyperlink want the location number to be in a bold sans serif font you can define a command called say nyperbsf newcommand hyperbsf 1 textbf hypersf 1 and then use hyperbs f as the value for the format key See also section 1 15 Displaying the glossary in the documented code glossaries code pdf Remember that if you use xindy you will need to add this to the list of location attributes GlsAddXdyAttribute hyperbsf counter This specifies which counter to use for this location This overrides the default counter used by this entry See also Sec tion 5 hyper This is a boolean key which can be used to enable disable local the hyperlink to the relevant entry in the glossary Note that setting hyper true will have no effect if nyperlink has not been defined The default value is hyper true un less the entry belongs to a glossary that either has been listed in the package option nohypertypes or has been identified us ing GlsDeclareNoHyperList in which case the default is hyper false This is a boolean key that only makes a different when used with commands that c
162. sary postamble defined by glossarypostamble For example the list style uses the description environment so the theglossary envi ronment is simply redefined to begin and end the description environ ment glossaryheader This macro indicates what to do at the start of the main body of the glossary Note that this is not the same as glossarypreamble 156 glsgroupheading glsgetgrouptitle glsnavhypertarget 15 Glossary Styles which should not be affected by changes in the glossary style The list glossary style redefines glossaryheader to do nothing whereas the longheader glossary style redefines glossaryheader to doa header row glsgroupheading label This macro indicates what to do at the start of each logical block within the main body of the glossary If you use makeindex the glos sary is sub divided into a maximum of twenty eight logical blocks that are determined by the first character of the sort key or name key if the sort key is omitted The sub divisions are in the following or der symbols numbers A Z If you use x indy the sub divisions depend on the language settings Note that the argument to Ng1sgroupheading is a label not the group title The group title can be obtained via glsgetgrouptitle label This obtains the title as follows if label consists of a single non active character or label is equal to glssymbols or glsnumbers and label groupname exists this is taken
163. sary type This example adds the glossary to the table of contents so an extra IATEX run is required latex sampleNtn makeglossaries sampleNtn latex sampleNtn latex sampleNtn Note that if you don t have Perl installed you will need to use makeindex twice instead of a single call to makeglossaries 17 1 Introduction 1 Create the main glossary all on one line makeindex s sampleNtn ist t sampleNtn glg o sampleNtn gls sampleNtn glo 2 Create the secondary glossary all on one line makeindex s sampleNtn ist t sampleNtn nlg o sampleNtn not sampleNtn ntn sample tex This document illustrates some of the basics includ ing how to create child entries that use the same name as the parent entry This example adds the glossary to the table of con tents and it also uses glsrefentry so an extra ATEX run is required latex sample makeglossaries sample latex sample latex sample You can see the difference between word and letter ordering if you substitute order word with order letter Note that this will only have an effect if you use makeglossaries If you use makeindex explicitly you will need to use the 1 switch to indicate letter ordering sample inline tex This document is like sample tex above but uses the inline glossary style to put the glossary in a footnote sampletree tex This document illustrates a hierarchical glossary structure where child entries have different nam
164. scribed above 153 glssetwidest glsmcols 15 Glossary Styles alttree The alttree style is similar to the tree style except that the in dentation for each level is determined by the width of the text specified by glssetwidest level text The optional argument level indicates the level where 0 indi cates the top most level 1 indicates the first level sub entries etc If glssetwidest hasn t been used for a given sub level the level 0 widest text is used instead If level is omitted 0 is assumed For each level the name is placed to the left of the paragraph block containing the symbol optional and the description If the symbol is present it is placed in parentheses before the de scription alttreegroup The alttreegroup is like the alttree style except that each group has a heading alttreehypergroup The alttreehypergroup style is like alttreegroup but has a set of links to the glossary groups The navigation line is the same as that for listhypergroup described above 15 1 7 Multicols Style The glossary mcols package provides tree like styles that are in the mul ticols environment defined by the multicol package The style names are as their analogous tree styles as defined in Section 15 1 6 but are prefixed with mcol For example the mcolindex style is essentially the index style but put in a multicols environment For the complete list see table 15 2 Note that glossary mcols i
165. se 39 glsplural 83 XglstoGtf e suu one Sees 39 glspluralsuffix 60 62 glstreeindent 153 glspostdescription 144 NglsunsSt fs sde ee bade 139 glspostinline 156 156 glsunsetall 92 139 glsprestandardsort 46 61 GlsUseAcrEntryDispStyle glsquote JUS nt he Sa EE 129 glsrefentry 18 42 43 GlsUseAcrStyleDefs 129 glsreset 119 139 GLSUSEri sece ke tt AEN 85 glsresetall 139 NGlsuseri s s 85 glsresetentrycounter 43 NglsuSerl ed ee de tapi 85 glssee 11 45 79 97 97 GLSuserii 86 glsseeformat 8 98 99 Glsuserii 86 glsseeitemformat 98 NOLSUSEPLE shew ae gta 85 glsseelastsep 98 GLSuseriii 86 glsseelist 8 99 Glsuseriii 86 glsseesep 98 glsuseriii 86 glsSetAlphaCompositor 57 NGLSuseriv caudate cures 86 glsSetCompositor 57 Glsuseriv 86 glssetexpandfield 66 glsuseriv 86 glssetnoexpandfield 66 NGLSuserv wo ee ee eee 86 glsSetSuffixF 74 NGISUSefV iexeceuem 86 glsSetSuffixFF 74 AglsusServ swa pex cy 86 glssetwidest 154 NGLSuservi 86 GlsSetXdyCodePage 30 49 110 NGlsuservi e den dunes 86 GlsSetXdyFirstLetterAfterDigit s suservi 86 bou Obed eee ee 115 GlsSetXdyLanguage H s 30 49 55 110 html package 91
166. se styles all ignore the entry s symbol Note that these styles will automatically be available unless you use the nolist or nostyles package options 144 15 Glossary Styles list The list style uses the description environment The entry name is placed in the optional argument of the item command so it will usually appear in bold by default The description follows and then the associated number list for that entry The symbol is ignored If the entry has child entries the description and num ber list follows but not the name for each child entry Groups are separated using indexspace listgroup The listgroup style is like list but the glossary groups have headings listhypergroup The listhypergroup style is like listgroup but has a navi gation line at the start of the glossary with links to each group that is present in the glossary This requires an additional run through DIN to ensure the group information is up to date In the navigation line each group is separated by glshypernavsep glshypernavsep which defaults to a vertical bar with a space on either side For example to simply have a space separating each group do Nrenewcommand glshypernavsep space Note that the hyper navigation line is now as from version 1 14 set inside the optional argument to item instead of after it to prevent a spurious space at the start This can be changed by redefining glossaryheader but note that this needs to be don
167. sed in the first argument of newglossaryentry Redefining glsprestandardsort won t affect any entries that have already been defined and will have no effect at all if you are using sort def or sort use Example 1 Mixing Alphabetical and Order of Definition Sorting Suppose I have three glossaries main acronymand notation and let s suppose I want the main and acronym glossaries to be sorted alphabetically but the notation type should be sorted in order of definition I can set the sort to standard which is the default but can be explicitly set via the package option sort standard and I can either define all my main and acronym entries then redefine glsprestandardsort to set sort cs to an incremented integer and then define all my notation entries Alternatively I can redefine glsprestandardsort to check for the glossary type and only modify sort cs if type is notation The first option can be achieved as follows 46 2 Package Options newcounter sortcount renewcommand glsprestandardsort 3 stepcounter sortcount edef 1 glssortnumberfmt arabic sortcount The second option can be achieved as follows newcounter sortcount renewcommand glsprestandardsort 3 ifdefstring 2 notation stepcounter sortcount edef 1 glssortnumberfmt arabic sortcount An oe oo glsdosanitizesort oo ifdefstring is defined by the etoolb
168. sentryuseriv Glsentryuseriv glsentryuserv Glsentryuserv glsentryuservi Glsentryuseriii label glsentryuseriv label Glsentryuseriv label glsentryuserv label Glsentryuserv label glsentryuservi label Glsentryuservi glshyperlink Glsentryuservi label These commands display the value of the user keys for the glossary entry given by label The lower case forms are expandable unless the required value to upper case and are not expandable None of these commands check for the existence of label Nglshyperlink link text label This command provides a hyperlink to the glossary entry given by label but does not add any information to the glossary file The link text is given by glsentrytext label by default but can be overridden using the optional argument lversions before 3 0 used glsentryname as the default but this could cause problems when name had been sanitized 104 glsentrynumberlist glsdisplaynumberlist glsnumlistsep glsnumlistlastsep 9 Using Glossary Terms Without Links If you use glshyperlink you need to ensure that the relevant entry has been added to the glossary using any of the commands described in Section 6 or Section 7 otherwise you will end up with an undefined link The next two commands are only available with the savenumberlist package option Nglsentrynumberlist label
169. ses textsc The predefined styles that contain sm in their name for example long sm short redefine acronymfont to use textsmaller Note that the glossaries package doesn t define or load any package that defines text smaller If you use one of the acronym styles that set acronymfont to textsmaller you must explicitly load the relsize package or otherwise define textsmaller The remaining predefined styles redefine acronymfont text to simply do its argument text In most cases the predefined styles adjust acrfull and glsentryfull and their plural and upper case variants to reflect the style The only exceptions to this are the dua and footnote styles and their variants The following styles are supplied by the glossaries package long short long sc short long sm short With these three styles acronyms are displayed in the form long firstacronymfont short on first use and acronymfont short on subsequent use They also set acronymsort short long 125 13 Acronyms to just short This means that the acronyms are sorted accord ing to their short form In addition acronyment ry label is set to just the short form enclosed in acronymfont and the description key is set to the long form short long sc short long sm short long These three styles are analogous to the above three styles except the display order is swapped to firs
170. st Note also that makeindex has a restriction on the maximum sub entry depth 4 5 1 Hierarchical Categories To arrange a glossary with hierarchical categories you need to first define the category and then define the sub entries using the relevant category entry as the value of the parent key Example 4 Hierarchical Categories Greek and Roman Math ematical Symbols Suppose I want a glossary of mathematical symbols that are di 4 Defining Glossary Entries vided into Greek letters and Roman letters Then I can define the categories as follows newglossaryentry greekletter name Greek letters description nopostdesc newglossaryentry romanletter name Roman letters description nopostdesc Note that in this example the category entries don t need a de scription so I have set the descriptions to nopostdesc This gives a blank description and suppresses the description terminator I can now define my sub entries as follows newglossaryentry pi name ensuremath pi sort pi description ratio of the circumference of a circle to the diameter parent greekletter newglossaryentry C name ensuremath C sort C description Euler s constant parent romanletter For a complete document see the sample file samplet ree tex 4 5 2 Homographs Sub entries that have the same name as the parent entry don t need to have the name key For example the word glossary
171. t corresponding to the descrip tion key descriptionpluralaccess The replacement text corresponding to the descriptionplural key longaccess The replacement text corresponding to the long key used by newacronym shortaccess The replacement text corresponding to the short key used by newacronym longpluralaccess The replacement text corresponding to the longplural key used by newacronym shortpluralaccess The replacement text corresponding to the shortplu ral key used by newacronym 171 18 Accessibility Support For example newglossaryentry tex name TeX preparation language access TexX Now gls tex will be equivalent to description Document BeginAccSupp ActualText TeX TeX EndAccSupp The sample file sampleaccsupp tex illustrates the glossaries accsupp package See section 6 in the documented code glossaries code pdf for further details It is recommended that you also read the accsupp documentation 172 19 Troubleshooting The glossaries package comes with a minimal file called minimalgls tex which can be used for testing This should be located in the samples subdirectory folder of the glossaries documentation directory The location varies according to your operating system and TEX instal lation For example on my Linux partition it can be found in usr local texlive 2013 texmf dist doc latex glossaries Further information on debugging IATEX
172. t if you use xindy explicitly instead of using makeglossaries These are listed in table 1 3 1 3 3 Using makeindex explicitly If you want to use makeindex explicitly you must make sure that you haven t used the xindy package option or the glossary entries will be written in the wrong format To run makeindex type the follow ing in your terminal makeindex s style ist t base glg o base gls base glo where base is the name of your document without the t ex exten sion and style ist is the name of the nakeindex style file By de fault this is base ist but may be changed via set Stylerile style Note that there are other options such as 1 letter ordering See the makeindex manual for further details For example if your document is called myDoc t ex then type the following at the terminal makeindex s myDoc ist t myDoc glg o myDoc gls myDoc glo Note that this only creates the main glossary If you have additional glossaries for example if you have used the acronym package option then you must call makeindex for each glossary substituting 919 gls and glo with the relevant extensions For example if you 32 1 Introduction have used the acronym package option then you need to type the fol lowing in your terminal makeindex s myDoc ist t myDoc alg o myDoc acr myDoc acn For additional glossaries the extensions are those supplied when you created the glossary with newglossary
173. t needed so it needs to be discarded Tf you redefine glsseeformat keep the default value of the optional argument as seename as both see and glssee explicitly write seename in the out put file if no optional argument is given In versions before 3 0 gl sent ryname was used but this could cause problems when the name key was sanitized 8 Cross Referencing Entries You can use glsseeformat and glsseelist in the main body of the text but they won t automatically add the cross referenced entries to the glossary If you want them added with that location you can do Some information see also glsseelist FourierSeries TaylorsTheorem glsadd FourierSeries glsadd TaylorsTheorem 99 glsentryname Glsentryname glossentryname 9 Using Glossary Terms Without Links The commands described in this section display entry details without adding any information to the glossary They don t use glstext format they don t have any optional arguments they don t affect the first use flag and apart from glshyperlink they don t produce hy perlinks Commands that aren t expandable will be ignored by PDF bookmarks so you will need to provide an alternative via hyperref s texorpdfstring if you want to use them in sectioning commands This isn t specific to the glossaries package See the hyperref documentation for further details All the commands that convert the first letter to upper case aren t
174. t you use this script but it is not essential If you are reluctant to install Perl or for any other reason you don t want to use makeglossaries you can call nakeindex or xindy explicitly See Section 1 3 for further details This document uses the glossaries package For example when view ing the PDF version of this document in a hyperlinked enabled PDF viewer such as Adobe Reader or Okular if you click on the word xindy you ll be taken to the entry in the glossary where there s a brief description of what xindy is The remainder of this introductory section covers the following e Section 1 1 lists the sample documents provided with this pack age That is if the term has been referenced using any of the commands described in Section 6 and Section 7 or via glssee or the see key or commands such as Nacrshort 11 1 Introduction e Section 1 2 provides information for users who wish to write in a language other than English e Section 1 3 describes how to use a post processor to create the sorted glossaries for your document 1 1 Sample Documents The glossaries package is provided with some sample documents that illustrate the various functions These should be located in the samples subdirectory folder of the glossaries documentation direc tory This location varies according to your operating system and TEX distribution You can use texdoc to locate the main glossaries docu mentation For example in
175. tacronymfont short long on first use Note however that acronymsort and acronymentry are the same as for the long short styles above so the acronyms are still sorted according to the short form long short desc long sc short desc long sm short desc These are like the long short long sc short and long sm short styles described above except that the description key must be supplied in the optional argument of newacronym They also redefine acronymentry to long Nacronym ont short and redefine acronymsort short long to just long This means that the acronyms are sorted according to the long form and in the list of acronyms the name field has the long form fol lowed by the short form in parentheses I recommend you use a glossary style such as altlist with these acronym styles to allow for the long name field short long desc sc short long desc sm short long desc These styles are analogous to the above three styles but the first use display style is firstacronymfont short long The definitions of acronymsort and acronymentry are the same as those for long short desc etc dua dua desc These styles always display via g1s the long form regardless of whether the entry has been used or not However acrfull and glsentryfull willdisplay long acronymfont short In the case of dua the name and sort keys are set to the short 126 13 Acronyms form
176. tacronymstyle long sm short or with description setacronymstyle long sm short desc or with description and footnote setacronymstyle footnote sm desc footnote This option changes the definition of newacronymand the way that acronyms are displayed This option may be replaced by setacronymstyle footnote or with smallcaps setacronymstyle footnote sc 52 2 Package Options or with smaller setacronymstyle footnote sm or with description setacronymstyle footnote desc or with smallcaps and description setacronymstyle footnote sc desc or with smaller and description setacronymstyle footnote sm desc dua This option changes the definition of newacronym so that acronyms are always expanded This option may be replaced by setacronymstyle dua or with description setacronymstyle dua desc 2 6 Other Options Other available options that don t fit any of the above categories are symbols This option defines a new glossary type with the label symbols via newglossary slg symbols sls slo glssymbolsgroupname It also defines printsymbols printsymbo1s options which is a synonym for printglossary type symbols options Remember to use the nomain package option if you re only interested in using this symbols glossary 53 2 Package Options numbers This option defines a new glossary type with the label numbers via newglossary nlg numbers
177. te that you need to include glossary inline with usepackage as it s not automatically included by the glossaries package and then set the style using setglossarystyle Where you need to include your glossaries as a footnote you can do footnote printglossaries 155 glsinlineseparator glsinlinesubseparator glsinlineparentchildse glspostinline newglossarystyle theglossary glossaryheader 15 Glossary Styles The inline style is governed by the following glsinlineseparator This defaults to and is used between main i e level 0 entries glsinlinesubseparator This defaults to and is used between sub entries pb gadtsimlineparentchildseparator This defaults to and is used between a parent main entry and glspostinline Dn En H Wi g o b 5 Ee Ke This defaults to and is used at the end of the glossary 15 2 Defining your own glossary style If the predefined styles don t fit your requirements you can define your own style using newglossarystyle name definitions where name is the name of the new glossary style to be used in setglossarystyle The second argument definitions needs to redefine all of the following theglossary This environment defines how the main body of the glossary should be typeset Note that this does not include the section heading the glossary preamble defined by glossarypreamble or the glos
178. te the number list using the seeautonumberlist package option You must use makeglossaries before the entry definitions containing the see key and before any instances of glssee or the entry won t be automatically added to the glossary 8 1 Customising Cross reference Text When you use either the see key or the command glssee the cross referencing information will be typeset in the glossary according to 97 glsseeformat glsseesep glsseelastsep glsseeitemformat 8 Cross Referencing Entries glsseeformat tag label list location The default definition of glsseeformat is emph fag glsseelist label list Note that the location is always ignored For example if you want the tag to appear in bold you can do renewcommands glsseeformat 3 Nseename textbf 1 glsseelist 2 The list of labels is dealt with by glsseelist which iterates through the list and typesets each entry in the label The entries are separated by glsseesep or for the last pair glsseelastsep These default to Nspace and space andname space re spectively The list entry text is displayed using glsseeitemformat label This defaults to glsentrytext label For example to make the cross referenced list use small caps renewcommand glsseeitemformat 1 textsc glsentrytext 1 lmakeindex will always assign a location number even if it s no
179. tefiles to nothing or relax before the end of the document to avoid rewriting the files For example glswritefiles writel8 makeindex s istfilename space t jobname glg o jobname gls jobname let glswritefiles relax translate This can take the following values translate true If babel has been loaded and the translator pack age is installed translator will be loaded and the trans lations will be provided by the translator package inter face You can modify the translations by providing your own dictionary If the translator package isn t installed and babel is loaded the glossaries babel package will be loaded and the translations will be provided using babel s addto caption language mechanism If polyglossia has been loaded glossaries polyglossia will be loaded translate false Don t provide translations even if babel or poly glossia has been loaded Note that babel provides the com mand glossaryname so that will still be translated if you have loaded babel translate babel Don t load the translator package Instead load glossaries babel 37 2 Package Options I recommend you use translate babel if you have any problems with the translations or with PDF bookmarks but to maintain backward compatibility if babel has been loaded the default is translate true If translate is specified without a value translate true is assumed If translate isn t specified translate true is assumed if bab
180. that have no effect when using xindy or makeindex explicitly 30 Key to Field Mappings iux eed RR na 66 Predefined Hyperlinked Location Formats 80 Synonyms provided by the package option shortcuts 122 The eitect Of using XSpaee ies er e sep omes 138 Glossafy Styles ecce soii be m 143 Multicolumn Styles cole o RR 155 Glossary This glossary style was setup using usepackage xindy nonumberlist seeautonumberlist toc style altlist nogroupskip glossaries glsnoexpandfields renewcommand s glsseeformat 3 seename xmakefirstuc 1 glsseelist 2 Command Line Interface CLI An application that doesn t have a graphical user interface That is an application that doesn t have any windows buttons or menus and can be run in a command prompt or terminal Entry location The location of the entry in the document This defaults to the page number on which the entry appears An entry may have multiple locations First use The first time a glossary entry is used from the start of the doc ument or after a reset with one of the following commands gls Gls NGLS glspl Glspl NGLSpl or glsdisp See first use flag amp first use text First use flag A conditional that determines whether or not the entry has been used according to the rules of first use Commands to unset or reset this conditional are described in Section 14 First use text The text that is
181. the name of the encoding For example GlsSetXdyCodePage utf8 Note that you can also specify the language and encoding using the package option xindy language lang codepage code For example usepackage xindy language english codepage ut f8 glossaries If you write your own custom xindy style file that includes the language settings you need to set the language to nothing GlsSetXdyLanguage and remember to use noist to prevent the style file from being overwritten The commands GlsSetXdyLanguage and GlsSetXdyCodePage have no effect if you don t use makeglossaries If you call xindy without makeglossaries you need to remember to set the language and encoding using the L and C switches 110 GlsAddXdyCounters NGlsAddXdyAttribute 11 Xindy 11 2 Locations and Number lists If you use xindy the glossaries package needs to know which coun ters you will be using in the number list in order to correctly format the xindy style file Counters specified using the counter package option or the counter option of newglossary are automatically taken care of but if you plan to use a different counter in the counter key for commands like glslink then you need to identify these counters before makeglossaries using GlsAddXdyCounters counter list where counter list is a comma separated list of counter names The most likely attributes used in the format key textrm hyperrm etc ar
182. the preamble Remember that you can use provideglossaryentry rather than newglossaryentry Suppose you want to maintain a large database of acronyms or terms that you re likely to use in your doc uments but you may want to use a modified version of some of those entries Suppose for example one document may require a more detailed description Then if you define the entries using provideglossaryentry in your database file you can override the definition by simply using newglossaryentry before loading the file For example suppose your file called say terms tex con tains provideglossaryentry mallard name mallard description a type of duck but suppose your document requires a more detailed description you can do usepackage glossaries makeglossaries newglossaryentry mallard name mallard description a dabbling duck where the male has a green head loadglsentries terms Now the mallard definition in the terms tex file will be ignored 4 7 Moving Entries to Another Glossary As from version 3 02 you can move an entry from one glossary to another using glsmoveent ry label target glossary label 71 4 Defining Glossary Entries where label is the unique label identifying the required entry and target glossary label is the unique label identifying the glossary in which to put the entry Note that no check is performed to determine the existence of the target glossa
183. the previous example the glossary is added to the table of contents so an extra run through TEX is required latex sampleFnAcrDesc makeglossaries sampleFnAcrDesc latex sampleFnAcrDesc latex sampleFnAcrDesc sample FnDesc tex This example defines a custom display for mat that puts the description in a footnote on first use latex sample FnDesc makeglossaries sample FnDesc latex sample FnDesc sample custom acronym tex This document illustrates how to define your own acronym style if the predefined styles don t suit your requirements latex sample custom acronym makeglossaries sample custom acronym latex sample custom acronym 15 1 Introduction sample crossref tex This document illustrates how to cross reference entries in the glossary tex samp le crossref keglossaries sample crossref tex samp le crossref sampleDB tex This document illustrates how to load external files containing the glossary definitions It also illustrates how to define a new glossary type This document has the number list suppressed and uses Ng1saddall to add all the entries to the glossaries without referencing each one explicitly To create the document do la la tex samp eD B tex samp eD makeglossaries sampleDB B The glossary definitions are stored in the accompanying files databasel tex and database2 tex Note that if you don t ha
184. tion either simply writing xindy or writing xindy then the language code page and number group settings are unchanged See Section 11 for further details on using xindy with the glossaries package xindygloss This is equivalent to xindy that is the xindy op tion without any value supplied and may be used as a docu ment class option The language and code page can be set via GlsSetXdyLanguage and GlsSetXdyCodePage see Sec tion 11 1 xindynoglsnumbers This is equivalent to xindy glsnumbers false and may be used as a document class option 2 5 Acronym Options acronym This creates a new glossary with the label acronym This is equivalent to newglossary alg acronym acr acn acronymname It will also define printacronyms options that s equivalent to printglossary type acronym options 49 DeclareAcronymList SetAcronymLists 2 Package Options unless that command is already defined before the beginning of the document or the package option compatible 3 07 is used If the acronym package option is used acronymtype is set to acronym otherwise it is set to main Entries that are defined using newacronym are placed in the glossary whose label is given by acronymtype unless another glossary is explicitly specified Remember to use the nomain package option if you re only interested in using this acronym glossary acronyms This is equivalent to acronym true and may be
185. tions with the hyperlinks that can cause a problem when used with the glossaries package Firstly the DVI format can t break a hyperlink across a line whereas PDFIATEX can This means that long glossary entries for example the full form of an acronym won t be able to break across a line with the DVI format Secondly the DVI format doesn t correctly size hyperlinks in subscripts or superscripts This means that if you define a term that may be used as a subscript or superscript if you use the DVI format it won t come out the correct size It may be that you only want terms in a certain glossary to have links but not for another glossary In which case you can use the package option nohypertypes to identify the glossary lists that shouldn t have hyperlinked link text For example suppose your document contains lots of technical acronyms that the reader might not know but it also contains some very common acronyms that most readers will recognise So you might want two acronym lists but only the technical list will get displayed in your document The techni cal acronyms can be hyperlinked to that list but common acronyms shouldn t have hyperlinks as there s no target for them In this case identify the common acronym list as having non hyperlinked entries using nohypertypes Example Nusepackage acronym nohypert ypes common glossaries newglossary common cacr cacn Common Acronyms Alternatively you can use Gls
186. to be the title other wise the title is just label The symbols group has the label glssymbols so the command glssymbolsgroupname is used and the numbers group has the label glsnumbers so the com mand Nglsnumbersgrouptitle is used If you are using xindy label may be an active character for example in which case the title will be set to just label You can redefine glsgetgrouptitle if this is unsuitable for your document A navigation hypertarget can be created using glsnavhypertarget label text For further details about glsnavhypertarget see section 4 1 in the documented code glossaries code pdf Most of the predefined glossary styles redefine gl sgroupheading to simply ignore its argument The listhypergroup style redefines glsgroupheading as follows Nrenewcommand glsgroupheading 1 item glsnavhypertarget 1 glsgetgrouptitle 1 See also glsgroupskip below Note that command definitions within newglossarystyle must use 1 instead of 1 etc 157 15 Glossary Styles glsgroupskip glsgroupskip This macro determines what to do after one logical group but before the header for the next logical group The list glossary style simply re defines glsgroupskip to be indexspace whereas the tabular like styles redefine gl sgroupskip to produce a blank row As from version 3 03 the package option nogroupskip can be used to suppress this default gap for the pre
187. to check if the symbol hasn t been set and omit the parentheses if the symbol is absent In this case you can use ifglshassymbol see Section 16 Nrenewcommand Nglossentry 2 o item bullet point glstarget 1 glossentryname 1 the entry name ifglshassymbol 1 check if symbol exists 9 KJ oe no symbol so do nothing space glossentrydesc 1 the description space 2 the number list in square brackets 9 KJ Example 21 Creating a new glossary style based on an exist ing style If you want to define a new style that is a slightly modified version of an existing style you can use setglossarystyle within the second argument of newglossarystyle followed by whatever al terations you require For example suppose you want a style like the list style but you don t want the extra vertical space created by indexspace between groups then you can create a new glossary style called say mylist as follows newglossarystyle mylist space glossentrysymbol 1 the symbol in brackets setglossarystyle list base this style on the list style renewcommand glsgroupskip make nothing happen between groups In this case you can actually achieve the same effect using the list style in combination with the package option nogroupskip 161 15 Glossary Styles Example 22 Example creating a glossary style that uses the user1 user6 keys
188. to com mands like Glsentrytext link cs is the control sequence to use analogous to commands like glstext link ucfirst cs is the control sequence to use analogous to com mands like Glstext link allcaps cs is the control sequence to use analogous to com mands like GLStext 64 4 Defining Glossary Entries The starred version of glsaddkey switches on expansion for this key The unstarred version doesn t override the current expansion setting Example 3 Defining Custom Keys Suppose I want to define two new keys ed and ing that default to the entry text followed by ed and ing respectively The default value will need expanding in both cases so I need to use the starred form Define ed key glsaddkey ed key glsentrytext glslabel ed default value glsentryed command analogous to glsentrytext Glsentryed command analogous to Glsentrytext glsed command analogous to glstext Glsed command analogous to Glstext GLSed command analogous to GLStext Define ing key glsaddkey ing key glsentrytext glslabel ing default value glsentrying command analogous to glsentrytext Glsentrying command analogous to Glsentrytext glsing command analogous to glstext Glsing command analogous to Glstext GLSing command analogous to GLStext Now I can define some entries 9 No need to override defau
189. tyles column is governed by the length glsdescwidth Child en tries have a similar format to the parent entries except that their name is suppressed superraggedborder The superraggedborder style is like superragged but has horizontal and vertical lines around it superraggedheader The superraggedheader style is like superragged but has a header row superraggedheaderborder The superraggedheaderborder style is like su perraggedheader but has horizontal and vertical lines around it superragged3col The superragged3col style is like superragged but has three columns The first column contains the entry s name the second column contains the left justified description and the third column contains the left justified number list The en try s symbol is ignored The width of the first column is gov erned by the widest entry in that column The width of the second column is governed by the length glsdescwidth The width of the third column is governed by the length glspagelistwidth superragged3colborder The superragged3colborder style is like the su perragged3col style but has horizontal and vertical lines around it superragged3colheader The superragged3colheader style is like super ragged3col but has a header row superragged3colheaderborder The superragged3colheaderborder style is like superragged3colheader but has horizontal and vertical lines around it altsuperragged4col The altsuperragged4col style is like superra
190. uage name encoding is the en coding base is the name of the document without the tex exten sion and style is the name of the xindy style file without the xdy extension The default name for this style file is base xdy but can be changed via setStyleFile style You may need to specify the full path name depending on the current working directory If any of the file names contain spaces you must delimit them using double quotes For example if your document is called myDoc tex and you are using UTF8 encoding in English then type the following in your ter minal xindy L english C utf8 I xindy M myDoc t myDoc glg o myDoc gls myDoc glo http www stackexchange com 31 1 Introduction Note that this just creates the main glossary You need to do the same for each of the other glossaries including the list of acronyms if you have used the acronym package option substituting glg gls and glo with the relevant extensions For example if you have used the acronym package option then you would need to do xindy L english C utf8 I xindy M myDoc t myDoc alg o myDoc acr myDoc acn For additional glossaries the extensions are those supplied when you created the glossary with newglossary Note that if you use makeglossaries instead you can replace all those calls to x indy with just one call to makeglossaries makeglossaries myDoc Note also that some commands and package options have no effec
191. uld have to do newglossaryentry cow name cow plural kine description a fully grown female of any bovine animal 62 4 Defining Glossary Entries If you are writing in a language that supports multiple plurals for a given term then use the plural key for one of them and one of the user keys to specify the other plural form For example newglossaryentry cow name cow description a fully grown female of any bovine animal plural cows archaic plural kine userl kine You can then use glsp1 cow to produce cows and glsuseri cow to produce kine You can of course define an easy to remember synonym For example let glsaltpl glsuseri Then you don t have to remember which key you used to store the second plural Alternatively you can define your own keys using glsaddkey described in Section 4 3 If you are using a language that usually forms plurals by ap pending a different letter or sequence of letters you can redefine glspluralsuffix as required However this must be done before the entries are defined For languages that don t form plurals by sim ply appending a suffix all the plural forms must be specified using the plural key and the firstplural key where necessary 4 2 Other Grammatical Constructs You can use the six user keys to provide alternatives such as partici ples For example let glsing glsuseri let glsd glsuserii newcommands Ningkey
192. umbers written as words rather than dig its and I use the fmtcount package to do this I can redefine t hepage as follows renewcommands thepage Numberstring page This gets expanded to protect NNumberstringnum n where n is the Arabic page number This means that I need to define a new location that has that form GlsAddXdyLocation Numberstring sep string protect space string Numberstringnum space glsopenbrace arabic numbers sep glsclosebrace Note that it s necessary to use space to indicate that spaces also appear in the format since unlike TEX x indy doesn t ignore spaces after control sequences Note that GlsAddXdyLocation name definition will de fine commands in the form glsx counter x name Hprefix location for each counter that has been identified either by the counter package option the counter option for newglossary or in the argument of GlsAddXdyCounters The first argument Hprefix is only relevant when used with the hyperref package and indicates that the Hcounter is given by Hprefix the counter The sample file samplexdy tex which comes with the glossaries package uses the default page counter for locations and it uses the default gl snumberformat and a custom hyperbfit format A new xindy location called Numberstring as illustrated above is defined to make the page numbers ap pear as One Two etc In order for the location numb
193. unsetall see Section 14 so that the hyperfirst option doesn t get applied Example 9 Suppressing Hyperlinks on First Use Just For Acronyms Suppose I want to suppress the hyperlink on first use for acronyms but not for entries in the main glossary I can load the glossaries pack age using usepackage hyperfirst false acronym glossaries Once all glossary entries have been defined I then do glsunsetall main For more complex requirements you might find it easier to switch off all hyperlinks via glsdisablehyper and put the hyperlinks where required within the definition of glsentryfmt see Sec tion 6 1 via gl shyper1ink see Section 9 Example 10 Only Hyperlink in Text Mode Not Math Mode This is a bit of a contrived example but suppose for some reason I only want commands like gls and glsdisp to have hyperlinks when used in text mode but not in math mode I can do this by disabling all hyperlinks and redefining glsentryfmt glsdisablehyper renewcommand glsentryfmt ifmmode glsgenentryfmt else 9 Temporarily enable hyperlinks glsenablehyper glshyperlink glsgenentryfmt glslabel Disable hyperlinks again glsdisablehyper fi 92 6 Links to Glossary Entries To ensure the target exists the hyperlinks must be enabled again when the glossary is displayed renewcommand glossarypreamble glsenablehyper renewcommand glossarypostamble glsdisablehyper
194. va GUI alternative called makeglossariesgui distributed separately that has diagnostic tools Whilst it is strongly recommended that you use the makeglossaries script or makeglossariesgui it is possible to use the glossaries package without using either application However note that some commands and package options have no effect if you don t use makeglossaries or makeglossariesgui These are listed in ta ble 1 3 If you are choosing not to use makeglossaries because you don t want to install Perl you will only be able to use makeindex as xindy also requires Perl Note that if any of your entries use an entry that is not ref erenced outside the glossary you will need to do an additional makeglossaries makeindex or xindy run as appropriate For 28 1 Introduction example suppose you have defined the following entries newglossaryentry citrusfruit name citrus fruit description fruit of any citrus tree See also gls orange newglossaryentry orange name orange description an orange coloured fruit and suppose you have gls citrusfruit in your document but don t reference the orange entry then the orange entry won t ap pear in your glossary until you first create the glossary and then do another run of makeglossaries makeindex or xindy For exam ple if the document is called myDoc tex then you must do latex myDoc makeglossaries myDoc latex myDoc makeglossaries myDoc latex myDoc
195. ve Perl installed you will need to use makeindex twice in stead of a single call to makeglossaries 1 Create the main glossary all on one line makeindex s sampleD sampleDB gls sampleD B ist t sampleDB glg o makeindex s sampleD sampleDB not sampleD B glo Create the secondary glossary all on one line B ist t sampleDB nlg o B ntn sampleEq tex This document illustrates how to change the loca tion to something other than the page number In this case the equation counter is used since all glossary entries appear in side an equation environment To create the document do 16 1 Introduction latex sampleEq makeglossaries sampleEq latex sampleEq sampleEqPg tex This is similar to the previous example but the number lists are a mixture of page numbers and equation num bers This example adds the glossary to the table of contents so an extra IATEX run is required latex sampleEgPg makeglossaries sampleEqPg latex sampleEgPg latex sampleEgPg sampleSec tex This document also illustrates how to change the location to something other than the page number In this case the section counter is used This example adds the glossary to the table of contents so an extra lc run is required latex sampleSec makeglossaries sampleSec latex sampleSec latex sampleSec sampleNtn tex This document illustrates how to create an addi tional glos
196. ven t been translated A The glossaries package currently only supports the follow ing languages Brazilian Portuguese Danish Dutch English French German Irish Italian Hungarian Polish Serbian and Spanish If you want to add another language send me the translations and I ll add them to the next version If you are using one of the above languages but the text hasn t been translated try using the glossaries package option trans late babel Also try adding the language as a global option to the class file 11 Q My glossaries haven t appeared A Remember to do the following e Add makeglossaries to the document preamble 175 19 Troubleshooting Use either printglossary for each glossary that has been defined or printglossaries Use the commands listed in Section 6 Section 7 or Section 8 for each entry that you want to appear in the glossary e Run BIEX on your document then run makeglossaries then run I4TEX on your document again If you want the glossaries to appear in the table of contents you will need an extra TEX run If any of your entries cross reference an entry that s not referenced in the main body of the doc ument you will need to run makeglossaries see Sec tion 1 3 after the second ATEX run followed by another IATEX run Check the log files log glg etc for any warnings 12 Q Why is glossaries creating an empty glo file A Because you haven t used any entries in t
197. via newacronym you can use glsgenacfmt This uses the values from the long short longplural and shortplural keys rather than using the text plural first and firstplural keys The first use singular text is obtained via genacrfullformat label insert instead of from the first key and the first use plural text is obtained ia aA Ka genplacrfullformat label insert instead of from the firstplural key In both cases label is the entry s label and insert is the insert text provided in the final optional ar gument of commands like gls The default behaviour is to do the long form or plural long form followed by insert and a space and the short form or plural short form in parentheses where the short 88 6 Links to Glossary Entries form is in the argument of firstacronymfont There are also first letter upper case versions Genacrfullformat Genacrfullformat label insert and Genplacrfullformat Genplacrfullformat label insert By default these perform a protected expansion on their no case change equivalents and then use makefirstuc to convert the first character to upper case If there are issues caused by this expan sion you will need to redefine those commands to explicitly use com mands like Glsent rylong which is what the predefined acronym styles such as long short do Otherwise you only need to redefine
198. whose type is given by languages but the entry per1 will be added to the main glossary since it explicitly sets the type to main Note if you use newacronym see Section 13 the type is set as type acronymtype unless you explicitly override it For example if my file myacronyms tex contains newacronym aca aca a contrived acronym then supposing I have defined a new glossary type called alt acronym loadglsentries altacronym myacronyms will add aca to the glossary type acronym if the package option acronym has been specified or will add aca to the glossary type altacronyn if the package option acronym is not specified If you have used the acronym package option there are two possible solutions to this problem 1 Change myacronyms tex so that entries are defined in the form newacronym type glsdefaulttype aca aca a contrived acronym 3This is because acronymt ype is set to glsdefaulttype if the acronym pack age option is not used 70 glsmoveentry 4 Defining Glossary Entries and do loadglsentries altacronym myacronyms 2 Temporarily change acronymtype to the target glossary let orgacronymt ype acronymtype renewcommand acronymtype altacronym loadglsentries myacronyms let acronymtype orgacronymtype EE cd P i Note that only those entries that have been used in the text will appear in the relevant glossaries Note also that loadglsentries may only be used in
199. width of the first column is governed by the widest entry in that column The width of the second column is gov erned by the length glsdescwidth Child entries have a sim ilar format to the parent entries except that their name is sup pressed longraggedborder The longraggedborder style is like longragged but has horizontal and vertical lines around it longraggedheader The longraggedheader style is like longragged but has a header row longraggedheaderborder The longraggedheaderborder style is like lon graggedheader but has horizontal and vertical lines around it longragged3col The longragged3col style is like longragged but has three columns The first column contains the entry s name the sec ond column contains the left justified description and the third column contains the leftjustified number list The entry s sym bol is ignored The width of the first column is governed by the widest entry in that column the width of the second column is governed by the length Ng1sdescwidth and the width of the third column is governed by the length glspagelistwidth 148 15 Glossary Styles longragged3colborder The longragged3colborder style is like the lon gragged3col style but has horizontal and vertical lines around it longragged3colheader The longragged3colheader style is like longragged3col but has a header row longragged3colheaderborder The longragged3colheaderborder style is like longragged3colheader but has horizont
200. xample the long short style does Nrenewcommand GenericAcronymFields description the glslongtok which sets the description field to the long form of the acronym whereas the long short desc style does renewcommands GenericAcronymFields since the description needs to be specified by the user It may be that you want to define a new acronym style that s based on an existing style Within display you can use GlsUseAcrEntryDispStyle GlsUseAcrEntryDispStyle style name to use the display definition from the style given by style name Within definitions you can use NGlsUseAcrStyleDefs GlsUseAcrStyleDefs style name to use the definitions from the style given by style name For ex ample the long sc short acronym style is based on the long short style with minor modifications remember to use instead of within definitions newacronymstyle long sc short use the same display as long short GlsUseAcrEntryDispStyle long short ae oe use the same definitions as long short GlsUseAcrStyleDefs long short 129 13 Acronyms Minor modifications renewcommand acronymfont 1 textsc 1 renewcommands acrpluralsuffix glstextup glspluralsuffix glstextup glstextup is used to cancel the effect of textsc This defaults to textulc if defined otherwise t ext up For example the plural of SVM should be rendere
201. y genres but is inappropriate for factual documents When you write technical documents regardless of whether it s a PhD thesis or an article for a journal or proceedings you must plan what you write in advance If you plan in advance you should have a fairly good idea of the type of terminology that your document will contain so while you are planning create a new file with all your entry definitions If while you re writing your document you re member another term you need then you can switch over to your definition file and add it Most text editors have the ability to have more than one file open at a time 73 glsSetSuffixF glsSetSuffixFF 5 Number lists Each entry in the glossary has an associated number list By default these numbers refer to the pages on which that entry has been used using any of the commands described in Section 6 and Section 7 The number list can be suppressed using the nonumberlist package option or an alternative counter can be set as the default using the counter package option The number list is also referred to as the loca tion list Both makeindex and xindy concatenate a sequence of 3 or more consecutive pages into a range With xindy you can vary the min imum sequence length using GlsSetXdyMinRangeLength n where n is either an integer or the keyword none which indicates that there should be no range formation Note that GlsSetXdyMinRangeLength must be used before mak
202. y noist otherwise the glossaries package will overwrite samp lexdy mc xdy and you will lose the Mc letter group To create the document do latex samplexdy 19 1 Introduction makeglossaries samplexdy latex samplexdy If you don t have Perl installed you will have to call xindy explicitly instead of using makeglossaries If you are using the default style file samplexdy xdy then do no line breaks xindy L english C utf8 I xindy M samplexdy t samplexdy glg o samplexdy gls samplexdy glo otherwise if you are using samplexdy mc xdy then do no line breaks xindy I xindy M samplexdy mc t samplexdy glg o samplexdy gls samplexdy glo samplexdy2 tex This document illustrates how to use the glos saries package where the location numbers don t follow a stan dard format This example will only work with xindy To cre ate the document do pdflatex samplexdy2 makeglossaries samplexdy2 pdflatex samplexdy2 If you can t use makeglossaries then you need to do all on one line xindy L english C utf8 I xindy M samplexdy2 t samplexdy2 glg o samplexdy2 gls samplexdy2 glo See Section 11 2 for further details sampleutf8 tex This is another example that uses xindy Un like makeindex xindy can cope with accented or non Latin characters This document uses UTF8 encoding To create the document do 20 1 Introduction latex sampleutf8 makeglossaries sampleutf8
203. y are governed by the same parameters as that environment Note that these styles will automatically be available unless you use the nolong or nostyles package options These styles fully justify the description and page list columns If you want ragged right formatting instead use the analogous styles described in Section 15 1 3 long The long style uses the longtable environment defined by the longtable package It has two columns the first column con tains the entry s name and the second column contains the de scription followed by the number list The entry s symbol is ignored Sub groups are separated with a blank row The width of the first column is governed by the widest entry in that col umn The width of the second column is governed by the length glsdescwidth Child entries have a similar format to the parent entries except that their name is suppressed longborder The longborder style is like long but has horizontal and ver tical lines around it longheader The longheader style is like long but has a header row longheaderborder The longheaderborder style is like longheader but has horizontal and vertical lines around it long3col The long3col style is like long but has three columns The first column contains the entry s name the second column contains the description and the third column contains the number list 146 15 Glossary Styles The entry s symbol is ignored The width of the first column is gove
204. y as having been used There are also analogous commands Glsname options text insert GLSname options text insert As before these commands also have a starred version that disable the hyperlink The command glssymbol options label insert is similar to glstext except that it always uses the value of the symbol key Again insert is always appended to the end of the link text and does not mark the entry as having been used 84 Glssymbol GLSsymbol glsdesc Glsdesc GLSdesc glsuseri 6 Links to Glossary Entries There are also analogous commands Glssymbol options text insert GLSsymbol options text insert gt Uu eg R o Q bg er 2 D L I O o o H z 5 3 c un Uu CO 2 amp SS c D ui v S d bg c a c e m o 5 D g E un amp z D the hyperlink The command glsdesc options label insert is similar to glstext except that it always uses the value of the description key Again insert is always appended to the end of the link text and does not mark the entry as having been used There are also analogous commands Glsdesc options text insert GLSdesc options text insert gt Uu jen m o Q bg er 2 bg un O o o H z 5 3 c Uu m Uu CO 2 D lt bd D un v S B d bg Q a bd m g
205. yval package 2 Run makeglossaries on the document Section 1 3 This can be done on a terminal either by typing makeglossaries minimalgls or by typing perl makeglossaries minimalgls If your system doesn t recognise the command per1 then it s likely you don t have Perl installed In which case you will need to use makeindex directly You can do this in a terminal by typing all on one line makeindex s minimalgls ist t minimalgls glg o minimalgls gls minimalgls glo See Section 1 3 3 for further details on using makeindex explicitly Note that if you need to specify the full path and the path contains spaces you will need to delimit the file names with the double quote character 3 Run minimalgls tex through DICK again as step 1 You should now have a complete document The number fol lowing each entry in the glossary is the location number By de fault this is the page number where the entry was referenced sample4col tex This document illustrates a four column glossary where the entries have a symbol in addition to the name and description To create the complete document you need to do latex sample4col makeglossaries sample4col 13 1 Introduction latex sample4col As before if you don t have Perl installed you will need to use makeindex directly instead of using makeglossaries The vertical gap between entries is the gap created at the start of each group This can be suppress
Download Pdf Manuals
Related Search
Related Contents
REM 801-RC - d+h portugal Prefazione Netzwerk-Videoserver Art. Nr. 11909 ACD-110 manual 取扱説明書(PDFファイル) 3 - Olympus Copyright © All rights reserved.
Failed to retrieve file