数字问题

数字问题

我正在尝试弄清楚如何使索引中的数字按升序排序,现在 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...}}

会做。

相关内容