% This file is embedded in glossaries-extra-manual.pdf 
% Example 159 Using bib2gls: record counting
% Label: "ex:bib2glsrecordcounting"
% arara: pdflatex
% arara: bib2gls: { recordcount: on }
% arara: pdflatex
% arara: pdfcrop
\documentclass[12pt]{article}
\pagestyle{empty}
\begin{filecontents*}{terms.bib}
@entry{bird,
  name={bird},
  description={feathered animal},
  seealso={duck,goose}
} 

@entry{duck,
  name={duck},
  description={a waterbird with short legs}
} 

@entry{goose,
  name = "goose",
  plural = "geese",
  description={a waterbird with a long neck}
}

@index{example}
\end{filecontents*}
\begin{filecontents*}{abbrvs.bib}
@string{ssi={server-side includes}}
@string{html={hypertext markup language}} 

@abbreviation{shtml,
  short="shtml",
  fulllong = ssi # " enabled " # html,
  nestedlong = "\glsps{ssi} enabled \glsps{html}",
  description={a combination of \gls{html} and \gls{ssi}}
} 

@abbreviation{html,
  short ="html",
  long = html,
  description={a markup language for creating web pages}
} 

@abbreviation{ssi,
  short="ssi",
  long = ssi,
  description={a simple interpreted server-side scripting language}
}

@abbreviation{xml,
  short={xml},
  long={extensible markup language},
  description={a simple text-base format for representing structured information}
}

@abbreviation{mathml,
  short={m\BibGlsNoCaseChange{ath}ml},
  long={mathematical markup language},
  description={an \gls{xml}-based language for describing mathematical notation}
}
\end{filecontents*}
\begin{filecontents*}{symbols.bib}
@preamble{"\providecommand{\mtx}[1]{\boldsymbol{#1}}"} 

@symbol{M,
  name={\ensuremath{\mtx{M}}},
  description={a matrix}
} 

@symbol{v,
  name={\ensuremath{\vec{v}}},
  description={a vector}
} 

@symbol{S,
  name={\ensuremath{\mathcal{S}}},
  description={a set}
}
\end{filecontents*}
\usepackage[T1]{fontenc}
\usepackage[colorlinks]{hyperref}
\usepackage[record]{glossaries-extra} 

\newignoredglossary{ignored}
\setabbreviationstyle{long-short-sc-desc} 

\GlsXtrLoadResources[
 src={terms,abbrvs,symbols},
 field-aliases={fulllong=long},
 trigger-type=ignored,
 category={same as entry}
] 

\glsxtrenablerecordcount
\GlsXtrSetRecordCountAttribute{symbol,abbreviation}{1} 

\glsdefpostlink{entry}{\glsxtrpostlinkAddDescOnFirstUse}
\glsdefpostlink{symbol}{\glsxtrpostlinkAddDescOnFirstUse} 
\begin{document}
\gls{M}, \gls{ssi}, \gls{bird}, \gls{html},
\gls{M}, \gls{html}. 

\printunsrtglossaries 
\end{document}
