deel1.tex目录中的文件deel1

deel1.tex目录中的文件deel1

我正在编写一篇需要分成 4 个部分的文本,每个部分都有自己的目录和附录。需要四个单独的 pdf。

但是,页码和章节编号必须从一个部分延续到另一个部分,例如,如果DEEL1(英文PART1:)在第 10 页结束,DEEL2则必须从第 11 页继续。因为我知道每个文档的长度,所以我手动完成了这项工作\setcounter{page}{10}(分段也是如此,尽管我不确定如何让附录分段工作)。

我的目录被分成每个部分的文件夹。

DELEN
├── DEEL1
├── DEEL2
├── DEEL3
└── DEEL4

现在我希望能够引用不在该特定部分的内容。例如:如果\label{prt1:sec:section2}在第一部分,我希望也能够\ref{prt1:sec:section2}在第二、三和四部分中使用。

这可能吗?

答案1

deel1.tex目录中的文件deel1

\documentclass[a4paper]{article}
\usepackage{lastpage,xr,refcount,etoolbox}
\externaldocument{../deel2/deel2}
\externaldocument{../deel3/deel3}

\makeatletter
\patchcmd{\lastpage@putl@bel}{LastPage}{LastPage1}{}{}
\makeatother

\begin{document}
\tableofcontents

\section{First deel1}\label{first1}

\section{Second deel1}\label{second1}

\ref{first1} at page \pageref{first1}

\ref{second1} at page \pageref{second1}

\ref{first2} at page \pageref{first2}

\ref{second2} at page \pageref{second2}

\ref{first3} at page \pageref{first3}

\ref{second3} at page \pageref{second3}

\end{document}

deel2.tex目录中的文件deel2

\documentclass[a4paper]{article}
\usepackage{lastpage,xr,refcount,etoolbox}
\externaldocument{../deel1/deel1}
\externaldocument{../deel3/deel3}

\makeatletter
\patchcmd{\lastpage@putl@bel}{LastPage}{LastPage2}{}{}
\makeatother

\begin{document}
\setcounter{page}{\getpagerefnumber{LastPage1}}
\stepcounter{page}
\tableofcontents

\section{First deel2}\label{first2}

\section{Second deel2}\label{second2}

\ref{first1} at page \pageref{first1}

\ref{second1} at page \pageref{second1}

\ref{first2} at page \pageref{first2}

\ref{second2} at page \pageref{second2}

\ref{first3} at page \pageref{first3}

\ref{second3} at page \pageref{second3}

\end{document}

deel3.tex目录中的文件deel3

\documentclass[a4paper]{article}
\usepackage{lastpage,xr,refcount,etoolbox}
\externaldocument{../deel1/deel1}
\externaldocument{../deel2/deel2}

\makeatletter
\patchcmd{\lastpage@putl@bel}{LastPage}{LastPage3}{}{}
\makeatother

\begin{document}
\setcounter{page}{\getpagerefnumber{LastPage2}}
\stepcounter{page}
\tableofcontents

\section{First deel3}\label{first3}

\section{Second deel3}\label{second3}

\ref{first1} at page \pageref{first1}

\ref{second1} at page \pageref{second1}

\ref{first2} at page \pageref{first2}

\ref{second2} at page \pageref{second2}

\ref{first3} at page \pageref{first3}

\ref{second3} at page \pageref{second3}

\end{document}

笔记

我们必须修补\lastpage@putl@bel才能在不同的文档中使用不同的标签(“前缀”策略由負責会更麻烦)。超链接使用的是\lastpage@putl@belhyper(相同代码)。

同样的方案也适用于引用,如果激流包被使用。

相关内容