我将尝试获取每个段落的起始和结束页码。但是,我无法获取每页第一段的正确页码。我提到了以下 MWE。
\documentclass{book}
\usepackage{lipsum}
\usepackage{pageslts}
\usepackage{tikz}
\DeclareDocumentCommand\ptag{m}{\bgroup%
\begin{tikzpicture}[remember picture,overlay]%
\coordinate (here) at (0,0);%
\protect\draw (current page.west |- here) node[right]{{\textbf{PID:#1-PST:\theCurrentPage}}};%
\end{tikzpicture}\egroup%
}
\DeclareDocumentCommand\etag{m}{\bgroup%
\begin{tikzpicture}[remember picture,overlay]%
\coordinate (here) at (0,0);%
\protect\draw (current page.west |- here) node[right]{{\textbf{PID:#1-PED:\theCurrentPage}}};%
\end{tikzpicture}\egroup%
}
\begin{document}
\pagenumbering{arabic}
\chapter{Lipsum Content}
\ptag{1}\lipsum[1]\etag{1}
\ptag{2}\lipsum[2]\etag{2}
\ptag{3}\lipsum[3]\etag{3}
\ptag{4}\lipsum[4]\etag{4}
\ptag{5}\lipsum[5]\etag{5}
\ptag{6}\lipsum[6]\etag{6}
\ptag{7}\lipsum[7]\etag{7}
\ptag{8}\lipsum[8]\etag{8}
\ptag{9}\lipsum[9]\etag{9}
\ptag{10}\lipsum[10]\etag{10}
\ptag{11}\lipsum[11]\etag{11}
\ptag{12}\lipsum[12]\etag{12}
\ptag{13}\lipsum[13]\etag{13}
\ptag{14}\lipsum[14]\etag{14}
\ptag{15}\lipsum[15]\etag{15}
\end{document}
输出 PDF 术语如。我已经提到了下图的PID - para ID, PST - Para Start Page Number, PED - Para End Page Number
错误。此错误持续到连续的页面。Para End Page Number
如何使用“pageslts”包获取准确的实际页码。它是如何发生的。如何解决此错误。请检查并提出建议
答案1
您可以创建自己的页码计数器,但您需要一个自定义版本\label
以便延迟扩展直至打印。 \pageref
仍然会返回\thepage
。
请注意,这与 hyperref 或任何其他修改 的包不兼容\newlabel
。不过,hyperref 有自己的页数\Hy@abspage
。
\documentclass{book}
\usepackage{lipsum}
\usepackage{tikz}
\newcounter{realpage}
\setcounter{realpage}{1}
\AddToHook{shipout/after}{\stepcounter{realpage}}
\makeatletter
\def\realpagelabel#1{\@bsphack
\protected@write\@auxout{\let\therealpage=\relax}% delay expansion
{\string\newlabel{#1}{{\therealpage}{\thepage}}}%
\@esphack}
\makeatother
\DeclareDocumentCommand\ptag{m}{\realpagelabel{ptag#1}%
\begin{tikzpicture}[remember picture,overlay]
\coordinate (here) at (0,0);
\draw (current page.west |- here) node[right]{\textbf{PID:#1-PST:\ref{ptag#1}}};
\end{tikzpicture}%
}
\DeclareDocumentCommand\etag{m}{\realpagelabel{etag#1}%
\begin{tikzpicture}[remember picture,overlay]
\coordinate (here) at (0,0);
\draw (current page.west |- here) node[right]{{\textbf{PID:#1-PED:\ref{etag#1}}}};
\end{tikzpicture}%
}
\begin{document}
\pagenumbering{arabic}
\chapter{Lipsum Content}
\ptag{1}\lipsum[1]\etag{1}
\ptag{2}\lipsum[2]\etag{2}
\ptag{3}\lipsum[3]\etag{3}
\ptag{4}\lipsum[4]\etag{4}
\ptag{5}\lipsum[5]\etag{5}
\ptag{6}\lipsum[6]\etag{6}
\ptag{7}\lipsum[7]\etag{7}
\ptag{8}\lipsum[8]\etag{8}
\ptag{9}\lipsum[9]\etag{9}
\ptag{10}\lipsum[10]\etag{10}
\ptag{11}\lipsum[11]\etag{11}
\ptag{12}\lipsum[12]\etag{12}
\ptag{13}\lipsum[13]\etag{13}
\ptag{14}\lipsum[14]\etag{14}
\ptag{15}\lipsum[15]\etag{15}
\end{document}