0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Beamer でスライド内リンクの着地点がずれる (スライドタイトルが隠れる) 場合の対処法

0
Posted at

背景と課題

Beamer で文書内の特定のセクションや特定のスライドにリンクするには、リンク先にラベルを貼り付けておき、そのラベルを参照するとリンクできる。

リンク先
\section{パスタの種類}\label{a-section-pasta}  % セクションにラベル

\begin{frame}[label=a-frame-spa]{スパゲッティ}  % スライドにラベル
細長いパスタ。
とてもおいしい。
\end{frame}
リンク元
\hyperlink{a-section-pasta}{パスタの種類のセクションへ}
\hyperlink{a-frame-spa}{スパゲッティのスライドへ}

PDF ビューアで PDF を 1 ページずつ表示する分にはこれで違和感はない。が、PDF を連続縦スクロールで表示する場合、この方法では画面上端がスライド上端になる位置に着地するのではなく、画面上端がスライドのコンテンツの上端になる位置に着地する (私の手元では)。そのため、着地したスライドのタイトルが隠れてみえない。

着地したスライドのタイトルが隠れないようにしたい。

対処法

セクションやスライドにラベルを貼り付けるのではなく、スライドタイトル文字列の直前にアンカー (\hypertarget) を設置してこれにリンクすれば、スライド上端に着地でき、「着地したスライドのタイトルが隠れる」課題は解決する。

リンク先
\section{パスタの種類}

\begin{frame}{\hypertarget{a-title-spa}{}スパゲッティ}  % スライドタイトル文字列直前にアンカー
細長いパスタ。
とてもおいしい。
\end{frame}
リンク元
\hyperlink{a-title-spa}{パスタの種類のセクションへ}
\hyperlink{a-title-spa}{スパゲッティのスライドへ}

別の対処法 (非推奨)

Beamer にはデフォルトでスライドやセクションへのリンクが張り巡らされており、これはスライド上端に着地できている。Beamer でビルドされた PDF を解析するとセクションやスライドへのリンクは以下のようになっているので、これなら着地したスライドのタイトルは隠れず、それもアンカーを設置しなくてもリンクできる。

リンク元
\hyperlink{Outline0.3}{パスタの種類のセクションへ}  % リンク先が 3 セクション目のとき
\hyperlink{Navigation5}{スパゲッティのスライドへ}  % リンク先が 5 スライド目のとき

ただし、まだそのスライドを編集するならセクション番号やスライド番号はずれていく可能性が高い。ので、この対処法を採用するのは「どうあっても 5 スライド目に着地したい」とか、「アンカーを設置する余裕がないほど逼迫している」とかのときに限られる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?