2010-07-14 17 views
10

के साथ एक सेक्शन/उपखंड में क्लिक करने योग्य लिंक जोड़ें मैं लाटेक्स के साथ पीडीएफ बना रहा हूं। मेरे पास कुछ खंड और उपखंड हैं। मैं दस्तावेज़ के शीर्ष की तरफ एक लिंक रखना चाहता हूं ताकि पीडीएफ में कोई उस पर क्लिक कर सके और यह उस सेक्शन/उपखंड पर जायेगा। मुझे पता है कि सामग्री की एक लिंक करने योग्य तालिका के साथ यह संभव है, लेकिन मैं सामग्री की एक तालिका नहीं बनाना चाहता, मुझे अधिक नियंत्रण की आवश्यकता है।लाटेक्स - पीडीएफ दस्तावेज़

+0

दस्तावेज़ के शीर्ष पर एक लिंक बहुत सटीक है कि सामग्री की एक तालिका क्या है। आपका लिंक एक टीओसी से अलग कैसे होगा? – Philipp

+0

फिलिप, मैं डिफ़ॉल्ट टोसी की तरह एक सूची के बजाय एक और कस्टम लेआउट चाहता हूँ। मेरे पास यह लेआउट अब किया गया है, और मुझे लगता है कि इसमें लिंक जोड़ना एक टीओसी बनाने से आसान होगा जो मैं चाहता हूं। – Rory

उत्तर

27

अपने दस्तावेज़ के प्रस्ताव में \usepackage{hyperref} शामिल करें। अपने अनुभागों में उचित लेबल असाइन करें और \ref{} का उपयोग करके इन लेबलों का संदर्भ लें। पीडीएफएलएक्सएक्स के साथ पीडीएफ बनाते समय इन संदर्भों को क्लिक करने योग्य लिंक में बदल दिया जाएगा।

+2

नोट करें कि हाइपरफ का उपयोग करने के लिए, आपके पास 'दस्तावेज़' में 'ड्राफ्ट' विकल्प नहीं हो सकता है! – Cerran

13

hyperref पैकेज इस तरह की चीज़ के लिए व्यापक समर्थन है (जैसा कि पहले के उत्तर में बताया गया है)।

नोट्स और सलाह: हाइपरफ एक बड़ा पैकेज है, और (आवश्यकता के अनुसार) यह लाटेक्स के झटके के साथ कुछ सुंदर गंदे चालें बजाता है। हाइपरफ पैकेज को आखिरी लोड करें, और यदि आपका दस्तावेज़ अचानक अजीब हो जाता है, तो उस पैकेज को टिप्पणी करें, .out और .aux अपनी निर्देशिका से फ़ाइलों से छुटकारा पाएं, और यह देखने के लिए पुनः प्रयास करें कि समस्या गायब हो गई है या नहीं। अगर ऐसा होता है, तो ... कुछ सोचो।

hypertex पैकेज कुछ ही चीजें कर सकता है, और थोड़ा हल्का है। लेकिन मेरी यादें यह है कि यह थोड़ा नाजुक है, और अब और अधिक बनाए रखा नहीं जा सकता है।

आप पीडीएफ विशेषताओं (पीडीएफटीएक्स मैनुअल देखें) के साथ इनमें से कुछ चीज़ें कर सकते हैं, लेकिन यह थोड़ा कट्टर हो रहा है, और आपको पीडीएफ के बारे में बहुत कुछ पता होना चाहिए।

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 दो लिंक का उत्पादन करेगा

संबंधित मुद्दे