Beamer のバグを回避するには? セクション番号は LaTeX のように Dewey 形式ではない

Beamer のバグを回避するには? セクション番号は LaTeX のように Dewey 形式ではない

次の単純な 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

バグはありません。

  1. beamer「(dest)が見つかりません」というエラーは、フレームがないと、生成されたハイパーリンクのターゲットを収容できないために発生します。\ref

  2. 「孤独な数字」は正確な選択です。プリアンブルに通常のコードを追加して、決定を元に戻すことができます。

ここに例があります。

\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}

ここに画像の説明を入力してください

関連情報