용어집: 작동하지 않는 그룹

용어집: 작동하지 않는 그룹

sort=def다음에 대한 옵션을 사용하고 싶습니다 .용어집와 함께 style=alttreehypergroup. 그러나 을 지정하자마자 sort=def해당 그룹은 더 이상 인식되지 않습니다.

MWE:

% arara: pdflatex: { action: nonstopmode, options: "-halt-on-error -file-line-error" }
% arara: makeglossaries
% arara: pdflatex: { action: nonstopmode, options: "-halt-on-error -file-line-error" }
\documentclass{report}

\usepackage[colorlinks]{hyperref}

% WORKING:
% \usepackage[style=alttreehypergroup, symbols, nolong, nosuper, nonumberlist]{glossaries}

% NOT WORKING:
\usepackage[sort=def, style=alttreehypergroup, symbols, nolong, nosuper, nonumberlist]{glossaries}

\glssetwidest[1]{xxxx}
\makeglossaries

\newglossaryentry{firstgroup}{name={firstgroup}, description={\nopostdesc}}
\newglossaryentry{aaa}{name={aaa}, description=abcd, parent=firstgroup}

\newglossaryentry{secondgroup}{name={secondgroup}, description={\nopostdesc}}
\newglossaryentry{bbb}{name={bbb}, description=abcd, parent=secondgroup}

\begin{document}
\glsaddall
\printglossaries
\end{document}

내가 원하는 출력은 다음과 같습니다 sort=def.

좋은

내가 얻는 것 sort=def:

나쁜

내 실수인가요 아니면 버그인가요?

답변1

이것은 버그라기보다는 기능입니다 ;-). 이 옵션은 키 값이 아닌 숫자로 키를 sort=def설정하여 작동합니다 . 파일 을 보면 다음과 같습니다.sortname.glo

\glossaryentry{000001?\glossentry{firstgroup}|setentrycounter[]{page}\glsnumberformat}{1}
\glossaryentry{000001?\glossentry{firstgroup}!000002?\subglossentry{1}{aaa}|setentrycounter[]{page}\glsnumberformat}{1}
\glossaryentry{000003?\glossentry{secondgroup}|setentrycounter[]{page}\glsnumberformat}{1}
\glossaryentry{000003?\glossentry{secondgroup}!000004?\subglossentry{1}{bbb}|setentrycounter[]{page}\glsnumberformat}{1}

이제 인덱싱 그룹은 하나만 있으며 이는 "숫자" 그룹입니다. 이 방법은 makeindex정의에 따라 정렬하는 유일한 방법입니다 . 사실, makeindex정의에 따라 정렬하도록 속이는 것뿐입니다. makeindex의 관점 에서는 단순히 일반적인 정렬 알고리즘을 사용하는 것입니다.

그룹은 사용할 때 실제로 의미가 없거나 sort=def순서 sort=use가 그룹으로 제한된다는 보장이 없기 때문에 의미가 없습니다. duck, parrot, 의 순서로 용어를 정의하면 어떻게 될까요 dog? 당신은 D그룹, P그룹 및 다른 D그룹 으로 끝날 것입니다 .

그러나 이렇게 분할된 그룹이 없는지 확인하는 책임을 맡고 싶다면 매뉴얼에서 "옵션 1"이라고 부르는 것을 사용할 수 있습니다.

\documentclass{report}

\usepackage[colorlinks]{hyperref}

\usepackage[style=alttreehypergroup, nolong,nosuper,nonumberlist]{glossaries}

\glssetwidest[1]{xxxx}
\makenoidxglossaries

\newglossaryentry{firstgroup}{name={firstgroup},
description={\nopostdesc}}
\newglossaryentry{aaa}{name={aaa}, description=abcd,
parent=firstgroup}

\newglossaryentry{secondgroup}{name={secondgroup},
description={\nopostdesc}}
\newglossaryentry{bbb}{name={bbb}, description=abcd,
parent=secondgroup}

\begin{document}
\glsaddall

\printnoidxglossary[sort=def]
\end{document}

원하는 대로 작동하려면 패키지 옵션 목록에 없는 sort=def선택적 인수에 들어가야 합니다 .\printnoidxglossary

관련 정보