我一直在尝试输出页面范围,包括章节的第一页和最后一页的页码(例如“第 20 - 39 页”)。我一直在使用命令输出\pageref{LastPage}
章节的最后一页,但找不到输出第一页的方法(最好使用诸如 之类的命令\pageref{FirstPage}
)。如能得到任何帮助,我将不胜感激。
答案1
正如评论中所说,LastPage
它给出了文档的最后一页,因此可能对您想要实现的目标没有太大帮助。我建议在每章开头定义一个标签,然后使用这些标签来获取它们之间的页面。考虑以下内容:
\documentclass{scrbook}
\usepackage{lastpage}
\newcounter{rangeendpage}
\newcounter{rangepages}
\newcommand{\setpagecounters}[2]{%
\setcounter{rangeendpage}{\pageref{#2}}
\addtocounter{rangeendpage}{-1}
\setcounter{rangepages}{\pageref{#2}}
\addtocounter{rangepages}{-\pageref{#1}}
\makeatletter
\if\therangepages0%
\setcounter{rangeendpage}{\pageref{#2}}
\setcounter{rangepages}{1}
\fi
\makeatother
}
\usepackage{blindtext}
\begin{document}
\chapter{Chapter 1}\label{ch1}
\setpagecounters{ch1}{ch2}
This chapter contains pages \pageref{ch1} to \arabic{rangeendpage}, which is \arabic{rangepages} in total.
\Blindtext
\Blindtext
\chapter{Chapter 2}\label{ch2}
\setpagecounters{ch2}{ch3}
This chapter contains pages \pageref{ch2} to \arabic{rangeendpage}, which is \arabic{rangepages} in total.
\blindtext
\chapter{Chapter 3}\label{ch3}
\setpagecounters{ch3}{LastPage}
This chapter is the last and contains pages \pageref{ch3} to \arabic{rangeendpage}, which is \arabic{rangepages} in total.
\end{document}
这将产生如下输出:
示例使用LastPage
表示最后一章。它还处理了章节只有一页的情况 - 请参阅第 3 章。新章节开始前的空白页将计入上一章 - 请参阅第 1 章。