更改目录页的格式

更改目录页的格式

我想将目录页中列出的某些部分标记为“简介”。

我认为我可以通过在目录页中这些章节周围添加一个虚线框来将其标记为介绍性来实现这一点,但我也愿意接受其他建议。

您对我如何编辑内容页面以适应此情况有什么建议吗?

答案1

代码

\documentclass{article}
\usepackage{etoolbox}

\makeatletter
\newcounter{introsection}
\newcommand*{\introsectionmark}[1]{}
\renewcommand \theintrosection {\@arabic\c@section}
\newcommand\introsection{%
\@start@introsection {section}{1}{\z@}%
                     {-3.5ex \@plus -1ex \@minus -.2ex}%
                     {2.3ex \@plus.2ex}%
                     {\normalfont\Large\bfseries}
}
\let\@start@introsection\@startsection
\patchcmd{\@start@introsection}{\@sect}{\@introsect}{}{}
\def\intronumberline#1{\hspace*{-3.5pt}\numberline{\fbox{#1}}\hspace*{2.5pt}}
\def\addintrocontentsline#1#2#3{%
  \addtocontents{#1}{\protect\contentsline{#2}{\hspace*{-3.5pt}\fbox{#3}}{\thepage}}}
\let\@introsect\@sect
\patchcmd{\@introsect}{\addcontentsline}{\addintrocontentsline}{}{}
%\patchcmd{\@introsect}{\numberline}{\intronumberline}{}{}
\def\intromatter{\let\section\introsection}
\def\mainmatter{\let\section\ltx@section}
  \let\ltx@section\section
\makeatother

\begin{document}
\tableofcontents
\introsection{One}
\introsection{Two}
\section{Three}
\section{Four}
\end{document}

评论

\introsection此解决方案提供了一个可以照常使用的分段命令,但在其目录条目周围添加了一个框架框。或者,您可以使用第 21 行(而不是第 20 行)仅在章节编号周围添加一个框。

如果您正在使用该类,article那么您也可以使用上面定义的宏\intromatter\mainmatter这些宏的用途与该类的类似和类似的宏一样book

\begin{document}
\tableofcontents
\intromatter
\section{One}
\section{Two}
\mainmatter
\section{Three}
\section{Four}
\end{document}

输出

在此处输入图片描述 在此处输入图片描述

附录

\fbox当然,您可以通过用另一个满足您需求的宏替换来使用另一种框架样式。

相关内容