
Я использую следующий код для создания оглавления, списка рисунков и т. д.:
\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}
номер страницы ввсеНачальные страницы глав отображаются в правом нижнем углу страницы, что я и получаю при запуске вашего примера.