LaTeXでPDFを作成しています。いくつかのセクションとサブセクションがあります。ドキュメントの上部にリンクを配置して、PDF誰かがそれをクリックすると、そのセクション/サブセクションに移動します。リンク可能な目次でこれを行うことは可能ですが、目次を作成したくないので、さらに制御する必要があります。
ドキュメントの前文に\usepackage{hyperref}
を含めます。セクションに適切なラベルを割り当て、\ref{}
を使用してこれらのラベルを参照します。これらの参照は、pdflatexでPDFを作成するときにクリック可能なリンクに変わります。
hyperref
パッケージは、この種のことを広範囲にサポートしています(以前の回答で述べたように)。
注意とアドバイス:hyperrefは大きなパッケージであり、(必然的に)LaTeXの根性でかなり汚いトリックを実行します。最後にhyperrefパッケージをロードし、ドキュメントが突然変になった場合は、そのパッケージをコメントアウトし、ディレクトリから.out
ファイルと.aux
ファイルを削除して、問題が解消されるかどうかを再確認します。もしそうなら、...何かを考えてください。
hypertex
パッケージは同じことのいくつかを行うことができ、もう少し軽量です。しかし、私の記憶では、それは少し壊れやすく、もはやあまり維持されていない可能性があります。
PDFスペシャル(pdftexマニュアルを参照)でこのようなことのいくつかを行うことができますが、それは少しハードコアになり、PDFについてかなり知っている必要があります。
他の回答で指摘されているように、 hyperrefパッケージ を使用できます。ただし、デフォルト設定はかなり悪いので(各リンクの周りに最も醜いと思われるボックスが追加されます)、最も便利な設定をカスタマイズするための一般的なコードスニペットを次に示します。
\usepackage{hyperref}
\hypersetup{
colorlinks = true, % Colours links instead of ugly boxes
urlcolor = blue, % Colour for external hyperlinks
linkcolor = blue, % Colour of internal links
citecolor = red % Colour of citations
}
また、パッケージnatlib(\usepackage{natbib}
)、hyperrefは2つのリンクを生成します:
これを修正するには、 add :
\usepackage{etoolbox}
\makeatletter
\pretocmd{\NAT@citex}{%
\let\NAT@hyper@\NAT@hyper@citex
\def\NAT@postnote{#2}%
\setcounter{NAT@total@cites}{0}%
\setcounter{NAT@count@cites}{0}%
\forcsvlist{\stepcounter{NAT@total@cites}\@gobble}{#3}}{}{}
\newcounter{NAT@total@cites}
\newcounter{NAT@count@cites}
\def\NAT@postnote{}
% include postnote and \citet closing bracket in hyperlink
\def\NAT@hyper@citex#1{%
\stepcounter{NAT@count@cites}%
\hyper@natlinkstart{\@citeb\@extra@b@citeb}#1%
\ifnumequal{\value{NAT@count@cites}}{\value{NAT@total@cites}}
{\ifNAT@swa\else\if*\NAT@postnote*\else%
\NAT@cmt\NAT@postnote\global\def\NAT@postnote{}\fi\fi}{}%
\ifNAT@swa\else\if\relax\NAT@date\relax
\else\NAT@@close\global\let\NAT@nm\@empty\fi\fi% avoid compact citations
\hyper@natlinkend}
\renewcommand\hyper@natlinkbreak[2]{#1}
% avoid extraneous postnotes, closing brackets
\patchcmd{\NAT@citex}
{\ifNAT@swa\else\if*#2*\else\NAT@cmt#2\fi
\if\relax\NAT@date\relax\else\NAT@@close\fi\fi}{}{}{}
\patchcmd{\NAT@citex}
{\if\relax\NAT@date\relax\NAT@def@citea\else\NAT@def@citea@close\fi}
{\if\relax\NAT@date\relax\NAT@def@citea\else\NAT@def@citea@space\fi}{}{}
\makeatother
ハイパーリンクスタイルに関するFranckのコメントに加えて、hidelinksオプションを追加することですべてのマークアップを削除することができます。
\usepackage[hidelinks]{hyperref}