Estou tentando escrever um artigo que usa o pacote xr (ou talvez precise ser zref) para referenciar rótulos em dois documentos diferentes: um artigo e uma apresentação do beamer. As referências do outro artigo funcionam perfeitamente, são as referências do beamer que aparecem como
Slide 1Doc-Iniciar.
Onde 1 é o número do quadro ao qual estou tentando fazer referência. Olhando para o arquivo aux produzido pelo beamer, a entrada é
\newlabel{posvnorm}{{1}{1}{}{Doc-Start}{}}
Se eu excluir manualmente o Doc-Start do arquivo aux, o resultado final será o que desejo. Portanto, se houver uma maneira de escrever o rótulo de forma que "Doc-Start" não seja incluído ou suprimido ao ligar para o rótulo, eu estarei pronto. Atenção, haverá várias referências a slides diferentes no artigo principal.
Código do artigo principal:
\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}
Código para os slides do projetor
\documentclass{beamer}
\usetheme{Boadilla}
\usecolortheme{beaver}
\begin{document}
\begin{frame} \label{posvnorm}
\frametitle{Title}
Words go here
\end{frame}
\end{document}
Código do artigo que está sendo referenciado
\documentclass[11pt]{article}
\begin{document}
\begin{enumerate}
\item Blah \label{pos}
\item Blarg \label{norm}
\end{enumerate}
\end{document}
Responder1
O problema é que você mistura documentos que utilizam hyperref
(carregados automaticamente pelo beamer) com documentos que não o utilizam. Se você alterar os dois documentos do artigo para incluir hyperref
, o seguinte funcionará bem e até mesmo produzirá clicáveis, assim abrirá automaticamente os documentos vinculados:
\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}