章节、小节和段落采用两种平行编号系统

章节、小节和段落采用两种平行编号系统

我有一份文档(是旧文档的更新版本),其中的分段编号系统如下:

\chapter       1
\section       1.1
\subsection    1.1.1
\subsubsection 1.1.1.1
\paragraph     1.1.1.1.1

但是,在该文档的旧版本中,编号如下:

\chapter       A
\section       A.1
\subsection    A.1.i
\subsubsection A.1.ii.1
\paragraph     A.1.iii.1.a

目标是使用新的编号但在边距中保留旧的编号参考。

然后我在序言中放入以下命令:

\usepackage{titlesec} % Usefull to change the sectioning style
\usepackage{marginnote} % To put the old numbering in the marging

\setcounter{secnumdepth}{4} % activating \paragraph numbering

\titleformat{\section}[runin]{\normalsize\bfseries}{\thesection}{1em}{{\normalfont\marginnote{\vspace{-10cm}Someting}}}
\titleformat{\subsection}[runin]{\normalsize\bfseries}{\thesubsection}{1em}{}
\titleformat{\subsubsection}[runin]{\normalsize\bfseries}{\thesubsubsection}{1em}{}

目前,我可以在每个部分旁边的页边空白处放一些“东西”。但是,如何将阿拉伯数字(1、2、3……9……)转换为章节页边空白处的字母编号(A、B、C……I……)?如何\subsection将阿拉伯数字转换为小写罗马字母(i、ii、iii……ix……)并打印完整的子章节编号(如“A.1.i”)也是同样的问题。

与 等有同样的问题\paragraph

例如,在段落附近2.1.5.1.7,应该出现旧的章节数字样式B.1.v.1.g

答案1

定义“旧式计数器”并将其添加到分段命令的输出中。参数\titlefomat来自titlesec文档的 §8.2。

\documentclass{book}

\usepackage{titlesec}
\setcounter{secnumdepth}{4}

\newcommand*{\oldthechapter}{\Alph{chapter}}
\newcommand*{\oldthesection}{\theoldchapter.\arabic{section}}
\newcommand*{\oldthesubsection}{\theoldsection.\roman{subsection}}
\newcommand*{\oldthesubsubsection}{\theoldsubsection.\arabic{subsubsection}}
\newcommand*{\oldtheparagraph}{\theoldsubsubsection.\alph{paragraph}}
% helper macro
\newcommand*{\llapinheading}[1]{\makebox[0pt][r]{\csname oldthe#1\endcsname\kern15pt}\csname the#1\endcsname}

\titleformat{\chapter}[display]{\normalfont\huge\bfseries}
   {\makebox[0pt][r]{\oldthechapter\kern15pt}\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titleformat{\section}{\normalfont\Large\bfseries}
   {\llapinheading{section}}{1em}{}
\titleformat{\subsection}{\normalfont\large\bfseries}
   {\llapinheading{subsection}}{1em}{}
\titleformat{\subsubsection}{\normalfont\normalsize\bfseries}
   {\llapinheading{subsubsection}}{1em}{}
\titleformat{\paragraph}[runin]{\normalfont\normalsize\bfseries}
   {\llapinheading{paragraph}}{1em}{}

\begin{document}
\setcounter{chapter}{1}
\chapter{Foo}
\section{foo}
\setcounter{subsection}{4}
\subsection{foo}
\subsubsection{foo}
\setcounter{paragraph}{6}
\paragraph{foo}
\end{document}

相关内容