防止多列索引中的列中断

防止多列索引中的列中断

我正在使用imakeidx来生成多列索引makeindex

以下是我的摘录.ind

  \item \BRbooktitlestyle {\BRepistlenumberstyle {1}Jean}                       
    \subitem \BRchapterstyle {2}\BRchvsep \BRversestyle {2} \dotfill            
                \textrm{18}                                                     
    \subitem \BRchapterstyle {4}\BRchvsep \BRversestyle {9}\BRvrsep \BRversestyle {10} \dotfill
                \textrm{18}   

格式化宏在哪里。不幸的是,\BRfoo位于左列底部,因此被推到了右列:bibleref\item\subitems

索引中的列分隔符

是否有等效的方法\nobreak可以用来防止这种行为,以及如何使用?

答案1

您希望在每个命令之前都使用分栏符;索引中\item的通常定义是;所以类似于\item\par\hangindent 40\p@

\indexsetup{othercode={\let\item\breakitem}}

可以做必要的事情,在序言中说

\makeatletter
\def\breakitem{\par\goodbreak\hangindent 40\p@}
\makeatother

另一个技巧是添加

\vadjust{\nobreak}

定义\BRbooktitlestyle

相关内容