Я использую пакет 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}