2010-07-14 2 views
10

LaTeX로 PDF를 작성 중입니다. 몇 가지 섹션과 하위 섹션이 있습니다. 나는 PDF의 누군가가 그것을 클릭 할 수 있고 그 섹션/하위 섹션으로 갈 수 있도록 문서 맨 위로 링크를 놓고 싶습니다. 링크 가능한 목차로이 작업을 수행하는 것이 가능하다는 것을 알고 있지만 목차를 만들고 싶지는 않습니다. 더 많은 통제가 필요합니다.LaTeX - PDF 문서로 섹션/하위 섹션에 클릭 가능한 링크 추가

+0

문서의 상단에있는 링크는 목차와 매우 유사합니다. 귀하의 링크가 ToC와 어떻게 다른가요? – Philipp

+0

Philipp, 기본 ToC와 같은 목록 대신 사용자 정의 레이아웃이 필요합니다. 레이아웃을 지금 완료했습니다. 링크를 추가하는 것이 ToC를 원하는 모양으로 만드는 것보다 쉬울 것이라고 생각합니다. – Rory

답변

27

문서의 앞부분에 \usepackage{hyperref}을 포함하십시오. 섹션에 적절한 라벨을 지정하고 \ref{}을 사용하여 라벨을 참조하십시오. 이러한 참조는 pdflatex로 PDF를 작성할 때 클릭 가능한 링크로 바뀝니다.

+2

hyperref를 사용하려면'documentclass'에'draft' 옵션을 사용할 수 없습니다! – Cerran

13

hyperref 패키지는 이전 답변에서 언급했듯이 이런 종류의 작업을 광범위하게 지원합니다.

참고 및 조언 : hyperref는 큰 패키지이며, LaTeX의 배짱과 함께 꽤 더러운 트릭을 재생합니다 (필연적으로). 마지막으로 hyperref 패키지를로드하고 문서가 갑자기 이상하게 생긴 경우 해당 패키지에 주석을 달고 디렉터리에서 .out.aux 개의 파일을 제거하고 문제가 사라지는 지 다시 확인하십시오. 그렇다면 뭔가 생각해보십시오.

hypertex 패키지는 동일한 작업을 수행 할 수 있으며 좀 더 가볍습니다. 그러나 내 기억은 그것은 약간 연약하고 더 이상 유지되지 않을 수도 있다는 것입니다.

PDF 스페셜로이 제품 중 일부를 할 수 있지만 (pdftex 설명서 참조) 약간의 하드 코어를 얻고 있으며 PDF에 대해 많은 것을 알고 있어야합니다.

6

다른 답변에서 지적한대로 hyperref package을 사용할 수 있습니다.

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

또한 경우에 당신은을 사용, 그러나, 기본 설정 (이것은 대부분의 각 링크 주변의 추한 생각에 상자를 추가합니다) 아주 나쁜, 그래서 여기에 가장 유용한 설정을 사용자 정의하는 전형적인 코드는

enter image description here

는이 문제를 해결하려면, add :

\usepackage{etoolbox} 

\makeatletter 

\pretocmd{\[email protected]}{% 
    \let\[email protected]@\[email protected]@citex 
    \def\[email protected]{#2}% 
    \setcounter{[email protected]@cites}{0}% 
    \setcounter{[email protected]@cites}{0}% 
    \forcsvlist{\stepcounter{[email protected]@cites}\@gobble}{#3}}{}{} 
\newcounter{[email protected]@cites} 
\newcounter{[email protected]@cites} 
\def\[email protected]{} 

% include postnote and \citet closing bracket in hyperlink 
\def\[email protected]@citex#1{% 
    \stepcounter{[email protected]@cites}% 
    \[email protected]{\@citeb\@[email protected]@citeb}#1% 
    \ifnumequal{\value{[email protected]@cites}}{\value{[email protected]@cites}} 
    {\[email protected]\else\if*\[email protected]*\else% 
    \[email protected]\[email protected]\global\def\[email protected]{}\fi\fi}{}% 
    \[email protected]\else\if\relax\[email protected]\relax 
    \else\[email protected]@close\global\let\[email protected]\@empty\fi\fi% avoid compact citations 
    \[email protected]} 
\renewcommand\[email protected][2]{#1} 

% avoid extraneous postnotes, closing brackets 
\patchcmd{\[email protected]} 
    {\[email protected]\else\if*#2*\else\[email protected]#2\fi 
    \if\relax\[email protected]\relax\else\[email protected]@close\fi\fi}{}{}{} 
\patchcmd{\[email protected]} 
    {\if\relax\[email protected]\relax\[email protected]@citea\else\[email protected]@[email protected]\fi} 
    {\if\relax\[email protected]\relax\[email protected]@citea\else\[email protected]@[email protected]\fi}{}{} 

\makeatother 
패키지 natlib ( \usepackage{natbib}), hyperref는 두 개의 링크를 생성합니다

관련 문제