次の単純な LaTeX ドキュメントを考えてみましょう。
\documentclass{article}
\begin{document}
\section{A} \label{A}
\subsection{B}\label{B}
\subsubsection{C}\label{C}
I am in section \ref{A}, subsection \ref{B}, subsubsection \ref{C}.
\end{document}
出力では、Dewey のようなセクション番号付けが採用されています。
さて、これをbeamerに変換すると、奇妙なことが起こります。テキストがフレームの外側にある場合、つまり、
\documentclass{beamer}
\begin{document}
\section{A} \label{A}
\subsection{B}\label{B}
\subsubsection{C}\label{C}
I am in section \ref{A}, subsection \ref{B}, subsubsection \ref{C}.
\end{document}
beamer は相互参照をまったく見つけることができません。何度実行してもlatex
、次のエラー メッセージが表示されます。
)pdfTeX warning (dest): name{C} has been referenced but does not exist, replac
ed by a fixed one
pdfTeX warning (dest): name{B} has been referenced but does not exist, replaced
by a fixed one
pdfTeX warning (dest): name{A} has been referenced but does not exist, replaced
by a fixed one
不思議なことに、参照番号は出力に表示されますが、ネストされた Dewey 番号は失われます。
テキストをフレーム内に配置すると、
\documentclass{beamer}
\begin{document}
\section{A} \label{A}
\subsection{B}\label{B}
\subsubsection{C}\label{C}
\begin{frame}
I am in section \ref{A}, subsection \ref{B}, subsubsection \ref{C}.
\end{frame}
\end{document}
エラーメッセージは消えますが、出力は通常と異なります
これは Beamer のバグでしょうか? 回避策はありますか?
答え1
バグはありません。
beamer
「(dest)が見つかりません」というエラーは、フレームがないと、生成されたハイパーリンクのターゲットを収容できないために発生します。\ref
「孤独な数字」は正確な選択です。プリアンブルに通常のコードを追加して、決定を元に戻すことができます。
ここに例があります。
\documentclass{beamer}
\renewcommand{\thesubsection}{\thesection.\arabic{subsection}}
\renewcommand{\thesubsubsection}{\thesubsection.\arabic{subsubsection}}
\begin{document}
\section{A} \label{A}
\subsection{B}\label{B}
\subsubsection{C}\label{C}
\begin{frame}
I am in section \ref{A}, subsection \ref{B}, subsubsection \ref{C}.
\end{frame}
\end{document}