我有几个部分的内容需要在多个章节中重复。当我两次包含这些内容时,它在文档中看起来不错,但该部分中的引用总是转到最后包含的部分。这是有道理的,因为标签正在被重新定义。有没有办法改变这种行为,或者有没有更好的方法将一个部分添加到多个章节中。例如,只允许引用来自该部分所在的章节。
答案1
为标签和对公共部分元素的引用定义特殊命令。
主文件
\documentclass{book}
\usepackage{hyperref}
\newcommand{\mlabel}[1]{\label{\thechapter@@#1}}
\DeclareRobustCommand{\mref}[1]{\ref{\thechapter@@#1}}
\begin{document}
\mainmatter
\chapter{First}
\input{common}
\section{A section}
This is a reference to the common section: \mref{commonsection}
\chapter{Second}
\input{common}
\section{A section}
This is a reference to the common section: \mref{commonsection}
\end{document}
文件被多次包含common.tex
\section{Common section}\mlabel{commonsection}
This is the text that goes in all chapters.