私は、xrパッケージ(またはzref)を使用して、2つの異なるドキュメント(記事とビーマープレゼンテーション)のラベルを参照する記事を書こうとしています。他の記事からの参照は完全に機能しますが、ビーマーの参照は次のように表示されます。
スライド 1Doc-Start。
ここで、1は参照しようとしているフレーム番号です。beamerによって生成されたauxファイルを見ると、エントリは次のようになります。
\newlabel{posvnorm}{{1}{1}{}{Doc-Start}{}}
aux ファイルから Doc-Start を手動で削除すると、最終的な出力は希望どおりになります。したがって、ラベルを呼び出すときに「Doc-Start」が含まれないように、または抑制されるようにラベルを書き込む方法があれば、問題なく実行できるはずです。注意: メインの記事には、さまざまな Beamer スライドへの参照が複数あります。
メイン記事のコード:
\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 によって自動的にロードされる) を使用するドキュメントと、それを使用しないドキュメントが混在していることです。 2 つの記事ドキュメントを変更して を含めると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}