我想用保加利亚语定义首字母缩略词和术语。不幸的是,当我这样做时,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
这里有三个问题:
- 词汇表标签不能包含活动字符(非拉丁字符,包括重音字母,如 é,都是活动的)。这是因为标签用于定义用于存储词汇表信息的各种控制序列。
- 的旧版本
glossaries
在诸如 等领域中存在脆弱命令的问题text
。 可以通过升级到 的最新版本glossaries
(撰写本文时为 v4.01)来解决这个问题。 makeindex
不适用于非拉丁字符。您可以改用xindy
,但需要使用xindy={glsnumbers=false}
非拉丁语言的包选项。
最小示例(需要glossaries
v4.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
用户手册中。)