页码范围为第一页至最后一页

页码范围为第一页至最后一页

我一直在尝试输出页面范围,包括章节的第一页和最后一页的页码(例如“第 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 章。

相关内容