问题:对于我需要提交给大学的文档,字数并不重要,但页数必须等于或小于某个值(在本例中为 32)。在我的文档的执行摘要部分,我添加了一个脚注,其中包含总页数和所含内容的详细信息(即仅执行摘要和章节,目录和附录不计算在内)。我不确定如何计算页码,因为页面从罗马数字变为了数字,frontmatter
并且在mainmatter
此处搜索找不到类似的问题(尽管如果这是重复的,我很乐意删除)。
我想要的是:如果可能的话,一种计算执行摘要和章节总页数的方法mainmatter
,不包括我不想计算的部分(首页、目录、附录和其他)。我以前用过 TeXCount 来计算字数,并且知道可以根据打开或关闭它,类似的方法或更基本的解决方案是理想的。在 MWE 中,理想情况下会自动更新以包含所需部分的页数。backmatter
%TC:ignore
#
我已尝试过:不幸的是,我很少尝试自动输入页数,因为我对书籍类以及我假设这里需要的计数器不是很熟悉。我的备用选项是手动输入值,但我并不介意在其他文档中使用自动版本。
梅威瑟:
\documentclass[oneside]{book}
\usepackage{lipsum} % For dummy text
\usepackage{hyperref}
\begin{document}
\frontmatter
\begin{titlepage} Title \end{titlepage}
% ------------------------ Included in page count
\chapter{Executive Summary}
Text \footnote{The total page numbers including the executive summary and chapters is \# pages}. \lipsum[1-10].
% ------------------------ ^^ Included in page count
\tableofcontents
\newpage
\mainmatter
% ------------------------ Included in page count
\chapter{First}
\lipsum[1-10]
\chapter{Second}
\lipsum[1-10]
\chapter{Third}
\lipsum[1-10]
\chapter{Fourth}
\lipsum[1-10]
\chapter{Fifth}
\lipsum[1-10]
% ------------------------ ^^ Included in page count
\appendix
\chapter{Text}
\lipsum[1-10]
\end{document}
我希望这足够详细,如果这是重复的,请告诉我。
答案1
您的 MWE 产生 23 页:标题页(1)执行摘要(3)、目录(1)、章节(15)和附录(5)。
页数中不包括标题页和附录,净页数为 19 页。
使用该pageslts
包可以获取最后一页的引用,而不管页码样式如何。例如,\lastpageref{LastPages}
将输出最后一页的物理页码(23,但页码为 18)。
添加标签lastpagetocount
是为了标记要计数的最后一页。
为了将和其他页面引用转换LastPages
为数字,使用了包\getpagerefnumber
提供的命令refcount
。
为了方便起见,netpages
计数器包含要计算的净页数的结果,并且命令\NetPages
会将该数字插入到脚注中。
要计算的净页数由以下公式给出
\getpagerefnumber{LastPages} -\getpagerefnumber{LastPage} +\getpagerefnumber{lastpagetocount} -1
\documentclass[oneside]{book}
\usepackage{lipsum} % For dummy text
\usepackage{hyperref}
\usepackage{refcount} % convert pages references to numbers \getpagerefnumber <<<<<<
\usepackage{pageslts} % reference to the last physical pages <<<<<<
\newcounter{netpages} % store net number of pages to count <<<<<<
\newcommand{\NetPages}{% % added <<<<<<
\setcounter{netpages}{\the\numexpr\getpagerefnumber{LastPages} -\getpagerefnumber{LastPage} +\getpagerefnumber{lastpagetocount} -1\relax}
\thenetpages}
\begin{document}
\frontmatter
\begin{titlepage} Title
\end{titlepage}
% ------------------------ Included in page count
\chapter{Executive Summary}
Text \footnote{The total page numbers including the executive summary and chapters is \NetPages~pages}. \lipsum[1-10].
% ------------------------ ^^ Included in page count
\tableofcontents
\newpage
\mainmatter
% ------------------------ Included in page count
\chapter{First}
\lipsum[1-10]
\chapter{Second}
\lipsum[1-10]
\chapter{Third}
\lipsum[1-10]
\chapter{Fourth}
\lipsum[1-10]
\chapter{Fifth}
\lipsum[1-10]
\label{lastpagetocount} % added <<<<<<<<<<<<<<<<<<<<<<
% ------------------------ ^^ Included in page count%
\appendix
\chapter{Text}
\lipsum[1-10]
\end{document}
执行摘要之前应该只有一页。因此公式中的值为 -1。如果存在更多页数,请相应更改该数字。
更新此解决方案仅使用包。它将计算和zref
之间的页数,因此该标记之前或之后有多少页并不重要。\zlabel{firstpagetocount}
\zlabel{lastpagetocount}
\documentclass[oneside]{book}
\usepackage[abspage,user,lastpage]{zref} % added <<<<<<<<<
\usepackage{lipsum} % For dummy text
\usepackage{hyperref}
\newcounter{netpages} % store net number of pages to count <<<<<<
\makeatletter
\newcommand{\calculatepages}{%
\setcounter{netpages}{\numexpr\zref@extract{lastpagetocount}{abspage} -\zref@extract{firstpagetocount}{abspage}+1\relax}
\thenetpages\
}
\makeatother
\begin{document}
\frontmatter
\begin{titlepage} Title
\end{titlepage}
% ------------------------ Included in page count
\chapter{Executive Summary}
\zlabel{firstpagetocount} % mark first page to count <<<<<<<<<<<<<<<<<
Text \footnote{The total page numbers including the executive summary and chapters is \calculatepages pages}. \lipsum[1-10].
% ------------------------ ^^ Included in page count
\tableofcontents
\newpage
\mainmatter
% ------------------------ Included in page count
\chapter{First}
\lipsum[1-10]
\chapter{Second}
\lipsum[1-10]
\chapter{Third}
\lipsum[1-10]
\chapter{Fourth}
\lipsum[1-10]
\chapter{Fifth}
\lipsum[1-10]
\zlabel{lastpagetocount} % % mark last page to count <<<<<<<<<<<<<<<<<
% ------------------------ ^^ Included in page count%
\appendix
\chapter{Text}
\lipsum[1-10]
\end{document}