Centralize os títulos dos grupos do glossário

Centralize os títulos dos grupos do glossário

Tenho usado glossaries-extrapara gerar uma lista de símbolos em minha tese, mas tenho lutado no lado da formatação. Mais especificamente, o problema é que os títulos dos meus capítulos estão centralizados, mas os títulos dos grupos do glossário não.

Dei uma olhada na galeria paraBlocos de grupo personalizadose também as diferentes formatações style, mas não consegui encontrar uma solução. Idealmente, a lista deve ser semelhante a style=long(veja a Fig. abaixo), mas com títulos de grupos presentes e centralizados.

Existe uma maneira simples de centralizar os títulos dos grupos de um glossário?

MWE:

\documentclass[parskip,12pt,oneside,a4paper]{scrbook}
\usepackage[record,symbols,nomain,stylemods={tree},shortcuts=other]{glossaries-extra}

\renewcommand*{\raggedchapter}{\centering}% Make chapters centred
\addtokomafont{disposition}{\rmfamily}% Roman fonts for Ch

\glsxtrsetgrouptitle{bte}{Neutron transport}
\glsxtrsetgrouptitle{angdisc}{Angular discretisations}

\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newentry{r}{
  name={\ensuremath{\mathbf{r}}},
  description={Position},
  group={bte},
  type={symbols}
}
\newentry{S2}{
  name={\ensuremath{\mathit{S_2}}},
  description={Angular domain: the unit sphere},
  group={bte},
  type={symbols}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newentry{SN}{
  name={\ensuremath{S_N}},
  description={Discrete Ordinates discretisation of \gls{S2}},
  group={angdisc},
  type={symbols}
}
\newentry{PN}{
  name={\ensuremath{P_N}},
  description={Spherical Harmonics discretisation of \gls{S2}},
  group={angdisc},
  type={symbols}
}

% \printunsrtglossary[type=symbols,style=long,title={List of Symbols}]
\printunsrtglossary[type=symbols,style=indexgroup,title={List of Symbols}]
\clearpage

\end{document}

Responder1

Para responder à pergunta você poderia simplesmente renovar o formato usando

\renewcommand\glstreegroupheaderfmt[1]{\begin{center}\textbf{#1}\end{center}\vspace{-\parskip}}

e mudando para o alttreegroupestilo. Portanto você também deve usar

\glsfindwidesttoplevelname

antes da chamada de \printunsrtglossary. No final deve ficar assim:

insira a descrição da imagem aqui

Responder2

Tendo testado algumas alternativas, incluindo a resposta postada por @Venez, acho que a solução mais fácil para esta questão é definir um novo estilo de glossário baseado em long. O longestilo é efetivamente um, longtableo que significa que manipulações simples de colunas podem resultar no estilo solicitado, ou seja, títulos de grupos centralizados e entradas de glossário sendo colocados no centro da página.

Solução:

\documentclass[parskip,12pt,oneside,a4paper]{scrbook}
\usepackage[record,symbols,nomain,stylemods={tree},shortcuts=other]{glossaries-extra}% list of symbols

\renewcommand*{\raggedchapter}{\centering}% Make chapters centred
\addtokomafont{disposition}{\rmfamily}% Roman fonts for Ch

\glsxtrsetgrouptitle{bte}{Neutron transport}
\glsxtrsetgrouptitle{angdisc}{Angular discretisations}

% Define a custom long style for groups; style=long uses longtables
\newglossarystyle{longgroup}{%
    \setglossarystyle{long}%
  \renewcommand*{\glsgroupheading}[1]{%
    &%  Add empty column in longtable 
    \multicolumn{1}{c}{% Change the alignment just for the group title to centre
          \glsxtrgetgrouptitle{##1}{\glsxtrgrptitle}%
          % \glstreePreHeader{##1}{\glsxtrgrptitle}%
      \glstreegroupheaderfmt{\glsxtrgrptitle}%
    }%
    \cr% newline in table
    %\glsgroupskip% Uncomment for additional spacing below group title
    }%
}%

\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newentry{r}{
  name={\ensuremath{\mathbf{r}}},
  description={Position},
  group={bte},
  type={symbols}
}
\newentry{S2}{
  name={\ensuremath{\mathit{S_2}}},
  description={Angular domain: the unit sphere},
  group={bte},
  type={symbols}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newentry{SN}{
  name={\ensuremath{S_N}},
  description={Discrete Ordinates discretisation of \gls{S2}},
  group={angdisc},
  type={symbols}
}
\newentry{PN}{
  name={\ensuremath{P_N}},
  description={Spherical Harmonics discretisation of \gls{S2}},
  group={angdisc},
  type={symbols}
}

% \printunsrtglossary[type=symbols,style=long,title={List of Symbols}]
\printunsrtglossary[type=symbols,style=longgroup,title={List of Symbols}]
\clearpage

\end{document}

insira a descrição da imagem aqui

informação relacionada