我的目录如下所示:
I Chapter I
I.1 Section I.1
I.2 Section I.2
II Chapter II
II.1 Section II.1
II.2 Section II.2
我怎样才能让它看起来像这样:
I Chapter I
1 Section I.1
2 Section I.2
II Chapter II
1 Section II.1
2 Section II.2
?
梅威瑟:
\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage{titlesec}
\usepackage{titletoc}
\titleclass{\part}{top}
\titleformat{\part}[display]
{\centering\normalfont}
{\itshape \partname~\thepart}{1.0em}
{\bfseries\MakeUppercase}
\titlespacing*{\part}{0pt}{0pt}{20pt}
\renewcommand{\thechapter}{\Roman{chapter}}
\dottedcontents{chapter}[3.0em]{\scshape\bfseries\vspace{1.0em}}{2.5em}{0pc}
\dottedcontents{section}[3.0em]{}{3.5em}{0.75pc}
\begin{document}
\startcontents[parts]
\part{Part I}
\printcontents[parts]{}{0}{}
\chapter{Chapter I}
\section{Section I.1}
\section{Section I.2}
\chapter{Chapter II}
\section{Section II.1}
\section{Section II.2}
\stopcontents[parts]
\end{document}
答案1
这是您所需要的。
\renewcommand{\thesection}{\arabic{section}}
\titleformat{\section} {\normalfont\Large\bfseries}{\thechapter.\thesection}{1em}{}
对于标题\renewcommand{\p@section}{\thechapter.}
以供交叉引用。
当然,您需要调整目录条目的间距。
例子
\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage{titlesec}
\usepackage{titletoc}
\titleclass{\part}{top}
\titleformat{\part}[display]
{\centering\normalfont}
{\itshape \partname~\thepart}{1.0em}
{\bfseries\MakeUppercase}
\titlespacing*{\part}{0pt}{0pt}{20pt}
\renewcommand{\thechapter}{\Roman{chapter}}
\titleformat{\section}
{\normalfont\Large\bfseries}{\thechapter.\thesection}{1em}{}
\renewcommand{\thesection}{\arabic{section}}
\makeatletter
\renewcommand{\p@section}{\thechapter.}
\makeatother
\dottedcontents{chapter}[3.0em]{\scshape\bfseries\vspace{1.0em}}{2.5em}{0pc}
\dottedcontents{section}[3.0em]{}{3.5em}{0.75pc}
\begin{document}
\startcontents[parts]
\part{Part I}
\printcontents[parts]{}{0}{}
\chapter{Chapter I}
\section{Section I.1}
\section{Section I.2}
\chapter{Chapter II}
\section{Section II.1}
\section{Section II.2}
\stopcontents[parts]
\end{document}
答案2
可能不是最好和更简单的答案...我重新定义了各个部分以显示与目录不同的内容并在正文中具有不同的外观:
\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage{titlesec}
\usepackage{titletoc}
\titleclass{\part}{top}
\titleformat{\part}[display]
{\centering\normalfont}
{\itshape \partname~\thepart}{1.0em}
{\bfseries\MakeUppercase}
\titlespacing*{\part}{0pt}{0pt}{20pt}
\titleformat{\section}{\large\bf}{}{0pt}{}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\thesection}{\arabic{section}}
\dottedcontents{chapter}[3.0em]{\scshape\bfseries\vspace{1.0em}}{2.5em}{0pc}
\dottedcontents{section}[3.35em]{}{3.5em}{0.75pc}
\let\oldsection\section
\makeatletter
\def\section{%
\@ifstar{\@Starred}{\@nonStarred}%
}
\def\@Starred{%
\@ifnextchar[%
{\GenericWarning{}{Warning: A starred section can not have parameters. I am going to ignore them!}\@StarredWith}%
{\@StarredWithout}%
}
\def\@StarredWith[#1]#2{%
\oldsection*[\thesection]{\thechapter.\thesection\space#2}%
}
\def\@StarredWithout#1{
\oldsection*{\thechapter.\thesection\space#1}%
}
\def\@nonStarred{%
\@ifnextchar[%
{\@nonStarredWith}%
{\@nonStarredWithout}%
}
\def\@nonStarredWith[#1]#2{%
\oldsection[#1]{\thechapter.\thesection\space#2}%
}
\def\@nonStarredWithout#1{%
\oldsection[#1]{\thechapter.\thesection\space#1}%
}
\makeatother
\begin{document}
\startcontents[parts]
\part{Part I}
\printcontents[parts]{}{0}{}
\chapter{Chapter I}
\section{Section I.1}
\section{Section I.2}
\chapter{Chapter II}
\section{Section II.1}
\section{Section II.2}
\stopcontents[parts]
\end{document}
您可以在 def 命令中的新部分中执行任何您想做的事情。我只是将原来没有 toc 选项的无星标部分改为有 toc 选项。
结果内容:
在正文中: