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
설정하여 작동합니다 . 파일 을 보면 다음과 같습니다.sort
name
.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