标题采用罗马数字和阿拉伯数字,图表列表整合到目录中

标题采用罗马数字和阿拉伯数字,图表列表整合到目录中

如何在目录中包含图片列表、表格列表等?此外,我希望目录、图片列表、表格列表和(!!!)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*,因此已对其进行修补,以便使用该命令的原始版本。

关于原始代码,需要注意以下几点:

  1. \special不需要,因为geometry会照顾它
  2. headheight指定的太小
  3. \makebox[0pt][r]{Title of topic}除了简单的之外什么都不做Title of topic,因为fancyhdr无论如何都使用右对齐;我还添加了一个破折号以将标题与页码分开。
  4. \onehalfspacing被反对\setstretch{1.3};如果可以,请避免增加行距。

在此处输入图片描述


如果要减少章节标题之间的间距,请添加以下行

\xpatchcmd{\l@section}{1.0em}{0.5ex}{}{}

\makeatother在给定代码之前。调整0.5ex到适合您的程度。对于图像,我添加了两个子部分以提供风味。

在此处输入图片描述

相关内容