我正在使用 documentclass amsart,并尝试建立一个仅包含\section
和\subsection
但不包含 的文档\part
。
我正在处理第一个代码,并努力将其更改为第二个代码的目录样式。这意味着:
- 各部分之间有适当的间距
- 部分内容以粗体显示,并且稍大一些
有可能吗?提前谢谢您!
第一个代码:
\documentclass[11pt]{amsart}
\usepackage[paper=a4paper,left=35mm,right=25mm,top=40mm,bottom=40mm]{geometry}
\begin{document}
\tableofcontents
%
\newpage
\section{First Section}
\subsection{First Subsection}
\subsection{Second Subsection}
\section{Second Section}
\end{document}
第二段代码:
\documentclass[11pt]{amsart}
\usepackage[paper=a4paper,left=35mm,right=25mm,top=40mm,bottom=40mm]{geometry}
\begin{document}
\tableofcontents
%
\newpage
\part{First Section}
\section{First Subsection}
\section{Second Subsection}
\part{Second Section}
\end{document}
答案1
稍微改变一下 tocline 的定义... 想法是,如果深度 > -1 (-1 等于部分,0 等于章节,等等),则只将标题写入 toc 文件
要格式化各个部分,请进行调整\l@section
,增加一点空间、加粗字体等。
\documentclass[11pt]{amsart}
\usepackage[paper=a4paper,left=35mm,right=25mm,top=40mm,bottom=40mm]{geometry}
\makeatletter
\def\l@section{\@tocline{1}{12pt plus2pt}{0pt}{}{\bfseries}}% <- added
\def\@tocline#1#2#3#4#5#6#7{\relax
\ifnum #1>-1% <- added
\ifnum #1>\c@tocdepth % then omit
\else
\par \addpenalty\@secpenalty\addvspace{#2}%
\begingroup \hyphenpenalty\@M
\@ifempty{#4}{%
\@tempdima\csname r@tocindent\number#1\endcsname\relax
}{%
\@tempdima#4\relax
}%
\parindent\z@ \leftskip#3\relax \advance\leftskip\@tempdima\relax
\rightskip\@pnumwidth plus4em \parfillskip-\@pnumwidth
#5\leavevmode\hskip-\@tempdima #6\nobreak\relax
\hfil\hbox to\@pnumwidth{\@tocpagenum{#7}}\par
\nobreak
\endgroup
\fi% <- added
\fi}
\makeatother
\begin{document}
\tableofcontents
%
\newpage
\part{First Section}
\section{First Subsection}
\section{Second Subsection}
\part{Second Section}
\end{document}
(代码中的更改以 % <- 标记)