如何在目录中包含图片列表、表格列表等?此外,我希望目录、图片列表、表格列表和(!!!)A 部分的页面使用罗马数字。从 B 部分开始,我希望在页眉中使用阿拉伯数字作为页码。我应该如何修改我提供的代码?提前谢谢!
\documentclass[12pt,oneside,a4paper]{article}
\usepackage{amsmath, amssymb, graphicx, pgfplots, tikz, booktabs, tabularx, float, pgfplotstable, fancyhdr}
\allowdisplaybreaks
\usepackage[font=small,labelfont=bf,labelsep=colon]{caption}
\special{papersize=210mm,297mm}
\usepackage[left=40mm, top=30mm, right=20mm, bottom=20mm, headsep=12.5mm, headheight=3mm]{geometry}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.0pt}
\lhead{}
\chead{}
\rhead{\makebox[0pt][r]{Title of topic}
\hspace*{1.66667em}
\thepage}
\lfoot{}
\cfoot{}
\rfoot{}
\usepackage{setspace}\onehalfspacing
\setstretch{1.3}
\renewcommand\contentsname{Table of Contents}
\begin{document}
\newpage
\tableofcontents
\newpage
\listoffigures
\newpage
\listoftables
\clearpage
\section*{Section A}
\section{Section B}
\end{document}
答案1
这是一些代码。请注意,我删除了示例中不需要的所有包。
\documentclass[12pt,oneside,a4paper]{article}
\usepackage[
left=40mm,
top=30mm,
right=20mm,
bottom=20mm,
headsep=12.5mm,
headheight=14.5pt, %%% 3mm is too small
heightrounded
]{geometry}
\usepackage{fancyhdr,xpatch}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.0pt}
\fancyhf{}
\fancyhead[R]{Title of topic --- \thepage}
\makeatletter
\let\ORI@section\section
\renewcommand{\section}{\@ifstar\s@section\ORI@section}
\newcommand{\s@section}[1]{%
\ORI@section*{#1}
\csname phantomsection\endcsname % for hyperref
\addcontentsline{toc}{section}{#1}
}
\xpatchcmd{\tableofcontents}{\section}{\ORI@section}{}{} % toc not in toc
\makeatother
\begin{document}
\pagenumbering{roman}
\tableofcontents
\clearpage
\listoffigures
\clearpage
\listoftables
\clearpage
\section*{Section A}
\clearpage
\pagenumbering{arabic}
\section{Section B}
\end{document}
代码重新定义\section
,以便\section*
自动将其添加到目录中。只有一个问题:\tableofcontents
使用\section*
,因此已对其进行修补,以便使用该命令的原始版本。
关于原始代码,需要注意以下几点:
\special
不需要,因为geometry
会照顾它- 您
headheight
指定的太小 \makebox[0pt][r]{Title of topic}
除了简单的之外什么都不做Title of topic
,因为fancyhdr
无论如何都使用右对齐;我还添加了一个破折号以将标题与页码分开。\onehalfspacing
被反对\setstretch{1.3}
;如果可以,请避免增加行距。
如果要减少章节标题之间的间距,请添加以下行
\xpatchcmd{\l@section}{1.0em}{0.5ex}{}{}
\makeatother
在给定代码之前。调整0.5ex
到适合您的程度。对于图像,我添加了两个子部分以提供风味。