我正在嘗試撰寫一篇文章,該文章使用 xr 套件(或者可能需要是 zref)來引用兩個不同文件中的標籤:一篇文章和一個投影機簡報。另一篇文章中的參考文獻工作得很好,投影機參考文獻顯示為
幻燈片 1Doc-開始。
其中 1 是我試圖引用的幀號。查看由 beamer 產生的 aux 文件,條目是
\newlabel{posvnorm}{{1}{1}{}{Doc-Start}{}}
如果我手動從 aux 檔案中刪除 Doc-Start,最終的輸出就是我想要的。因此,如果有一種方法可以編寫標籤,以便不包含“Doc-Start”,或者在呼叫標籤時抑制“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
(由投影機自動載入)的文件與不使用它的文件混合在一起。如果您將兩個文章文件變更為 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}