如何在索引中使用多种字体?

如何在索引中使用多种字体?

我正在使用 xetex 排版一本多语言书籍,使用 polyglossia 来表示不同的字体。由于索引包含不同的语言,我需要使用包含两种语言的主字体。但有一章包含 trans i,我可以更改特定章节的索引字体吗?我尝试使用该idxlayout包并在序言中使用这个命令:(\englishfont 是使用 \newfontfamily 命令定义的)

\renewcommand*{\indexfont}{\englishfont}

但是当我尝试将其更改为 \begingroup 中的另一种字体时,它不起作用。

\begingroup 
\renewcommand*{\indexfont}{\malayalamfont}
\KOMAoptions{fontsize=11pt}
സ്വകാര്യവ്യക്തിബോധം, രേഖീയയുക്തി,
ഭാഷാദേശീയത, ഗദ്യത്തിന് കൈവന്ന മേൽക്കൈ, പൊതുമണ്ഡലനിർമ്മിതി
തുടങ്ങിയവയ്ക്കെല്ലാം പിന്നിൽ അച്ചടിയുണ്ടായിരുന്നു. മാധ്യമചിന്തകനായ
മാർഷൽ മക് ലൂഹൻ\index{മാർഷൽ മക് ലൂഹൻ} `ഗുട്ടൻബർഗ്ഗ് ഗാലക് സി'\index{ഗുട്ടൻബർഗ്ഗ് ഗാലക് സി} എന്ന് വിശേഷിപ്പിച്ച പുതിയ
ലോകസന്ദർഭത്തിന്റെയും ജീവിതാവബോധത്തിന്റെയും കേന്ദ്രമായി അത് നിലനിന്നു.
\endgroup

This encounter has since passed into the folklore of the coming of print to Bengal. Carey's own arrival in India had been in November 
1793 and from the very beginning, his one aim had been to translate 
and print the gospels in Bengali. As early as in January 1794, 
Carey's associate John Thomas\index{Thomas, John} consulted a printer 
in Calcutta about the costs of printing a Bengali Bible. But 
financial hardship sent Carey all the way up to Madnabati in Malda 
district, where an indigo planter by the name of George Udny provided
employment to both Carey and Thomas. All along, Carey continued to 
learn Bengali from his \textit{munshi} Ramram Basu,\index{Basu, Ramram}
\printindex

有什么方法可以更改 \begingroup 内的索引字体?我希望英语部分的索引采用 englishfont,而其他语言部分的索引采用不同的字体。我只能选择一种字体\renewcommand*{\indexfont}{\englishfont}。我想更改 内的索引字体\begingroup

答案1

不幸的是, makeindex 支持一种形式\index{sort-text@typset version},与格式化页码不同,如果排版版本是用于排序的文本的样式版本,则需要重复它,但是你可以这样做

\newcommand\mindex[1]{\index{#1@{\malayamfont#1}}}

那么您只需要\index{abc}拉丁语脚本和\mindex{ഗുട്ടൻബർഗ്ഗ് ഗാലക്‌സി}马拉雅拉姆语。

或者,如果您使用的是 lualatex,则可以保留原来的版本。babel 确实有代码可以根据输入中使用的脚本切换字体/语言,因此不需要显式切换字体。请参阅

是否有可能自动排版多种语言脚本的 Unicode 输入,而无需插入特殊命令?

相关内容