\documentclass[twoside,11pt,openany]{book}
\usepackage{polyglossia}
\usepackage{fontspec,graphicx}
\usepackage{setspace}
\usepackage{fancyhdr}
\usepackage{imakeidx}
\newfontscript{Devanagari}{deva,dev2}
\newcommand{\arabictodevnag}[1]%
{%
\StrSubstitute{#1}{0}{०}[\num]%
\StrSubstitute{\num}{1}{१}[\num]%
\StrSubstitute{\num}{2}{२}[\num]%
\StrSubstitute{\num}{3}{३}[\num]%
\StrSubstitute{\num}{4}{४}[\num]%
\StrSubstitute{\num}{5}{५}[\num]%
\StrSubstitute{\num}{6}{६}[\num]%
\StrSubstitute{\num}{7}{७}[\num]%
\StrSubstitute{\num}{8}{८}[\num]%
\StrSubstitute{\num}{9}{९}%
}
\newcommand{\devanagarinumeral}[1]{%
\devanagaridigits{\number\csname c@#1\endcsname}}
\def\goodbreak{\par\penalty-300 }
\setmainlanguage{sanskrit}
\XeTeXgenerateactualtext=1
\setmainfont[Ligatures=TeX,AutoFakeBold=3.5,AutoFakeSlant,WordSpace=1.2]{Sanskrit 2003}
\makeindex[title=सूत्रानुक्रमणिका,program=texindy,options=-I omega -M mystyle.xdy -L hindi,columnseprule=true,columns=2]
\begin{document}
\fontsize{13}{15}\selectfont
अथातो\index{अथातो} ब्रह्मजिज्ञासा\index{ब्रह्मजिज्ञासा}~॥१॥ जन्माद्यस्य\index{जन्माद्यस्य} यतः~॥२॥ शास्त्रयोनित्वात्\index{शास्त्रयोनित्वात्}~॥३॥ तत्तु समन्वयात्\index{समन्वयात्}~॥४॥ ईक्षतेर्नाशब्दम्\index{ईक्षतेर्नाशब्दम्}~॥५॥ गौणश्चेन्नात्मशब्दात्\index{गौणश्चेन्नात्मशब्दात्}~॥६॥ तन्निष्ठस्य\index{तन्निष्ठस्य} मोक्षोपदेशात्~॥७॥ हेयत्वावचनाच्च~॥८॥ स्वाप्ययात्~॥९॥ गतिसामान्यात्~॥१०॥ श्रुतत्वाच्च~॥११॥ आनन्दमयोऽभ्यासात्~॥१२॥ विकारशब्दान्नेति चेन्न प्राचुर्यात्~॥१३॥ तद्धेतुव्यपदेशाच्च~॥१४॥ मान्त्रवर्णिकमेव च गीयते~॥१५॥ नेतरोऽनुपपत्तेः~॥१६॥ भेदव्यपदेशाच्च~॥१७॥ कामाच्च नानुमानापेक्षा~॥१८॥ अस्मिन्नस्य च तद्योगं शास्ति~॥१९॥ अन्तस्तद्धर्मोपदेशात्~॥२०॥ भेदव्यपदेशाच्चान्यः~॥२१॥ आकाशस्तल्लिङ्गात्~॥२२॥ अत एव प्राणः~॥२३॥ ज्योतिश्चरणाभिधानात्~॥२४॥ छन्दोभिधानान्नेति चेन्न तथा चेतोर्पणनिगदात्तथाहि दर्शनम्~॥२५॥ भूतादिपादव्यपदेशोपपत्तेश्चैवम्~॥२६॥ उपदेशभेदान्नेति चेन्नोभयस्मिन्नप्यविरोधात्~॥२७॥ प्राणस्तथानुगमात्~॥२८॥ न वक्तुरात्मोपदेशादिति चेदध्यात्मसम्बन्धभूमा ह्यस्मिन्~॥२९॥ शास्त्रदृष्ट्या तूपदेशो वामदेववत्~॥३०॥ जीवमुख्यप्राणलिङ्गान्नेति चेन्नोपासात्रैविध्यादाश्रितत्वादिह तद्योगात्~॥३१॥
\printindex
\end{document}
当我在上述示例上运行 xelatex 时,它会生成包含索引条目的 file.idx 文件。当我运行
texindy -I omega -M mystyle.xdy -L hindi test_xetex.idx
上述命令没有产生任何错误但生成了以下 ind 文件。
\begin{theindex}
\providecommand*\lettergroupDefault[1]{}
\providecommand*\lettergroup[1]{%
\par\textbf{#1}\par
\nopagebreak
}
\end{theindex}
如何解决上述问题
问候
希瓦尚卡尔
答案1
您需要请求utf8
编码而不是omega
输入格式:
xindy -C utf8 -L hindi -M devnumbers test_xetex.idx
因为您想使用天城文数字作为页面位置,所以我们需要制作自定义 Xindy 模块,其中将包含将阿拉伯文页码转换为天城文的宏devnumbers.xdy
:
(require "texindy.xdy")
(markup-locref :open "\devanagaridigits{" :close "}")
(markup-locref :open "\textbf{\devanagaridigits{" :close "}}" :attr "textbf")
该模块需要 Xindy 配置用于 LaTeX 标记,然后接下来是两个位置标记定义,第一个用于普通索引条目,第二个用于\index{term|textbf}
表格,将以粗体打印页码。
生成的.ind
文件:
\begin{theindex}
\providecommand*\lettergroupDefault[1]{}
\providecommand*\lettergroup[1]{%
\par\textbf{#1}\par
\nopagebreak
}
\lettergroup{अ}
\item अथातो, \devanagaridigits{1}
\indexspace
\lettergroup{ई}
\item ईक्षतेर्नाशब्दम्, \devanagaridigits{1}
\indexspace
\lettergroup{ग}
\item गौणश्चेन्नात्मशब्दात्, \devanagaridigits{1}
\indexspace
\lettergroup{ज}
\item जन्माद्यस्य, \devanagaridigits{1}
\indexspace
\lettergroup{त}
\item तन्निष्ठस्य, \devanagaridigits{1}
\indexspace
\lettergroup{ब}
\item ब्रह्मजिज्ञासा, \devanagaridigits{1}
\indexspace
\lettergroup{श}
\item शास्त्रयोनित्वात्, \devanagaridigits{1}
\indexspace
\lettergroup{स}
\item समन्वयात्, \devanagaridigits{1}
\end{theindex}
使用-I omega
选项时,我收到一个错误:
sh: /usr/local/texlive/2016/bin/x86_64-linux/tex2xindy -o: Adresář nebo soubor neexistuje
编译继续,但得到的索引为空。
编译继续,但索引为空