Многострочные названия глоссариев: как воспроизвести стиль altlist в глоссариях с помощью стиля index, чтобы разрешить их (или как разрешить их в стиле altlist)?

Многострочные названия глоссариев: как воспроизвести стиль altlist в глоссариях с помощью стиля index, чтобы разрешить их (или как разрешить их в стиле altlist)?

Мне очень понравился altlist-style в глоссариях, но я не нашел способа, как он мог бы обрабатывать многострочные имена, поэтому я искал альтернативу и придумал index-style, который допускал бы многострочные имена, но выглядит для меня уродливо. По сути, я хочу, чтобы имена не были с отступом, а описания и немного места между именем и описанием (как в altlist-style).

Этого, вероятно, должно быть довольно легко достичь, работая с "\glstreepredesc", но я не смог этого сделать. Если бы кто-то мог помочь, это было бы идеально. (Или, возможно, в качестве альтернативы, есть ли решение иметь многострочные имена в стиле altlist?)

Вот MWE

% arara: pdflatex
% arara: makeglossaries
% arara: pdflatex

\documentclass[fontsize=10pt]{scrbook}
\usepackage{geometry}
\geometry{
    paperheight=213mm,
    paperwidth=140mm,
    left=16mm,
    right=16mm,
    top=21mm,
    bottom=16mm,
    heightrounded,
}

\usepackage[
nopostdot]{glossaries}

\makeglossaries

\newglossaryentry{long-long-long-argument}
{
    name={The Name for the Very Long and the Most Important Argument in the Text},
    text={The Name for the Very Long and the Most Important Argument in the Text},
    description={The Very Long Description of the Very Long and the Most Important Argument in the Text. The Very Long Description of the Very Long and the Most Important Argument in the Text.}
}
\newglossaryentry{short-argument}
{
    name={Very Short argument.},
        text={Very Short argument.},
    description={Description of a very short argument. Description of a very short argument.},
}


\renewcommand{\glstreepredesc}{%
    \glstreeitem\parindent\hangindent}

\begin{document}

\gls{long-long-long-argument} \gls{short-argument}

\printglossary[style=index,nonumberlist]

\end{document}

Стиль Altlist

Индекс-стиль

решение1

list(и таким образом altlist) просто использует descriptionсписок для набора глоссария, поэтому мы можем использовать enumitemдля настройки его поведения. После загрузки этого пакета и использования altlist, мы можем заставить имена сломаться, просто сказав

\setlist[description]{style=unboxed}

Чтобы выровнять все строки имени по левому краю (не уверен, что это хорошая идея), мы можем определить пользовательское выравнивание.

\SetLabelAlign{horstfuchs}{\parbox[b]{\textwidth}{#1}}
\setlist[description]{style=unboxed, align=horstfuchs, labelsep=0pt}

Чтобы определения не менялисьвсе descriptionсписков в вашем документе, вам следует создать соответствующий стиль глоссария, а не просто менять настройки глобально.

\SetLabelAlign{horstfuchs}{\parbox[b]{\textwidth}{#1}}%
\newglossarystyle{horstfuchs}{%
  \setglossarystyle{altlist}%
  \renewenvironment{theglossary}%
    {\glslistinit\begin{description}[style=unboxed, align=horstfuchs, labelsep=0pt]}%
    {\end{description}}%
}

Связанный контент