Я пытаюсь написать статью, которая использует пакет xr (или, может быть, это должен быть zref) для ссылок на метки в двух разных документах: статья и презентация в бимере. Ссылки из другой статьи работают отлично, это ссылки в бимере, которые отображаются как
Слайд 1Doc-Start.
Где 1 — номер кадра, на который я пытаюсь сослаться. Глядя на aux-файл, созданный beamer, запись выглядит так:
\newlabel{posvnorm}{{1}{1}{}{Doc-Start}{}}
Если я вручную удалю Doc-Start из aux-файла, то конечный результат будет таким, как мне нужно. Так что если есть способ написать метку так, чтобы "Doc-Start" не включался или подавлялся при вызове метки, то я должен быть готов. Предупреждение: в основной статье будет несколько ссылок на слайды с разными проекторами.
Код для основной статьи:
\documentclass[11pt]{article}
\usepackage{xr}
\externaldocument{../Folder1/mwe_article}
\externaldocument{../Folder2/mwe_beamer}
\begin{document}
Slide \ref{posvnorm}
Article \ref{pos} and \ref{norm}
\end{document}
Код для слайдов проектора
\documentclass{beamer}
\usetheme{Boadilla}
\usecolortheme{beaver}
\begin{document}
\begin{frame} \label{posvnorm}
\frametitle{Title}
Words go here
\end{frame}
\end{document}
Код статьи, на которую делается ссылка
\documentclass[11pt]{article}
\begin{document}
\begin{enumerate}
\item Blah \label{pos}
\item Blarg \label{norm}
\end{enumerate}
\end{document}
решение1
Проблема в том, что вы смешиваете документы, которые используют hyperref
(автоматически загружаемые с помощью beamer), с документами, которые его не используют. Если вы измените два документа статьи на include hyperref
, следующее будет работать нормально и даже создавать кликабельные элементы, как это будет автоматически открывать связанные документы:
\documentclass[11pt]{article}
\usepackage{xr-hyper}
\usepackage{hyperref}
\externaldocument{mwe_article}
\externaldocument{mwe_beamer}
\begin{document}
Slide \ref{posvnorm}
Article \ref{pos} and \ref{norm}
\end{document}
\documentclass[11pt]{article}
\usepackage{hyperref}
\begin{document}
\begin{enumerate}
\item Blah \label{pos}
\item Blarg \label{norm}
\end{enumerate}
\end{document}