xpatchcmd 补丁到 makeindex

xpatchcmd 补丁到 makeindex

我想使用zhmakeindex生成中文索引的语言,通过对包的调查imakeidx,我尝试\imki@exec修补

\xpatchcmd{\imki@exec}{\imki@program}{zhmakeindex}{}{}

这应该是可行的,因为的默认值\imki@programmakeindex

但是我运行之后xelatex test.tex,日志显示makeindex程序被执行了:

运行系统(makeindex -s zh.ist test.idx)

那么,为什么我的补丁没有按预期工作? 有没有什么解决方案可以解决此问题zhmakeindex

女士

\documentclass{ctexart}
\usepackage[linkcolor=cyan,colorlinks]{hyperref}
\usepackage{imakeidx}
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\imki@exec}{\imki@program}{zhmakeindex}{}{}
\makeatother

\makeindex[intoc,columns=3,columnseprule=true,columnsep=5pt,options={-s zh.ist}]
\newcommand{\iemph}[1]{\uwave{#1}\index{#1|hyperpage}}

\title{中文索引处理}
\author{}
\date{}
\begin{document}
\maketitle
测试\iemph{三点形}\\
测试\iemph{二次曲线}\\
\newpage
\iemph{向量}\\
\iemph{共线}\\
\iemph{简比}
\printindex
\end{document}

zh.ist

preamble "\\begin{theindex}
  \\def\\seename{见}
  \\def\\alsoname{又见}
  \\providecommand*\\indexgroup[1]{%
    \\indexspace
    \\item \\textbf{#1}\\nopagebreak}\n"

postamble "\n\n\\end{theindex}\n"

group_skip "\n\n  \\indexspace\n\n"

headings_flag 1
heading_prefix "  %\n \\indexgroup{"
heading_suffix "} \n  %\n"

numhead_positive "数字"
numhead_negative "数字"
symhead_positive "符号"
symhead_negative "符号"

delim_0         " \\dotfill\\ "
delim_1         " \\dotfill\\ "
delim_2         " \\dotfill\\ "

相关内容