Мемуары: пропустить номера разделов, сделать номера подразделов непрерывными в пределах главы

Мемуары: пропустить номера разделов, сделать номера подразделов непрерывными в пределах главы

Может ли memoirкласс создать справочник, оглавление которого будет выглядеть следующим образом:

Chapter 1. Animals

    Mammals
        Cows ................... 1.000
        Bulls .................. 1.001
        Calves ................. 1.002
    Amphibians
        Frogs .................. 1.003
        Turtles ................ 1.004
        Newts .................. 1.005

Chapter 2. Plants

    Trees
        Pines .................. 2.000
        Oaks ................... 2.001
        Maples ................. 2.002
    Shrubs
        Brambles ............... 2.003
        Brooms ................. 2.004
        Lilacs ................. 2.005

В частности я хотел бы:

  1. Подавите sectionцифры как в тексте, так и в оглавлении.
  2. Сделайте subsectionчисла непрерывными в пределах chapter.
  3. Представьте subsectionчисла в X.YYYформате, где X= номер главы.
  4. Перенесите subsectionцифры на поля. Идея в том, чтобы использовать их вместо номеров страниц.

решение1

Это базовое решение. Вам все равно придется изменить параметры для оглавления, чтобы скрыть номер страницы главы и точки для разделов.

\documentclass{memoir}

\counterwithout{subsection}{section} % subsection is not reset with section
\counterwithin{subsection}{chapter}  % subsection is reset with chapter

% subsection numbers are X.YYY
\renewcommand{\thesubsection}{\thechapter.\threedigits{subsection}}
\newcommand{\threedigits}[1]{%
  \ifnum\value{#1}<100 0\fi
  \ifnum\value{#1}<10 0\fi
  \arabic{#1}%
}

\setsecnumformat{\csname #1secnumformat\endcsname}
% no numbering shown for section titles
\newcommand\sectionsecnumformat{}
% numbering shown for subsection titles
\newcommand\subsectionsecnumformat{\thesubsection.\quad}

% modify the TOC macros not to use the section number
\makeatletter
\let\memoir@l@section\l@section
\def\l@section#1#2{%
  \mihai@gobble@number#1\@nil
}
\def\mihai@gobble@number\numberline#1#2\@nil{%
  \memoir@l@section{#2}{}%
}
% modify the TOC macros to use the subsection number as the page number
\let\memoir@l@subsection\l@subsection
\def\l@subsection#1#2{%
  \mihai@get@number#1\@nil
}
\def\mihai@get@number\numberline#1#2\@nil{%
  \memoir@l@section{#2}{#1}%
}
\makeatother

\settocdepth{subsection}
\setsecnumdepth{subsection}

\begin{document}
\frontmatter
\makeatletter\show\l@section
\tableofcontents*
\mainmatter
\chapter{Animals}
x
\section{Mammals}
x
\subsection{Cows}
x
\subsection{Bulls}
x
\subsection{Calves}
x

\section{Amphibians}
x
\subsection{Frogs}
x
\subsection{Turtles}
x
\subsection{Newts}
x

\chapter{Plants}
x
\section{Trees}
\subsection{Pines}
x
\subsection{Oaks}
x
\subsection{Maples}
x
\section{Shrubs}
x
\subsection{Brambles}
x
\subsection{Brooms}
x
\subsection{Lilacs}
x

\end{document}

Связанный контент