如何使用 babel 包创建孟加拉语索引

如何使用 babel 包创建孟加拉语索引

我在索引中遇到问题孟加拉语语言memoir。我正在使用babel具有以下设置的包(如代码所示)。但它根本不起作用。

梅威瑟:

\documentclass{memoir}

\usepackage[english.bidi=basic,layout=lists.tabular]{babel}
\babelprovide[import, onchar = fonts ids]{bengali}
% \babelfont[bengali]{rm}[Renderer=Harfbuzz]{FreeSerif}
\babelfont[bengali]{rm}[Renderer=Harfbuzz,AutoFakeBold,AutoFakeSlant=0.3]{Kalpurush}
\babelcharproperty{`।}{locale}{bengali}

% bangla numerals
\babelprovide[maparabic,alph=alphabetic]{bengali}

\usepackage{imakeidx}
\makeindex

\usepackage{amsmath}

\begin{document}

যুক্তরাষ্ট্রের ভাইস প্রেসিডেন্ট \index{ভাইস প্রেসিডেন্ট} হয়ে ইতিহাস সৃষ্টি করেছিলেন কমলা হ্যারিস \index{কমলা হ্যারিস}। আবারও ইতিহাস সৃষ্টি করলেন তিনি। এবার প্রেসিডেন্ট \index{প্রেসিডেন্ট} হলেন কমলা। এই প্রথম কোনো নারী যুক্তরাষ্ট্রে প্রেসিডেন্টের ক্ষমতা পেলেন।

{যুক্তরাজ্যের}\index{যুক্তরাজ্যের} গণমাধ্যম বিবিসির খবরে বলা হয়েছে, মার্কিন প্রেসিডেন্ট জো বাইডেনের নিয়মিত স্বাস্থ্য পরীক্ষা অংশ হিসেবে গতকাল শুক্রবার কোলোনোস্কপি \index{কোলোনোস্কপি} করা হয়। এ সময় প্রেসিডেনশিয়াল ক্ষমতা দেওয়া হয়েছিল কমলাকে। ৫৭ বছর বয়সী কমলা প্রেসিডেন্ট হয়েছিলেন ৮৫ মিনিটের জন্য।

জো বাইডেনের যখন কোলোনোস্কপি করা হচ্ছিল, তখন তাঁকে চেতনানাশক দেওয়া হয়। তাই তিনি ক্ষমতা হস্তান্তর করেছিলেন কমলার কাছে। এ চিকিৎসা কার্যক্রম শেষে বাইডেনের চিকিৎসক \index{চিকিৎসক} কেভিন ও’কনর এক বিবৃতিতে বলেন, তাঁর স্বাস্থ্যের অবস্থা এখন ঠিকঠাক। তিনি এখন নিয়মিত দায়িত্ব পালনের জন্য প্রস্তুত।

\printindex

\end{document}

我如何制作该文档的孟加拉语索引?

答案1

更新答案

使用自定义索引样式文件的imakeidx包调用程序:texindy

索引 孟加拉风格

.xdy创建一个名为xindy 索引样式文件,general.xdy内容如下:

(define-alphabet "bangla-numbers"
                   ("০" "১" "২" "৩" "৪" "৫" "৬" "৭" "৮" "৯"))
                   
(define-location-class "page-numbers" ("bangla-numbers") :min-range-length 3)
(define-letter-group "অ")
(define-letter-group "আ" :after "অ")
(define-letter-group "ই" :after "আ")
(define-letter-group "ঈ" :after "ই")
(define-letter-group "উ" :after "ঈ")
(define-letter-group "ঊ" :after "উ")
(define-letter-group "ঋ" :after "ঊ")
(define-letter-group "ঌ" :after "ঋ")
(define-letter-group "এ" :after "ঌ")
(define-letter-group "ঐ" :after "এ")
(define-letter-group "ও" :after "ঐ")
(define-letter-group "ঔ" :after "ও")
(define-letter-group "ক" :after "ঔ")
(define-letter-group "খ" :after "ক")
(define-letter-group "গ" :after "খ")
(define-letter-group "ঘ" :after "গ")
(define-letter-group "ঙ" :after "ঘ")
(define-letter-group "চ" :after "ঙ")
(define-letter-group "ছ" :after "চ")
(define-letter-group "জ" :after "ছ")
(define-letter-group "ঝ" :after "জ")
(define-letter-group "ঞ" :after "ঝ")
(define-letter-group "ট" :after "ঞ")
(define-letter-group "ঠ" :after "ট")
(define-letter-group "ড" :after "ঠ")
(define-letter-group "ঢ" :after "ড")
(define-letter-group "ণ" :after "ঢ")
(define-letter-group "ত" :after "ণ")
(define-letter-group "থ" :after "ত")
(define-letter-group "দ" :after "থ")
(define-letter-group "ধ" :after "দ")
(define-letter-group "ন" :after "ধ")
(define-letter-group "প" :after "ন")
(define-letter-group "ফ" :after "প")
(define-letter-group "ব" :after "ফ")
(define-letter-group "ভ" :after "ব")
(define-letter-group "ম" :after "ভ")
(define-letter-group "য" :after "ম")
(define-letter-group "র" :after "য")
(define-letter-group "ল" :after "র")
(define-letter-group "শ" :after "ল")
(define-letter-group "ষ" :after "শ")
(define-letter-group "স" :after "ষ")
(define-letter-group "হ" :after "স")
(define-letter-group "ৎ" :after "হ")
(define-letter-group "ড়" :after "ৎ")
(define-letter-group "ঢ়" :after "ড়")
(define-letter-group "য়" :after "ঢ়")
(define-letter-group "ৠ" :after "য়")
(define-letter-group "ৡ" :after "ৠ")
(define-letter-group "০" :after "ৡ")
(define-letter-group "১" :after "০")
(define-letter-group "২" :after "১")
(define-letter-group "৩" :after "২")
(define-letter-group "৪" :after "৩")
(define-letter-group "৫" :after "৪")
(define-letter-group "৬" :after "৫")
(define-letter-group "৭" :after "৬")
(define-letter-group "৮" :after "৭")
(define-letter-group "৯" :after "৮")

运行-M general时使用模块选项开关()调用样式文件:\makeindex

\makeindex[program=texindy,columns=2,columnseprule,options=-C utf8 -M general] 

使用 lualatex 进行编译并打开 shell escape(以便 texindy 可以读取.idxlatex 生成的文件并写入.ind文件)。

平均能量损失

\documentclass{memoir}
\usepackage{amsmath}
\usepackage{imakeidx}
\makeindex[program=texindy,columns=2,columnseprule,options=-C utf8 -M general] 
\usepackage{babel}
\babelprovide[import, onchar = fonts ids]{bengali}
\babelfont[bengali]{rm}[Renderer=Harfbuzz,AutoFakeBold,AutoFakeSlant=0.3]{Kalpurush}
\babelcharproperty{`।}{locale}{bengali}
% bangla numerals
\babelprovide[maparabic,alph=alphabetic]{bengali}


\begin{document}

যুক্তরাষ্ট্রের ভাইস প্রেসিডেন্ট \index{ভাইস প্রেসিডেন্ট} হয়ে ইতিহাস সৃষ্টি করেছিলেন কমলা হ্যারিস \index{কমলা হ্যারিস}। আবারও ইতিহাস সৃষ্টি করলেন তিনি। এবার প্রেসিডেন্ট \index{প্রেসিডেন্ট} হলেন কমলা। এই প্রথম কোনো নারী যুক্তরাষ্ট্রে প্রেসিডেন্টের ক্ষমতা পেলেন।

{যুক্তরাজ্যের}\index{যুক্তরাজ্যের} গণমাধ্যম বিবিসির খবরে বলা হয়েছে, মার্কিন প্রেসিডেন্ট জো বাইডেনের নিয়মিত স্বাস্থ্য পরীক্ষা অংশ হিসেবে গতকাল শুক্রবার কোলোনোস্কপি \index{কোলোনোস্কপি} করা হয়। এ সময় প্রেসিডেনশিয়াল ক্ষমতা দেওয়া হয়েছিল কমলাকে। ৫৭ বছর বয়সী কমলা প্রেসিডেন্ট হয়েছিলেন ৮৫ মিনিটের জন্য।

জো বাইডেনের যখন কোলোনোস্কপি করা হচ্ছিল, তখন তাঁকে চেতনানাশক দেওয়া হয়। তাই তিনি ক্ষমতা হস্তান্তর করেছিলেন কমলার কাছে। এ চিকিৎসা কার্যক্রম শেষে বাইডেনের চিকিৎসক \index{চিকিৎসক} কেভিন ও’কনর এক বিবৃতিতে বলেন, তাঁর স্বাস্থ্যের অবস্থা এখন ঠিকঠাক। তিনি এখন নিয়মিত দায়িত্ব পালনের জন্য প্রস্তুত।

\printindex

\end{document}

原始答案

现在情况更清楚了一点——我让它工作了,使用简单的babelmapdigits选项,并运行带有 shell escape 的 Lualatex——但页码是阿拉伯语:

指数

平均能量损失

\documentclass{memoir}

\usepackage{babel}
\babelprovide[import, onchar = fonts ids]{bengali}
% \babelfont[bengali]{rm}[Renderer=Harfbuzz]{FreeSerif}
\babelfont[bengali]{rm}[Renderer=Harfbuzz,AutoFakeBold,AutoFakeSlant=0.3]{Kalpurush}
\babelcharproperty{`।}{locale}{bengali}

% bangla numerals
\babelprovide[mapdigits,alph=alphabetic]{bengali}

\usepackage{imakeidx}
\makeindex

\usepackage{amsmath}

\begin{document}

যুক্তরাষ্ট্রের ভাইস প্রেসিডেন্ট \index{ভাইস প্রেসিডেন্ট} হয়ে ইতিহাস সৃষ্টি করেছিলেন কমলা হ্যারিস \index{কমলা হ্যারিস}। আবারও ইতিহাস সৃষ্টি করলেন তিনি। এবার প্রেসিডেন্ট \index{প্রেসিডেন্ট} হলেন কমলা। এই প্রথম কোনো নারী যুক্তরাষ্ট্রে প্রেসিডেন্টের ক্ষমতা পেলেন।

{যুক্তরাজ্যের}\index{যুক্তরাজ্যের} গণমাধ্যম বিবিসির খবরে বলা হয়েছে, মার্কিন প্রেসিডেন্ট জো বাইডেনের নিয়মিত স্বাস্থ্য পরীক্ষা অংশ হিসেবে গতকাল শুক্রবার কোলোনোস্কপি \index{কোলোনোস্কপি} করা হয়। এ সময় প্রেসিডেনশিয়াল ক্ষমতা দেওয়া হয়েছিল কমলাকে। ৫৭ বছর বয়সী কমলা প্রেসিডেন্ট হয়েছিলেন ৮৫ মিনিটের জন্য।

জো বাইডেনের যখন কোলোনোস্কপি করা হচ্ছিল, তখন তাঁকে চেতনানাশক দেওয়া হয়। তাই তিনি ক্ষমতা হস্তান্তর করেছিলেন কমলার কাছে। এ চিকিৎসা কার্যক্রম শেষে বাইডেনের চিকিৎসক \index{চিকিৎসক} কেভিন ও’কনর এক বিবৃতিতে বলেন, তাঁর স্বাস্থ্যের অবস্থা এখন ঠিকঠাক। তিনি এখন নিয়মিত দায়িত্ব পালনের জন্য প্রস্তুত।

\printindex

\end{document}

相关内容