after getting a great solution to my problem, amsart with table of contents with "to" and "from" hyperlinks , I've now spent over a day - which is why I keep a template usually :) - trying to figure out why my "Glossary" heading is not showing up in the body of the document. It does show up perfectly in the TOC.
Apart from the linked document (which works fine), I've added just what I've tried to get the glossary to work (in the preamble and the body). I did find somethings that may have helped but they relied on tocloft, which doesn't play well with amsart...
\documentclass{amsart}
%\usepackage{makeidx}
\usepackage[toc,section=section]{glossaries}
\newcommand{\dictentry}[2]{%
\newglossaryentry{#1}{name=#1,description={#2}}%
\glslink{#1}{}%
}
%\newglossary[slg]{symbolslist}{syi}{syg}{List of Symbols}
\makeglossaries
\glossarystyle{long3col}
\setlength{\glsdescwidth}{0.6\textwidth}
\setlength{\glspagelistwidth}{0.1\textwidth}
\newglossaryentry{x}{name=x,description={a helpful description of x}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% FROM PREVIOUS LINK IN TEXT - NEW STUFF IS ABOVE THIS LINE %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{etoolbox}
% Modifications to amsart ToC-related macros...
\makeatletter
\let\old@tocline\@tocline
\let\section@tocline\@tocline
% Insert a dotted ToC-line for \subsection and \subsubsection only
\newcommand{\subsection@dotsep}{4.5}
\newcommand{\subsubsection@dotsep}{4.5}
\patchcmd{\@tocline}
{\hfil}
{\nobreak
\leaders\hbox{$\m@th
\mkern \subsection@dotsep mu\hbox{.}\mkern \subsection@dotsep mu$}\hfill
\nobreak}{}{}
\let\subsection@tocline\@tocline
\let\@tocline\old@tocline
\patchcmd{\@tocline}
{\hfil}
{\nobreak
\leaders\hbox{$\m@th
\mkern \subsubsection@dotsep mu\hbox{.}\mkern \subsubsection@dotsep mu$}\hfill
\nobreak}{}{}
\let\subsubsection@tocline\@tocline
\let\@tocline\old@tocline
\let\old@l@subsection\l@subsection
\let\old@l@subsubsection\l@subsubsection
\def\@tocwriteb#1#2#3{%
\begingroup
\@xp\def\csname #2@tocline\endcsname##1##2##3##4##5##6{%
\ifnum##1>\c@tocdepth
\else \sbox\z@{##5\let\indentlabel\@tochangmeasure##6}\fi}%
\csname l@#2\endcsname{#1{\csname#2name\endcsname}{\@secnumber}{}}%
\endgroup
\addcontentsline{toc}{#2}%
{\protect#1{\csname#2name\endcsname}{\@secnumber}{#3}}}%
% Handle section-specific indentation and number width of ToC-related entries
\newlength{\@tocsectionindent}
\newlength{\@tocsubsectionindent}
\newlength{\@tocsubsubsectionindent}
\newlength{\@tocsectionnumwidth}
\newlength{\@tocsubsectionnumwidth}
\newlength{\@tocsubsubsectionnumwidth}
\newcommand{\settocsectionnumwidth}[1]{\setlength{\@tocsectionnumwidth}{#1}}
\newcommand{\settocsubsectionnumwidth}[1]{\setlength{\@tocsubsectionnumwidth}{#1}}
\newcommand{\settocsubsubsectionnumwidth}[1]{\setlength{\@tocsubsubsectionnumwidth}{#1}}
\newcommand{\settocsectionindent}[1]{\setlength{\@tocsectionindent}{#1}}
\newcommand{\settocsubsectionindent}[1]{\setlength{\@tocsubsectionindent}{#1}}
\newcommand{\settocsubsubsectionindent}[1]{\setlength{\@tocsubsubsectionindent}{#1}}
% Handle section-specific formatting and vertical skip of ToC-related entries
% \@tocline{<level>}{<vspace>}{<indent>}{<numberwidth>}{<extra>}{<text>}{<pagenum>}
\renewcommand{\l@section}{\section@tocline{1}{\@tocsectionvskip}{\@tocsectionindent}{\@tocsectionnumwidth}{\@tocsectionformat}}%
\renewcommand{\l@subsection}{\subsection@tocline{1}{\@tocsubsectionvskip}{\@tocsubsectionindent}{\@tocsubsectionnumwidth}{\@tocsubsectionformat}}%
\renewcommand{\l@subsubsection}{\subsubsection@tocline{1}{\@tocsubsubsectionvskip}{\@tocsubsubsectionindent}{\@tocsubsubsectionnumwidth}{\@tocsubsubsectionformat}}%
\newcommand{\@tocsectionformat}{}
\newcommand{\@tocsubsectionformat}{}
\newcommand{\@tocsubsubsectionformat}{}
\expandafter\def\csname toc@1format\endcsname{\@tocsectionformat}
\expandafter\def\csname toc@2format\endcsname{\@tocsubsectionformat}
\expandafter\def\csname toc@3format\endcsname{\@tocsubsubsectionformat}
\newcommand{\settocsectionformat}[1]{\renewcommand{\@tocsectionformat}{#1}}
\newcommand{\settocsubsectionformat}[1]{\renewcommand{\@tocsubsectionformat}{#1}}
\newcommand{\settocsubsubsectionformat}[1]{\renewcommand{\@tocsubsubsectionformat}{#1}}
\newlength{\@tocsectionvskip}
\newcommand{\settocsectionvskip}[1]{\setlength{\@tocsectionvskip}{#1}}
\newlength{\@tocsubsectionvskip}
\newcommand{\settocsubsectionvskip}[1]{\setlength{\@tocsubsectionvskip}{#1}}
\newlength{\@tocsubsubsectionvskip}
\newcommand{\settocsubsubsectionvskip}[1]{\setlength{\@tocsubsubsectionvskip}{#1}}
% Adjust section-specific ToC-related macros to have a fixed-width numbering framework
\patchcmd{\tocsection}{\indentlabel}{\makebox[\@tocsectionnumwidth][l]}{}{}
\patchcmd{\tocsubsection}{\indentlabel}{\makebox[\@tocsubsectionnumwidth][l]}{}{}
\patchcmd{\tocsubsubsection}{\indentlabel}{\makebox[\@tocsubsubsectionnumwidth][l]}{}{}
% Allow for section-specific page numbering format of ToC-related entries
\newcommand{\@sectypepnumformat}{}
\renewcommand{\contentsline}[1]{%
\expandafter\let\expandafter\@sectypepnumformat\csname @toc#1pnumformat\endcsname%
\csname l@#1\endcsname}
\newcommand{\@tocsectionpnumformat}{}
\newcommand{\@tocsubsectionpnumformat}{}
\newcommand{\@tocsubsubsectionpnumformat}{}
\newcommand{\setsectionpnumformat}[1]{\renewcommand{\@tocsectionpnumformat}{#1}}
\newcommand{\setsubsectionpnumformat}[1]{\renewcommand{\@tocsubsectionpnumformat}{#1}}
\newcommand{\setsubsubsectionpnumformat}[1]{\renewcommand{\@tocsubsubsectionpnumformat}{#1}}
\renewcommand{\@tocpagenum}[1]{%
\hfill {\mdseries\@sectypepnumformat #1}}
% Small correction to Appendix, since it's still a \section which should be handled differently
\let\oldappendix\appendix
\renewcommand{\appendix}{%
\leavevmode\oldappendix%
\addtocontents{toc}{%
\protect\settowidth{\protect\@tocsectionnumwidth}{\protect\@tocsectionformat\sectionname\space}%
\protect\addtolength{\protect\@tocsectionnumwidth}{2em}}%
}
\makeatother
% #1 (default is as required)
% #2
% #3
\makeatletter
\settocsectionnumwidth{2em}
\settocsubsectionnumwidth{2.5em}
\settocsubsubsectionnumwidth{3em}
\settocsectionindent{1pc}%
\settocsubsectionindent{\dimexpr\@tocsectionindent+\@tocsectionnumwidth}%
\settocsubsubsectionindent{\dimexpr\@tocsubsectionindent+\@tocsubsectionnumwidth}%
\makeatother
% #4 & #5
\settocsectionvskip{10pt}
\settocsubsectionvskip{0pt}
\settocsubsubsectionvskip{0pt}
% #6 & #7
% See #3
% #8
\renewcommand{\contentsnamefont}{\bfseries\Large}
% #9
\settocsectionformat{\bfseries}
\settocsubsectionformat{\mdseries}
\settocsubsubsectionformat{\mdseries}
\setsectionpnumformat{\bfseries}
\setsubsectionpnumformat{\mdseries}
\setsubsubsectionpnumformat{\mdseries}
% #10
% Insert the following command inside your text where you want the ToC to have a page break
\newcommand{\tocpagebreak}{\leavevmode\addtocontents{toc}{\protect\clearpage}}
% #11
\let\oldtableofcontents\tableofcontents
\renewcommand{\tableofcontents}{%
\vspace*{-\linespacing}% Default gap to top of CONTENTS is \linespacing.
\oldtableofcontents}
\setcounter{tocdepth}{3}
%AMSART STUFF
\newtheorem{theorem}{Theorem}[section]
\newtheorem{lemma}[theorem]{Lemma}
\theoremstyle{definition}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{example}[theorem]{Example}
\newtheorem{xca}[theorem]{Exercise}
\theoremstyle{remark}
\newtheorem{remark}[theorem]{Remark}
\numberwithin{equation}{section}
\usepackage[explicit]{titlesec}
\usepackage{hyperref}
\hypersetup{
colorlinks,%
citecolor=black,%
filecolor=black,%
linkcolor=black,%
urlcolor=black
}
% renew \contentsline for toc to include hypertarget
\let\oldcontentsline\contentsline%
\renewcommand\contentsline[4]{%
\hypertarget{toc#4}{}%
\oldcontentsline{#1}{#2}{#3}{#4}}
% renew \section to link to the toc
\titleformat{\section}
{\normalfont\Large\bf}
{{\thesection} \hyperlink{tocsection.\thesection}{#1}}
{1pc}
{}
% renew \subsection to link to the toc
\titleformat{\subsection}
{\normalfont\bf}
{{\thesection} \hyperlink{tocsubsection.\thesubsection}{#1}}
{1pc}
{}
% renew \subsubsection to link to the toc
\titleformat{\subsubsection}
{\normalfont\bf}
{{\thesection} \hyperlink{tocsubsubsection.\thesubsubsection}{#1}}
{1pc}
{}
\begin{document}
\title{Report}
% Information for first author
\author{Ban}
% Address of record for the research reported here
\address{5da}
% Current address
\email{sh@a}
% \thanks will become a 1st page footnote.
\thanks{The autnt.}
%% Information for second author
%\author{Author Two}
%\address{Mathematical Research Section, School of Mathematical Sciences, Australian National University, Canberra ACT 2601, Australia}
%\curraddr{Department of Mathematics and Statistics, Case Western Reserve University, Cleveland, Ohio 43403}
%\email{two@maths.univ.edu.au}
%\thanks{Support information for the second author.}
% General info
%\subjclass[2000]{Primary 54C40, 14E20; Secondary 46E25, 20C20}
\date{\today.}
%\dedicatory{Thior.}
\keywords{Matry}
\begin{abstract}
This paper is
\end{abstract}
\maketitle
\tableofcontents
\section{Introduction, Background, and Motivation}
\section{Tooling}
\subsection{Toion}
\section{Stories}
\subsection{Sion}
\subsubsection{Ky}
\subsubsection{Background}
\begin{itemize}
\item Other Types
\item ming
\end{itemize}
\subsection{odels}
\subsubsection{n}
\subsection{archy}
\subsection{ies - \href{run:./s.pdf}{file}.}
\subsubsection{ink}
\subsubsection{ts)}
\subsubsection{tion}
\dictentry{aardvark}{an animal}%
\dictentry{lion}{another animal, but with
a really long description that spills over many, many, many, many, many,
many, many, many, many, many, many, many, many, many, many, many, many,
many, many, many, many, many, many, many, many, many, many lines}
\dictentry{zebra}{yet another animal}%
\setlength{\glsdescwidth}{\textwidth}
\printglossary[title=Glossary]%[style=long]
\end{document}

