词汇表/缩写词条目中的西里尔文

词汇表/缩写词条目中的西里尔文

我想用保加利亚语定义首字母缩略词和术语。不幸的是,当我这样做时,LaTeX 给出了一大堆错误并且无法编译。有什么可以帮忙的吗?

\documentclass[a4paper,10pt]{article}
\usepackage{ucs}
\usepackage[cp1251]{inputenc}
\usepackage[english,bulgarian]{babel}
\inputencoding{cp1251}
\usepackage[makeindex,acronym]{glossaries}
\usepackage[dvipdfm,unicode]{hyperref}
\hypersetup{colorlinks=true, linkcolor=black}
\makeglossaries
\newacronym{SVN}{SVN}{Apache Subversion Control}
%\newacronym{БДЖ}{БДЖ}{Българска държавна железница}
\begin{document}
\gls{SVN}
%\gls{БДЖ}
\pagenumbering{arabic}
\glossarystyle{altlistgroup}
\glsaddall
\printglossaries
\end{document}

当你从评论中删除“%”时,你会看到我在说什么(我已经评论了保加利亚语缩写的条目和引用)

答案1

这里有三个问题:

  1. 词汇表标签不能包含活动字符(非拉丁字符,包括重音字母,如 é,都是活动的)。这是因为标签用于定义用于存储词汇表信息的各种控制序列。
  2. 的旧版本glossaries在诸如 等领域中存在脆弱命令的问题text。 可以通过升级到 的最新版本glossaries(撰写本文时为 v4.01)来解决这个问题。
  3. makeindex不适用于非拉丁字符。您可以改用xindy,但需要使用xindy={glsnumbers=false}非拉丁语言的包选项。

最小示例(需要glossariesv4.01 和xindy):

\documentclass[a4paper,10pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[english,bulgarian]{babel}

\usepackage[xindy={glsnumbers=false},acronym]{glossaries}
\usepackage[unicode]{hyperref}

\hypersetup{colorlinks=true, linkcolor=black}
\makeglossaries

\newacronym{SVN}{БДЖ}{Българска държавна железница}

\begin{document}
\gls{SVN}
\pagenumbering{arabic}
\setglossarystyle{altlistgroup}

\glsaddall
\printglossaries
\end{document}

得出的结果为:

生成的文档的图像

(你需要重新定义\acronymname为适当的翻译,请参阅“更改固定名称“在glossaries用户手册中。)

相关内容