如何修复 latexmk 配置以使用索引样式文件?

如何修复 latexmk 配置以使用索引样式文件?

当我使用以下脚本运行 latexmk 时,我的索引 .ist 样式文件被忽略...

#!/bin/bash
export TSBIN="$HOME/Library/TeXShop/bin/tslatexmk"
export LTMKBIN="$HOME/Library/TeXShop/bin/tslatexmk"
export LTMKEDIT="$HOME/Library/TeXShop/bin"
# make sure latexmkrcedit exists in bin
if [ ! -e "${LTMKEDIT}/latexmkrcedit" ] ; then
    cp "${TSBIN}/latexmkrcDONTedit" "${LTMKEDIT}/latexmkrcedit"
fi
# Use local rc file platexmkrc if it exists. p = project
export localrc=""
if [ -e ./platexmkrc ] ; then
    export localrc="-r ./platexmkrc"
fi
"${LTMKBIN}"/latexmk -pdf -r "${LTMKEDIT}/latexmkrcedit" -r "${TSBIN}/pdflatexmkrc" ${localrc} "$1"

platexmkrc...其中源目录中引用的文件是:

add_cus_dep('idx', 'ind', 0, 'makeidx2ind');
         sub makidx2ind {
                       system("makeindex —s '$_[0]'.ist -o '$_[0]'.ind '$_[0]'.idx");
         };

latexmkrcedit脚本中引用的文件latexmk主要由注释的示例配置和未注释的add_cus_dep部分组成,用于处理词汇表和非默认名称索引,但其他 提及makeindex.

源文件styledindex.tex是:

\documentclass{book}

\usepackage{makeidx}
\makeindex

\begin{document}

Some text here.
\index{apple}\index{apricot}
\index{banana}\index{blackberry}\index{blueberry}
\index{currant}\index{cherry}

\printindex

\end{document}

索引样式文件styledindex.ist为:

headings_flag 1
heading_prefix "{\\medskip\\hfill\\large\\textsf{\\textbf{"
heading_suffix "}}\\hfill}\\medskip\\nopagebreak\n"

尽管索引已经制作并印刷,但不是索引中包含每个字母组的 A、B、C 字母头。

另一方面,如果我运行latex,那么

makeindex -s styledindex.ist styledindex

最后latex,又是预期的造型应用于索引。

为什么 latexmk 配置在这里不起作用?

latexmk 脚本实际上是在 TeXShop 内部运行的“引擎”。但是,.ist如果我直接latexmk从源目录中运行该脚本(不直接使用 TeXShop),则会出现相同的结果(忽略文件)。

相关内容