我有一份文档(是旧文档的更新版本),其中的分段编号系统如下:
\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}