Erro extra de glossários com entrada de glossário de codificação utf-8

Erro extra de glossários com entrada de glossário de codificação utf-8

Eu uso o pacote glossaries-extra para escrever minha página de glossário e funciona bem com o inglês, porém, quando insiro uma entrada com codificação utf-8, ocorre um erro.

Aqui está meu 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}

Como posso corrigir isso para imprimir minha página do glossário corretamente?

Por favor me ajude.

Obrigado.

Responder1

Seu principal problema não é biến, seu principal problema é que você está usando \longnewglossaryentryapenas dois em vez de três argumentos. O comando espera o descriptionterceiro argumento não apenas como key=value para o segundo. Para usar:

\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}

ou

\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}

Eu mesmo prefiro sempre uma espécie de transcrição latina para o<rótulo de entrada>argumento de \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}

informação relacionada