如何修改下面这段代码,使得让其生成的目录中有目录本身这一页 % 重新定义命令 目录 \renewcommand\tableofcontents{% \if@twocolumn @restonecoltrue\onecolumn \else @restonecolfalse \fi \chapter*{\contentsname}% @mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}% @starttoc{toc}% \if@restonecol\twocolumn\fi }
时间: 2023-07-01 10:12:29 浏览: 76
要让生成的目录中包含目录本身所在的页码,可以将 `\chapter*{\contentsname}` 修改为 `\chapter{\contentsname}`。修改后的代码如下:
```latex
% 重新定义命令 目录
\renewcommand\tableofcontents{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\cleardoublepage % 清除目录前的空白页
\chapter{\contentsname}% 创建编号的章节标题,标题内容为目录名
\@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}%
\@starttoc{toc}%
\if@restonecol\twocolumn\fi
}
```
在对 `\tableofcontents` 进行重新定义后,需要在生成目录之前添加一个 `\cleardoublepage` 命令以清除目录前的空白页,这样就可以保证目录本身所在的页码出现在目录中。
相关问题
latex的这段命令\renewcommand{\hrulefill}{\leavevmode\leaders\hrule height 0.6pt\hfill\kern0pt}里面的参数解释一下
这段命令是用于重新定义LaTeX中的`\hrulefill`命令,它的作用是生成一条水平线,用于填充空白区域。下面是对该命令中参数的解释:
- `\leavevmode`:这个命令用于确保在生成水平线之前进入水平模式。在LaTeX中,有两种模式:垂直模式和水平模式。`\leavevmode`命令可以将当前模式切换到水平模式,以确保水平线能够正确生成。
- `\leaders`:这个命令用于创建一个可重复的元素。在这里,`\hrule`表示要重复的元素是一条水平线。
- `\hrule height 0.6pt`:这个参数设置了水平线的高度为0.6pt。你可以根据需要调整这个值来改变水平线的粗细。
- `\hfill`:这个命令用于在水平线的两端填充空白区域,使得水平线能够填满整个指定区域。
- `\kern0pt`:这个命令用于添加一个零长度的间距,以确保水平线的两端没有多余的空白。
希望以上解释对你有帮助!
latex如何去掉目录里的目录这两个字
可以使用`\renewcommand{\contentsname}{}`命令来去掉目录中的“目录”两个字。具体实现方式如下:
```latex
\documentclass{article}
\renewcommand{\contentsname}{}
\begin{document}
\tableofcontents
\section{Introduction}
This is an introduction.
\end{document}
```
这样,生成的目录中就不会有“目录”两个字了。