Глоссарии-дополнительная ошибка с кодировкой utf-8 запись глоссария

Глоссарии-дополнительная ошибка с кодировкой utf-8 запись глоссария

Я использую пакет glossaries-extra для написания страницы глоссария, и он хорошо работает с английским языком, однако, когда я вставляю запись с кодировкой utf-8, возникает ошибка.

Вот мой MWE:

\documentclass{article}
\usepackage[utf8]{vietnam}
\usepackage[automake]{glossaries-extra}
\makeglossaries
\newglossaryentry{ABC}
{name = ABC, 
description = {A programming language}                      
}
\newglossaryentry{Haskell}
{name = Haskell, 
description = {A programming language}                      
}
\longnewglossaryentry{Hello World}
{name = Hello World, 
description = {It's Hello World, you fool}                      
}
\newglossaryentry{biến}
{name = biến, 
description = {label for an information}                
}

\begin{document}
\Gls{ABC}, \Gls{Haskell}, \Gls{Hello World}. 

Trong Python, \gls{biến} là một nhãn để gán giá trị. 

\printglossary[nonumberlist]
\end{document}

Как это исправить, чтобы правильно распечатать страницу глоссария?

Пожалуйста, помогите мне.

Спасибо.

решение1

Ваша главная проблема не biếnв том, что вы используете \longnewglossaryentryтолько два аргумента вместо трех. Команда ожидает descriptionтретий аргумент, а не только ключ=значение для второго. Чтобы использовать:

\documentclass{article}
\usepackage[utf8]{vietnam}
\usepackage[automake]{glossaries-extra}
\makeglossaries
\newglossaryentry{ABC}
{name = ABC, 
description = {A programming language}                      
}
\newglossaryentry{Haskell}
{name = Haskell, 
description = {A programming language}                      
}
\newglossaryentry{Hello World}
{name = Hello World, 
description = {It's Hello World, you fool}                      
}
\newglossaryentry{biến}
{name = biến, 
description = {label for an information}                
}

\begin{document}
\Gls{ABC}, \Gls{Haskell}, \Gls{Hello World}. 

Trong Python, \gls{biến} là một nhãn để gán giá trị. 

\printglossary[nonumberlist]
\end{document}

или

\documentclass{article}
\usepackage[utf8]{vietnam}
\usepackage[automake]{glossaries-extra}
\makeglossaries
\newglossaryentry{ABC}
{name = ABC, 
description = {A programming language}                      
}
\newglossaryentry{Haskell}
{name = Haskell, 
description = {A programming language}                      
}
\newglossaryentry{Hello World}
{name = Hello World, 
description = {It's Hello World, you fool}                      
}
\longnewglossaryentry{biến}
{name = biến}{label for an information}                

\begin{document}
\Gls{ABC}, \Gls{Haskell}, \Gls{Hello World}. 

Trong Python, \gls{biến} là một nhãn để gán giá trị. 

\printglossary[nonumberlist]
\end{document}

Я сам всегда предпочитаю своего рода латинскую транскрипцию для<метка-записи>аргумент \newglossaryentry:

\documentclass{article}
\usepackage[utf8]{vietnam}
\usepackage[automake]{glossaries-extra}
\makeglossaries
\newglossaryentry{ABC}
{name = ABC, 
description = {A programming language}                      
}
\newglossaryentry{Haskell}
{name = Haskell, 
description = {A programming language}                      
}
\newglossaryentry{Hello World}
{name = Hello World, 
description = {It's Hello World, you fool}                      
}
\newglossaryentry{bien}
{name = biến,
description = {label for an information}                
}

\begin{document}
\Gls{ABC}, \Gls{Haskell}, \Gls{Hello World}. 

Trong Python, \gls{bien} là một nhãn để gán giá trị. 

\printglossary[nonumberlist]
\end{document}

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