我正在使用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