
Есть \ref{} и \pageref{}. Но я хочу смешанное поведение. Я хотел бы иметь что-то вроде "XXX (page.YYY)" в тексте, где XXX — это то, что \ref{} обычно выдает (номер главы/раздела/и т. д.), а YYY — это номер страницы. Как это сделать?
решение1
создайте новую команду, например\fullref
\newcommand{\fullref}[1]{%
\ref{#1}
(p.~\pageref{#1})%
}
И позвони
\fullref{label}
Это MWE, который не тестирует страницу. Я предлагаю, как сказал @Mico, использоватьhttps://www.ctan.org/pkg/varioref. Автор пакета подумал о вас :-)
решение2
Я предлагаю вам взглянуть навариорефПакет и его \vref
макрос. Макрос имеет следующие свойства:
если элемент, на который делается перекрестная ссылка, случайно расположен ната же страница, он ведет себя как простой
\ref
макрос, т. е. ничего не добавляется;если элемент расположен на предыдущей или следующей странице, то к перекрестной ссылке добавляется «на предыдущей странице» или «на следующей странице» в зависимости от ситуации;
если элемент расположен в другом месте документа, к перекрестной ссылке добавляется строка «на странице».