放置 seealso-cross refs (使用 xindy)

放置 seealso-cross refs (使用 xindy)

有没有办法将seealso交叉引用放在索引条目的末尾作为最后一个\subitem?它们应该看起来像这样:

Fruit
  Apples, 3
  Bananas, 4
  Oranges, 9-10
  see also Vegetables

默认情况下,它们被放在索引条目的顶部。

\documentclass{article}
\usepackage{makeidx}
\makeindex
\begin{document}
.\index{Fruit!Apples}\index{Vegetables}\index{Fruit|seealso{Vegetables}}
\printindex
\end{document}

我使用 xindy 并且目前有类似这样的自定义模块:

(markup-crossref-list :class "seealso" :open "~n\subitem\seealso{" :sep "; " :close "}{}")
(define-location-class-order ("roman-page-numbers" "see" "seealso"))

subitem当然,我可以手动更改文件中条目的顺序,*.ind因为无论如何我都必须对其进行编辑以优化行和分页符。

答案1

使用类似下面的代码:

\documentclass{article}
\usepackage{makeidx}
\makeindex
\begin{document}


.\index{Fruit!Apples}\index{Vegetables}
\index{Fruit!z@\textit{see also} Vegetables} \index{Fruit!banana}

\index{Fruit!Orange}

\printindex
\end{document}

答案2

我不知道这是否适用于xindy,但makeindex你可以做一件简单的事情作为解决方法:

将此索引条目放在文档中稍后的某个位置,您确定那里有新创建的页面。然后,您可以在其主题所属的位置添加注释作为提示。

编辑:

此 MWE 与 配合使用效果很好makeindex。请使用 进行尝试xindy

\documentclass{article}
\usepackage[latin,english]{babel} % needed for "blindtext",
                                  % "english" is the active language
\usepackage{blindtext,lipsum,kantlipsum}

\usepackage{makeidx}
\makeindex

\begin{document}

\section*{Package \texttt{blindtext}}

\subsection*{English blindtext}\index{blindtext (package)!english}
%%% see below before section "kantlipsum" for
%%% \index{blindtext (package)!english|seealso{kantlipsum}}
\blindtext[1]

\subsection*{Latin blindtext}\index{blindtext (package)!latin}
%%% see below before section "kantlipsum" for
%%% \index{blindtext (package)!latin|seealso{lipsum}}
{\selectlanguage{latin}% note the grouping
\blindtext[1]}

\newpage

\index{blindtext (package)!english|seealso{kantlipsum}}
\index{blindtext (package)!latin|seealso{lipsum}}

\section*{Package \texttt{kantlipsum}}\index{kantlipsum}
%%% see below before "\printindex" for
%%% \index{kantlipsum|seealso{blindtext (package) with english option}}
\kant[123]

\section*{Package \texttt{lipsum}}\index{lipsum}
%%% see below before "\printindex" for
%%% \index{lipsum|seealso{blindtext (package) with latin option}}
{\selectlanguage{latin}% actually not needed here
\lipsum[123]}% note the grouping again

\newpage

\index{kantlipsum|seealso{blindtext (package) with english option}}
\index{lipsum|seealso{blindtext (package) with latin option}}

\printindex

\end{document}

带有三个百分号的评论就是我所说的“提示”。如果这对不起作用xindy,那么我和你一样一无所知。

但是否应该有一个理由来证明这是不可能的xindy

相关内容