실제로 용어집의 약어 접미사는 마지막으로 로드된 언어에 대한 것이 아닙니다.

실제로 용어집의 약어 접미사는 마지막으로 로드된 언어에 대한 것이 아닙니다.

' glossaries(v4.42) 사용자 설명서 주장 (페이지 48):

참고: 복수형이 지정되지 않은 경우 복수형을 생성하는 데 사용되는 접미사는 \glspluralsuffix(일반 항목의 경우) [...]

이는 실제로 접미사가 이러한 명령을 재정의한 마지막 로드된 언어에 대한 것임을 의미합니다.

그러나 다음 MCE는 다음과 같습니다.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french,ngerman,dutch,english]{babel}
\usepackage{glossaries}

\newacronym{gnu}{GNU}{GNU's Not Unix}

\begin{document}
\gls{gnu}

\glspl{gnu}
\end{document}

그 이후로는 그렇지 않다고 지적합니다.

  1. 해당 .log파일은 마지막으로 로드된 파일이 첫 번째.ldf 로드된 언어 의 파일임을 보여줍니다 .

    (/usr/local/texlive/2018/texmf-dist/tex/latex/glossaries-english/glossaries-english.ldf)
    (/usr/local/texlive/2018/texmf-dist/tex/latex/glossaries-dutch/glossaries-dutch.ldf)
    (/usr/local/texlive/2018/texmf-dist/tex/latex/glossaries-german/glossaries-german.ldf)
    (/usr/local/texlive/2018/texmf-dist/tex/latex/glossaries-french/glossaries-french.ldf)
    
  2. 프랑스어의 경우에는 해당하지만 영어, 네덜란드어 또는 독일어의 경우에는 접미사가 비어 있습니다.

더욱 이상한 점은 언어 목록이 문서 클래스 수준에서 지정된 경우입니다.

\documentclass[french,ngerman,dutch,english]{article}
...
\usepackage{babel}
...

순서나 로드된 내용이 glossaries-*.ldf무작위인 것 같습니다.

(/usr/local/texlive/2018/texmf-dist/tex/latex/glossaries-dutch/glossaries-dutch.ldf)
(/usr/local/texlive/2018/texmf-dist/tex/latex/glossaries-english/glossaries-english.ldf)
(/usr/local/texlive/2018/texmf-dist/tex/latex/glossaries-french/glossaries-french.ldf)
(/usr/local/texlive/2018/texmf-dist/tex/latex/glossaries-german/glossaries-german.ldf)

무슨 일인지 아시나요?

답변1

로드 순서는 tracklang의 추적된 언어/방언 목록(즉, 식별된 문서 언어/방언 목록)에 따라 결정됩니다.

tracklang(에서 사용되는) 패키지는 다음 glossaries과 같이 문서 언어를 결정하려고 시도합니다.

  1. If는 tracklang다음과 같은 옵션으로 명시적으로 로드됩니다.

    \usepackage[french,ngerman,dutch,english]{tracklang}
    

    또는 다음과 같은 문서 클래스 옵션을 선택하는 경우:

    \documentclass[french,ngerman,dutch,english]{article}
    \usepackage{tracklang}
    

    그런 다음 tracklang.sty정의된 순서에 따라 언어 또는 방언을 추적합니다 tracklang.tex(미리 정의된 언어 및 방언의 전체 목록은 에서 찾을 수 있습니다 \@tracklang@declaredoptions).

  2. 패키지 옵션을 선택하지 않으면 tracklang.sty알려진 언어 패키지가 로드되었는지 확인합니다. 먼저 \bbl@loaded(제공 babel)이 정의되어 있는지 확인합니다. 그렇다면 tracklang.sty목록을 반복하여 알려진 방언 레이블을 추적하거나 인식할 수 없는 레이블이 발견되면 경고합니다. 이는 다음을 의미합니다.

    \usepackage[french,ngerman,dutch,english]{babel}
    \usepackage{tracklang}
    

    그러면 순서는 의 순서와 일치합니다 \bbl@loaded.

예를 들어 문서 클래스 옵션은 다음과 같습니다.

\documentclass[french,ngerman,dutch,english]{article}
\usepackage{tracklang}

\makeatletter
\show\@tracklang@languages
\show\@tracklang@dialects

\begin{document}
\end{document}

성적표는 다음을 보여줍니다.

> \@tracklang@languages=macro:
->dutch,english,french,german.
l.5 \show\@tracklang@languages

? 
> \@tracklang@dialects=macro:
->dutch,english,french,ngerman.
l.6 \show\@tracklang@dialects

와 함께 babel:

\documentclass{article}
\usepackage[french,ngerman,dutch,english]{babel}
\usepackage{tracklang}

\makeatletter
\show\@tracklang@languages
\show\@tracklang@dialects
\show\bbl@loaded

\begin{document}
\end{document}

이제 성적표에 다음이 표시됩니다.

> \@tracklang@languages=macro:
->english,dutch,german,french.
l.6 \show\@tracklang@languages

? 
> \@tracklang@dialects=macro:
->english,dutch,ngerman,french.
l.7 \show\@tracklang@dialects

? 
> \bbl@loaded=macro:
->english,dutch,ngerman,french.
l.8 \show\bbl@loaded

따라서 이 순서는 babel에 주어진 의 순서 와 일치합니다 \bbl@loaded.

각 방언을 명시적으로 추적합니다.

\documentclass{article}
\usepackage{tracklang}
\TrackPredefinedDialect{french}
\TrackPredefinedDialect{ngerman}
\TrackPredefinedDialect{dutch}
\TrackPredefinedDialect{english}

\makeatletter
\show\@tracklang@languages
\show\@tracklang@dialects

\begin{document}
\end{document}

이제 성적표에 다음이 표시됩니다.

> \@tracklang@languages=macro:
->french,german,dutch,english.
l.9 \show\@tracklang@languages

? 
> \@tracklang@dialects=macro:
->french,ngerman,dutch,english.
l.10 \show\@tracklang@dialects

순서는 항상 언어/방언이 추적된 순서를 따르지만 이렇게 하면 해당 순서가 무엇인지 더 명확해집니다.

패키지 의 문제 glossaries는 명령이 언제 확장될지 보장할 수 있는 방법이 없고 언어 패키지에서 제공하는 순서에 따라 어떤 .ldf파일이 필요한지 결정할 수 있기 때문에 접미사 명령을 언어 후크에 추가할 수 없다는 것입니다. 짐을 실은. 접미사는 실제로 마지막으로 로드된 언어를 따르지만 순서가 babel옵션 목록에 지정된 순서와 일치한다고 보장되지는 않습니다.

관련 정보