我正在尝试弄清楚如何使索引中的数字按升序排序,现在 11 排序在 1 和 2 之间,我试图使其排在 9 和 10 之后。我可以在个位数前添加 0,但我不喜欢那样的样子。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{imakeidx}
\makeindex[name=bygrade,title={Routes by Grade}, intoc]
\title{test}
\author{oleary.brian1 }
\date{May 2019}
\begin{document}
\maketitle
%Add the index package
\vskip 2mm
\begin{minipage}{\columnwidth}
\item\textbf{place holder} \hfill M1 \index[bygrade]{\textbf{\Large{\underline{M01}}}! place holder} \par\emph{Blank space} \par Description Here
\end{minipage}
\vskip 2mm
\begin{minipage}{\columnwidth}
\item\textbf{Route} \hfill M11 \index[bygrade]{\textbf{\Large{\underline{M11}}}! Route} \par\emph{Blank space} \par Description Here
\end{minipage}
\vskip 2mm
\begin{minipage}{\columnwidth}
\item\textbf{Blank Space} \hfill M7 \index[bygrade]{\textbf{\Large{\underline{M07}}}! Blank space} \par\emph{Blank space} \par Description Here
\end{minipage}
\printindex[bygrade]
\enddocument
\end{document}
答案1
您始终可以使用以下方法强制进行特定排序
\index[<name>]{<sorting string>@<index entry>}
MakeIndex 会将数字排在字母之前,并遵循自然顺序,因此7
会排在之前11
。
因此
\index[bygrade]{7@\textbf{...M7...}}
会做。