页码不会显示在章节首页上

页码不会显示在章节首页上

我使用以下代码来创建目录、图表列表等等:

\documentclass[12pt,envcountsame,envcountchap]{svmono}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} % high quality pdf
\usepackage{ucs} % unicode for mac os x
\usepackage{geometry} % Flexible and complete interface to document dimensions.
\geometry{a4paper}
\usepackage{graphics}
\usepackage{caption}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{epstopdf} % eps to pdf
\usepackage{rotating} % rotate stuff
\usepackage{lmodern} %Type1-font for non-english texts and characters
\usepackage{graphicx}        % standard LaTeX graphics tool when including figure files
\usepackage{multicol}        % used for the two-column index
\usepackage[bottom]{footmisc}% places footnotes at page bottom, etc.
\usepackage{url}
\linespread{1.2}
\usepackage{color}
\usepackage{array}
\usepackage[toc,page]{appendix}
\usepackage[acronym]{glossaries}
\usepackage{glossaries}
\usepackage{listings}
\usepackage{longtable}
\usepackage{subcaption}

\captionsetup{compatibility=false}
\interfootnotelinepenalty=10000
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Use of Times New Roman font
\usefont{T1}{ptm}{m}{n}
\selectfont

\loadglsentries{001-acronyms}   % Load list of acronyms
\loadglsentries{001-symbols}        % Load list of frequent symbols
\makeglossaries
\glsaddall

\begin{document}
\frontmatter
\pagenumbering{roman}  

\include{100-cover}
\pagestyle{plain} 
\tableofcontents
\listoffigures  
\addcontentsline{toc}{chapter}{List of Figures} 
\listoftables
\addcontentsline{toc}{chapter}{List of Tables}
\lstlistoflistings
\end{document}

生成\tableofcontents了两页,但页码只出现在第二页上。由于其他命令(\listoffigures\listoftables\lstlistoflistings)只生成一页,因此页码根本不出现。我希望所有页面上都有页码。有什么方法可以实现吗?

答案1

这是一个非常常见的“问题”,通常与文档类别有关 - 并不特定于svmono- 提供\chapters。这样做的原因在于这些章节首页的页眉布局通常看起来很奇怪,因此通过类似\thispagestyle{<chapter-page-style>}(通常<chapter-page-style>plain)的方式设置为不同的样式。

虽然可以发布

\chapter{<title>}
\thispagestyle{<style>}

为了将强制<chapter-page-style>样式更新为适用于常规章节的作品,对于诸如、等<style>List-of“章节”来说,这并不容易。原因是 List-of 章节是作为一个整体设置的,因此很难将其插入到适当的(定时)位置。\tableofcontents\listoffigures\thispagestyle{<style>}

您可以通过 List-of 命令的补丁来解决这个问题(使用etoolbox):

\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\makeatletter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\tableofcontents}{\@starttoc}{\thispagestyle{plain}\@starttoc}{}{}
\patchcmd{\listoffigures}{\@starttoc}{\thispagestyle{plain}\@starttoc}{}{}
\patchcmd{\listoftables}{\@starttoc}{\thispagestyle{plain}\@starttoc}{}{}
\makeatother

或者让empty页面样式等同于plain页面样式:

\makeatletter
\let\ps@empty\ps@plain
\makeatother

上述任何一种,插入到序言中的某处都应该有效。

答案2

svmono课程不是免费的,只能用于向 Springer 提交论文。因此,要么您正在准备提交论文,并且不应篡改该课程的设置,要么您就是在滥用它。

该文件中没有任何内容svmono.zip只能从 Springer 下载,并授予将文件用于其他目的的权限。因此必须假设没有许可。

无论如何,该类定义

\newcommand\chapter{\startnewpage
                    \@ifundefined{thispagecropped}{}{\thispagecropped}
                    \thispagestyle{bchap}%
                    \if@chapnum\else
                       \begingroup
                         \let\@elt\@stpelt
                         \csname cl@chapter\endcsname
                       \endgroup
                    \fi
                    \global\@topnum\z@
                    \@afterindentfalse
                    \secdef\@chapter\@schapter}

\def\tableofcontents{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
 \fi\chapter*{\contentsname \@mkboth{{\contentsname}}{{\contentsname}}}
 \@starttoc{toc}\if@restonecol\twocolumn\fi}

(对于\listoffigure和 也类似\listoftables)。因为我们发现

\def\ps@bchap{%\let\@mkboth\@gobbletwo
     \let\@oddhead\@empty\let\@evenhead\@empty
     \def\@oddfoot{\reset@font\small\hfil\thepage}%
     \let\@evenfoot\@oddfoot}

页码全部章节起始页出现在页面的右下角,这是我运行您的示例后获得的结果。

在此处输入图片描述

相关内容