自定义目录编号

自定义目录编号

关于ToC定制的两个问题:

  1. 我的文档按以下方式编号:“节”-“节内的页码”。如何在目录中获取此编号样式?
  2. 如何不显示目录中某个条目的页码,更具体地说,参考书目(我不确定这是否是一种特殊情况)?

梅威瑟:

\documentclass[12pt]{article}

\usepackage[numbib,notlof,notlot,nottoc]{tocbibind}
\usepackage{fancyhdr}
\usepackage[top=1in, bottom=1.3in, left=1in, right=1in]{geometry}

\begin{document}

\pagestyle{fancy}
\fancyfoot{}
\fancyfoot[C]{\footnotesize\thepage}

\pagenumbering{roman}
\renewcommand\contentsname{Table of Contents}
\tableofcontents
\listoffigures
\listoftables
\pagebreak

\begin{abstract}
Something...
\end{abstract}

\pagebreak
\fancyfoot[C]{\footnotesize \thesection-\thepage}
\setcounter{page}{1}
\pagenumbering{arabic}
\let\OldSection\section
\renewcommand{\section}[1]{\clearpage\pagenumbering{arabic}\OldSection{#1}\setcounter{subsection}{-1}}

\section{A section}
\subsection{A subsection}
\section{Another section}

\end{document}

答案1

我的文档按以下方式编号:“节”-“节内的页码”。如何在目录中获取此编号样式?

您仅在 内指定了页面格式fancyfoot。这不会影响页面格式本身。要更改页面格式,您可以重新定义\thepage。与您的需求相关

\renewcommand\thepage{\thesection-\arabic{page}}

要使用这个定义你必须知道该命令\pagenumbering会改变这个定义\thepage这可以在默认定义中看到:

\def\pagenumbering#1{%
  \global\c@page \@ne \gdef\thepage{\csname @#1\endcsname
   \c@page}}

因此我建议使用个人定义\pagenumbering

\makeatletter
\def\MyPagenumbering#1{%
   \global\c@page \@ne%page=1 
   \gdef\thepage{\thesection-\csname @#1\endcsname \c@page}%page format
}
\makeatother

如何不显示目录中某个条目的页码,更具体地说,参考书目(我不确定这是否是一种特殊情况)?

一个简单的方法是使用命令\addtocontents{toc}{text}。当然,输入的格式必须由用户完成。


这是您的 MWE:

\documentclass[12pt]{article}

\usepackage[numbib,notlof,notlot,nottoc]{tocbibind}
\usepackage{fancyhdr}
\usepackage[top=1in, bottom=1.3in, left=1in, right=1in]{geometry}

\makeatletter
\def\MyPagenumbering#1{%
  \global\c@page \@ne \gdef\thepage{\thesection-\csname @#1\endcsname
   \c@page}}
\makeatother

\begin{document}

\pagestyle{fancy}
\fancyfoot{}
\fancyfoot[C]{\footnotesize\thepage}

\pagenumbering{roman}
\renewcommand\contentsname{Table of Contents}
\tableofcontents
\listoffigures
\listoftables
\pagebreak

\begin{abstract}
Something...
\end{abstract}

\pagebreak
\setcounter{page}{1}
\MyPagenumbering{arabic}
\fancyfoot[C]{\footnotesize\thepage}
\let\OldSection\section
\renewcommand{\section}[1]{\clearpage\MyPagenumbering{arabic}\OldSection{#1}\setcounter{subsection}{-1}}

\section{A section}
\subsection{A subsection}
\section{Another section}

\end{document}

相关内容