Как смешивать \ref{} и \pageref{}?

Как смешивать \ref{} и \pageref{}?

Есть \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макрос, т. е. ничего не добавляется;

  • если элемент расположен на предыдущей или следующей странице, то к перекрестной ссылке добавляется «на предыдущей странице» или «на следующей странице» в зависимости от ситуации;

  • если элемент расположен в другом месте документа, к перекрестной ссылке добавляется строка «на странице».

Связанный контент