📜  删除小节乳胶目录的页码 (1)

📅  最后修改于: 2023-12-03 15:07:14.999000             🧑  作者: Mango

删除小节乳胶目录的页码

在 LaTeX 中,小节乳胶目录可以使用 \tableofcontents 命令生成,它会自动生成小节目录,并且自带页码。然而,在某些情况下,我们可能需要删除小节目录中的页码。本文将介绍如何实现这种需求。

在正文中,我们可以通过以下命令将小节目录的页码删除:

\addtocontents{toc}{\protect\thispagestyle{empty}}

其中,\addtocontents 命令将选项 toc 添加到目录文件中,这里的 toc 表示小节目录。\protect 命令用于避免扩展命令时出现错误。\thispagestyle 命令用于设置当前页面的样式,这里将其设置为 empty,表示不显示页码。

但是,如果我们只想删除小节目录中的页码,而不影响正文中其它部分的页码,则需要修改 \tableofcontents 命令本身。具体步骤如下:

  1. 使用 titletoc 宏包,加载命令:

    \usepackage{titletoc}
    
  2. 定义新的命令,将 \tableofcontents 命令重新封装为 \tableofcontentah 命令,并使用 titlecontents 命令修改目录样式,去掉页码:

    \newcommand{\tableofcontentah}{%
      \begingroup
      \makeatletter
      \titlecontents{section}% section 级别的目录
      [0pt]% 左侧边距
      {\addvspace{1.5em}}% 前间距 1.5em
      {\contentslabel{2.3em}}% 标签距离左侧的距离
      {\hspace*{-2.3em}}% 标签后面的距离比标签前面的距离多 2.3em
      {\titlerule*[0.7pc]{.}\contentspage}% 去掉页码
      \makeatother
      \tableofcontents
      \endgroup
    }
    

    在建立新命令的过程中,我们使用了 titlecontents 命令,将小节目录的样式修改为不带页码的形式。其中,[0pt] 表示目录条目左侧的间距为 0,{\titlerule*[0.7pc]{.}\contentspage} 表示目录条目中不再有页码,再调用 \tableofcontents 命令生成小节目录即可。

    具体的带有代码演示的Markdown:

    # 删除小节乳胶目录的页码
    
    在 LaTeX 中,小节乳胶目录可以使用 `\tableofcontents` 命令生成,它会自动生成小节目录,并且自带页码。然而,在某些情况下,我们可能需要删除小节目录中的页码。本文将介绍如何实现这种需求。
    
    ## 删除小节目录中当前页的页码
    
    在正文中,我们可以通过以下命令将小节目录的页码删除:
    
    ```latex
    \addtocontents{toc}{\protect\thispagestyle{empty}}
    

    其中,\addtocontents 命令将选项 toc 添加到目录文件中,这里的 toc 表示小节目录。\protect 命令用于避免扩展命令时出现错误。\thispagestyle 命令用于设置当前页面的样式,这里将其设置为 empty,表示不显示页码。

    删除小节目录中所有页的页码

    如果我们只想删除小节目录中的页码,而不影响正文中其它部分的页码,则需要修改 \tableofcontents 命令本身。具体步骤如下:

    1. 使用 titletoc 宏包,加载命令:
    \usepackage{titletoc}
    
    1. 定义新的命令,将 \tableofcontents 命令重新封装为 \tableofcontentah 命令,并使用 titlecontents 命令修改目录样式,去掉页码:
    \newcommand{\tableofcontentah}{%
      \begingroup
      \makeatletter
      \titlecontents{section}% section 级别的目录
      [0pt]% 左侧边距
      {\addvspace{1.5em}}% 前间距 1.5em
      {\contentslabel{2.3em}}% 标签距离左侧的距离
      {\hspace*{-2.3em}}% 标签后面的距离比标签前面的距离多 2.3em
      {\titlerule*[0.7pc]{.}\contentspage}% 去掉页码
      \makeatother
      \tableofcontents
      \endgroup
    }
    

    在建立新命令的过程中,我们使用了 titlecontents 命令,将小节目录的样式修改为不带页码的形式。其中,[0pt] 表示目录条目左侧的间距为 0,{\titlerule*[0.7pc]{.}\contentspage} 表示目录条目中不再有页码,再调用 \tableofcontents 命令生成小节目录即可。