The LaTeX glossaries package has three methods
of generating a glossary (list of abbreviations, terms or symbols):
directly using LaTeX, using makeindex or using
xindy. The first option requires two LaTeX runs
(as with cross-references), the last two options requires a LaTeX
run followed by running the indexing application
or xindy), followed by another LaTeX run.
The glossaries-extra package provides two more methods
\printunsrtglossary or using
\printunsrtglossary with bib2gls).
These last two methods aren't supported by MakeGlossariesGUI (although it
will flag documents that require bib2gls if detected,
as part of its diagnostics). Your document may require additional
applications, such as bibtex, but that's outside of the scope of
The glossaries package provides a Perl script called makeglossaries that's intended to simplify this step for options 2 and 3. However, sometimes things can go wrong and users may not be able to work out why. The makeglossaries script tries to diagnose problems, but not everyone wants to install Perl for some reason (which is a shame, as there are some useful TeX-related Perl scripts, including xindy). The glossaries package also provides a light-weight Lua alternative, makeglossaries-lite.lua, but that doesn't provide any diagnostics. MakeGlossariesGUI is a Java application that (when run in batch mode) can be used instead of makeglossaries or makeglossaries-lite.lua however its primary purpose is a graphical user interface (GUI) tool for determining what's gone wrong when the glossary doesn't appear or is incomplete.
Since MakeGlossariesGUI is written in Java, you'll need the Java Runtime Environment
installed. If your document build process supports the conditional
execution of commands, then you can test if MakeGlossariesGUI,
makeglossaries or makeglossaries-lite.lua are
required by searching the log file for the presence of the command
\@istfilename. (The argument is the style file. The extension
determines whether makeindex or xindy
makeglossariesgui [⟨options⟩] [⟨filename⟩]
The ⟨filename⟩ must be supplied when run in batch mode (the .aux extension may be omitted), but is optional in GUI mode. The ⟨filename⟩ should be the auxiliary file produced by the LaTeX run, but may also be the .tex or .log file if it has the same basename as the auxiliary file and is located in the same directory. Unlike makeglossaries and makeglossaries-lite.lua, ⟨filename⟩ may include the directory path.
- Invoke MakeGlossariesGUI in batch mode (⟨filename⟩ must be supplied). Note that the extra checks that parse the log file aren't performed in batch mode.
- Invoke MakeGlossariesGUI in GUI mode (default).
- Suppress (non-error) messages that would otherwise have been written to STDOUT.
- Dry run mode (don't run the indexing application).
- Not dry run mode (default).
- Print debug messages to STDOUT.
- Print the version details to STDOUT and exit.
- Print a brief summary of available options to STDOUT and exit.
When run in batch mode, MakeGlossariesGUI behaves much like makeglossaries. It reads the auxiliary file to determine whether to use makeindex or xindy and what options to pass to them. The GUI Settings will be honoured.