关于ToC定制的两个问题:
- 我的文档按以下方式编号:“节”-“节内的页码”。如何在目录中获取此编号样式?
- 如何不显示目录中某个条目的页码,更具体地说,参考书目(我不确定这是否是一种特殊情况)?
梅威瑟:
\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}