texindy 风格:如何用点填充线条?

texindy 风格:如何用点填充线条?

我想为包含多种语言名称的文档构建一些索引。我从阅读中了解到,要走的路是imakeidx使用并进行texindy处理...因为以前的软件包在处理多个索引甚至按外语排序时都存在问题。

我已经使大部分工作正常进行,除了一个问题——在单词末尾和页码之间放置点(省略号)。

我首先尝试了man texindyTL'20 附带的 2.5.1 版本。这会将读者带到大约 15 年前的“The LaTeX Companion(第 2 版)”...所以我明白了。但这会将读者带到网站 xindy.org,即使在那之后,我仍然无法很好地掌握如何完成这个简单的任务——用点填充行尾和页码之间的空格,如下所示:

fruit ........ 7
   apple .....11
   banana ....13

我已经能够一路解决这个问题:

\documentclass{article}
\usepackage{makeidx}
\makeindex
\let\lettergroup\textbf
\usepackage{filecontents}

\begin{document}
\begin{filecontents*}{mal-style.xdy}
(markup-index :open  "\begin{theindex}~n"
    :close "~n~n\end{theindex}~n"
    :tree)

(markup-indexentry :open "~n\item " :close "" :depth 0)
(markup-indexentry :open "~n  \subitem " :close "" :depth 1)
(markup-indexentry :open "~n    \subsubitem " :close "" :depth 2)
(markup-locclass-list :open "\dotfill " :sep ", " :close "")
(markup-locref-list   :sep ", ")
\end{filecontents*}

\index{premier niveau}
\index{niveau!1@premier}
\index{niveau!2@deuxième}
\index{niveau!1@premier!1@premier}
\index{niveau!1@premier!2@deuxième}
\index{étrangères}
\index{Ça va}
\index{À quelle}

\printindex
My first paragraph\ldots
\end{document}

这是 @Mailipivo 在此处简化的代码texindy 等同于 makeindex 设置

它使用makeidx并运行良好,并使用模块来产生下面的点xindy,但我无法将它移动到,imakeidx所以我可以将它用于多个索引。

答案1

我终于能够得到正确的组合:

\documentclass{article}

\usepackage[xindy]{imakeidx}
   \makeindex[name=std, title=Remissivo]
   \makeindex[name=not, title=Notações]
\let\lettergroup\textbf

\begin{document}

My first paragraph\ldots

\index[std]{premier niveau}
\index[std]{niveau!1@premier}
\index[std]{niveau!2@deuxième}
\index[std]{niveau!1@premier!1@premier}
\index[std]{niveau!1@premier!2@deuxième}
\index[std]{étrangères}
\index[std]{Ça va}
\index[std]{À quelle}

\index[not]{premier niveau}
\index[not]{niveau!1@premier}
\index[not]{niveau!2@deuxième}
\index[not]{niveau!1@premier!1@premier}
\index[not]{niveau!1@premier!2@deuxième}
\index[not]{étrangères}
\index[not]{Ça va}
\index[not]{À quelle}

\printindex[std]
\printindex[not]

\end{document}

并使用该模块:

(markup-index :open  "\begin{theindex}~n"
    :close "~n~n\end{theindex}~n"
    :tree)

(markup-indexentry :open "~n\item " :close "" :depth 0)
(markup-indexentry :open "~n  \subitem " :close "" :depth 1)
(markup-indexentry :open "~n    \subsubitem " :close "" :depth 2)
(markup-locclass-list :open "\dotfill " :sep ", " :close "")
(markup-locref-list   :sep ", ")

使用下列命令:

xelatex file
texindy -C utf8 -L french -M mal-style std.idx
texindy -C utf8 -L french -M mal-style not.idx
xelatex file

相关内容