
我使用以下程式碼建立目錄、圖表列表等:
\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
- 提供\chapter
s。這樣做的原因源於這樣一個事實:這些章節第一頁上的標題佈局通常看起來很奇怪,因此透過類似的東西設定為不同的樣式\thispagestyle{<chapter-page-style>}
(通常<chapter-page-style>
是plain
)。
雖然可以發出
\chapter{<title>}
\thispagestyle{<style>}
為了更新強制<chapter-page-style>
樣式以適用於常規章節,對於“章節”列表(例如)等來說<style>
並不容易。原因是因為章節清單是作為一個整體設定的,因此很難插入到適當的(定時)位置。\tableofcontents
\listoffigures
\thispagestyle{<style>}
您可以透過命令清單的補丁來解決此問題(使用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}
頁碼在全部章節起始頁出現在頁面的右下角,這是我執行您的範例時獲得的結果。