首先,MWE 如下。
\documentclass{ctexart}
\usepackage{imakeidx}
\usepackage[colorlinks,linkcolor=blue]{hyperref}
\makeatletter
\def\imki@progdefault{zhmakeindex}
\makeatother
\makeindex
\begin{document}
测试三角形\index{三角形}
测试二次曲线\index{二次曲线}
向量\index{向量}
共线\index{共线}
简比\index{简比}
\printindex
\end{document}
如你所见,我使用zhmakeindex
按照上面的方法制作中文索引imakeidx
。在编译文件之前tex
,我bin
从链接因为当我uname -a
在 Macbook Pro 上的终端中输入时,它会产生如下信息
Darwin Kernel Version 18.7.0: Tue Jun 22 19:37:08 PDT 2021;
root:xnu-4903.278.70~1/RELEASE_X86_64 x86_64
然后将bin
文件添加到以下文件夹makeindex
中
/usr/local/texlive/2022/bin/universal-darwin/
我tex
使用 XeLaTeX-shell-escape
选项编译了该文件,但它说
sh: /Library/TeX/texbin/zhmakeindex: Permission denied
并生成索引页,其中索引项按出现顺序排列,但不按汉语拼音字母顺序排列。
那么哪里出了问题或者我遗漏了什么?没有在我的 Macbook 上安装 Go 编程语言,还是其他原因?
答案1
该消息意味着您没有对二进制文件应用“执行”权限。
从你的终端问题
sudo chmod a+x /Library/TeX/texbin/zhmakeindex
并且您会没事的,只要您使用xelatex
该选项调用(或其他引擎)-shell-escape
(因为zhmakeindex
它不在受限 shell-escape 的允许列表中)。