如何使用 titletoc 和可变数字格式实现自定义的层次目录

如何使用 titletoc 和可变数字格式实现自定义的层次目录

这就像是我最初问题的第二部分这里

所以基本上,我正在重新创建一篇 70 年代写的论文,并希望保留当时使用的奇怪的分段实践。我第一篇文章的答案帮助我使用 titlesec 解决了正文中的问题,但是我没有得到任何有关目录的帮助,因为我没有直接说明它。本质上,我想要以下目录;忽略缩进,这正是章节标题在文本中正确显示的方式。

I. INTRODUCTION ................................................. 1
    A. Prairie Raspberry ........................................ 1
    B. Research Objectives ...................................... 4

II. LITERATURE REVIEW ........................................... 6
    A. Fruit Structure and Composition .......................... 6
        1. Raspberry fruit structure ............................ 6
        2. Raspberry fruit composition .......................... 6

III. MATERIALS AND METHODS ..................................... 29
    A. Investigation of Juice Extraction ....................... 29
        1. Materials ........................................... 29
            a. Raspberry fruit ................................. 29
            b. Enzymes ......................................... 30
        2. Experimental Objectives.............................. 31
            a. Enzyme, temperature and time .................... 31
            b. Maceration, water dilution enzymes .............. 32

但我得到的是以下内容,其中章节已加粗。

1  INTRODUCTION                                                   1
   1.1  Prairie Raspberry ....................................... 1
   1.2  Research Objectives ..................................... 4

2  LITERATURE REVIEW                                              6
   2.1  Fruit Structure and Composition ......................... 6
        2.1.1  Raspberry fruit structure ........................ 6
        2.1.2  Raspberry fruit composition ...................... 6

3  MATERIALS AND METHODS                                         29
   3.1  Investigation of Juice Extraction ...................... 29
        3.1.1  Materials ....................................... 29
               3.1.1.1  Raspberry fruit ........................ 29
               3.1.1.2  Enzymes ................................ 30
        3.1.2  Experimental Objectives.......................... 31
               3.1.2.1  Enzyme, temperature and time ........... 31
               3.1.2.2  Maceration, water dilution enzymes ..... 32

所以我需要弄清楚的是

  1. 使数字格式在不同级别上具有不同的样式,可以是罗马字母、字母、阿拉伯字母或字母。

  2. 去掉“制表符”对齐。我希望每个部分都有统一增加的左缩进,比如每级 3em,然后在编号后面跟一个简单的点和空格。

这非常困难。我尝试过使用 titletoc 的多种选项组合\titlecontents\dottedcontents但都无法做到这一点,尤其是数字格式。

我不确定我是否喜欢章节条目的点状系统,尽管原始版本看起来就是这样。没有点的粗体外观可能会更好,所以如果我决定保留它,我想知道如何保留它。

谁能帮我吗?

ps:titlesec 和 titletoc 的文档确实很令人困惑......

编辑:

上述目录没有经过我修改。以下是我所做的一些尝试。

以下是我如何使用 titlesec 解决文本主体中的章节标题,这要感谢我上一个主题中的答案。

\titleformat{\chapter} % command
[hang] % shape
{\bfseries\huge} % format
{\Roman{chapter}.} % label
{0.5em} % sep
{} % before-code
[] % after-code

因此我认为以下内容可以在目录中发挥作用......

\titlecontents*{chapter} % <section-type>
[0pt] % <left>
{\addvspace{1em}} % <above-code>
{\Roman{chapter}. } % <numbered-entry-format>
{} % <numberless-entry-format>
{} % <filler-page-format>

这个页面正确地给出了点和空格,但是在应该显示罗马数字的位置没有打印任何字符,并且页码被删除了。参见下图。

使用第一种方法的 TOC

我也试过

\titlecontents*{chapter}%
[0pt]% left indent
{\addvspace{1em}}% stuff before
{\contentslabel{1em} }% before if there's a number
{}% before if there's no number
{\hfill\contentspage}% dots and page number
%[]% stuff after

这个没有工作空间或数字格式,但确实去掉了粗体。我遇到的所有其他示例都只是做了奇怪的缩进,如下所示。

\titlecontents{chapter}%
[3em]% left indent
{\addvspace{1em plus 0pt}\bfseries}% stuff before
{\contentslabel{3em}}% before if there's a number
{\hspace{-3em}}% before if there's no number
{\hfill\contentspage}% dots and page number
[\addvspace{0pt}]% stuff after

\dottedcontents{section}%
[5em]% left indent
{\addvspace{0pt}}% stuff before
{3.5em}% spacing of \contentslabel
{0.75em}% space between the dots
[\addvspace{0pt}]% stuff after

\dottedcontents{subsection}%
[7.5em]% left indent
{\addvspace{0pt}}% stuff before
{4.25em}% spacing of \contentslabel
{0.75em}% space between the dots
[\addvspace{0pt}]% stuff after

这些都不能正常工作,但我还没有找到任何人尝试做我所做的事情的例子。

使用下列命令后我获得了一些成功,无需任何 titletoc 命令。

\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\thesection}{\Alph{section}}
\renewcommand{\thesubsection}{\arabic{subsection}}
\renewcommand{\thesubsubsection}{\alph{subsubsection}}

这些确实将编号更改为正确的编号格式,但并没有解决缩进问题,见下图。

使用简单的更新命令后的目录

答案1

像这样?

\documentclass[12pt]{report}
\usepackage{titlesec}
\usepackage{amssymb}
\usepackage[showframe]{geometry}
\usepackage{chngcntr}
\counterwithin*{subsubsection}{subsection}
\usepackage{titletoc}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{3}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\thesection}{\Alph{section}}
\renewcommand{\thesubsection}{\arabic{subsection}. }
\renewcommand{\thesubsubsection}{\alph{subsubsection})}
\titleformat{\chapter} % command
[hang] % shape
{\bfseries\huge} % format
{\thechapter.} % label
{0.5em} % sep
{} % before-code
[] % after-code

\titleformat{\section} % command
[hang] % shape
{\bfseries\LARGE} % format
{\thesection.} % label
{0.5em} % sep
{} % before-code
[] % after-code

\titleformat{\subsection} % command
[hang] % shape
{\bfseries\Large} % format
{\thesubsection.}% label
{0.5em} % sep
{} % before-code
[] % after-code

\titleformat{\subsubsection} % command
[hang] % shape
{\bfseries\large} % format
{\thesubsubsection.} % label
{0.5em} % sep
{} % before-code
[] % after-code
  \titlecontents{chapter}[2.5em]{\smallskip\bfseries}%\vspace{1cm}%
  {\contentslabel[\thecontentslabel]{2em}}%
  {}%numberless%
  {\hfill\contentspage}[\medskip]%
%
 \titlecontents{section}[3.8em]{\smallskip}%
  {\contentslabel[\thecontentslabel]{1.3em}}%numbered
  {\hspace*{-1.3em}}%numberless
  {\hspace{0.25em}\titlerule*[6pt]{.}\contentspage}[\smallskip]%
%
 \titlecontents{subsection}[5em]{}%
  {\contentslabel[\thecontentslabel]{1.25em}}%numbered
  {\hspace*{-1.25em}}%numberless
  {\hspace{0.25em}titlerule*[6pt]{.}\contentspage}[\smallskip]

 \titlecontents{subsubsection}[6.25em]{}%
  {\contentslabel[\thecontentslabel]{1.25em}}%numbered
  {\hspace*{-1.25em}}%numberless
  {\hspace{0.25em}\titlerule*[6pt]{.}\contentspage}[\smallskip]

\usepackage{lipsum}
\begin{document}

\tableofcontents

\chapter{INTRODUCTION}
\section{Prairie Raspberry}
\lipsum[1-10]
\section{Research Objectives}
\lipsum[11-20]
\chapter{LITERATURE REVIEW }
\section{Fruit Structure and Composition}
\subsection{Raspberry fruit structure}
\lipsum[21-28]
\subsection{Raspberry fruit composition}
\lipsum[29-36]

\chapter{MATERIALS AND METHODS}
\section{Investigation of Juice Extraction}
\subsection{Materials}
\subsubsection{Raspberry fruit}
\lipsum[37-39]
\subsubsection{Enzymes}
\lipsum[40-42]
\subsection{ Experimental Objectives}
\subsubsection{Enzyme, temperature and time}
\lipsum[43-45]
\subsubsection{Maceration, water dilution enzymes}
\lipsum[46-48]

\end{document} 

在此处输入图片描述

答案2

感谢@Bernard,我能够实现以下目标。

在此处输入图片描述

代码如下。

\renewcommand{\thechapter}{\Roman{chapter}. }
\renewcommand{\thesection}{\Alph{section}. }
\renewcommand{\thesubsection}{\arabic{subsection}. }
\renewcommand{\thesubsubsection}{\alph{subsubsection}. }

\titleformat{\chapter} % command
    [hang] % shape
    {\bfseries\huge} % format
    {\thechapter} % label
    {0.5em} % sep
    {} % before-code
    [] % after-code

\titleformat{\section} % command
    [hang] % shape
    {\bfseries\LARGE} % format
    {\thesection} % label
    {0.5em} % sep
    {} % before-code
    [] % after-code

\titleformat{\subsection} % command
    [hang] % shape
    {\bfseries\Large} % format
    {\thesubsection} % label
    {0.5em} % sep
    {} % before-code
    [] % after-code

\titleformat{\subsubsection} % command
    [hang] % shape
    {\bfseries\large} % format
    {\thesubsubsection} % label
    {0.5em} % sep
    {} % before-code
    [] % after-code

\titlespacing*{\chapter}{0pt}{10pt}{5pt}
\titlespacing*{\section}{0pt}{10pt}{5pt}
\titlespacing*{\subsection}{0pt}{10pt}{5pt}
\titlespacing*{\subsubsection}{0pt}{10pt}{5pt}

\titlecontents{chapter}[24pt]{\addvspace{1em}\bfseries}%\vspace{1cm}%
    {\contentslabel[\thecontentslabel]{24pt}}%
    {}%numberless%
    {\hfill\contentspage}[\smallskip]%

\titlecontents{section}[40pt]{}%
    {\contentslabel[\thecontentslabel]{16pt}}%numbered
    {\hspace*{-1.3em}}%numberless
    {\hspace{0.25em}\titlerule*[6pt]{.}\contentspage}[\smallskip]%

\titlecontents{subsection}[64pt]{}%
    {\contentslabel[\thecontentslabel]{16pt}}%numbered
    {\hspace*{-1.25em}}%numberless
    {\hspace{0.25em}\titlerule*[6pt]{.}\contentspage}[\smallskip]

\titlecontents{subsubsection}[88pt]{}%
    {\contentslabel[\thecontentslabel]{16pt}}%numbered
    {\hspace*{-1.25em}}%numberless
    {\hspace{0.25em}\titlerule*[6pt]{.}\contentspage}[\smallskip]

相关内容