2010-08-02 13 views
21

में स्वचालित रूप से पीडीएफटीटल और पीडीएफएआरआरआर सेट करना मैं पीडीएफ दस्तावेज़ गुणों में शीर्षक और लेखक सेट करने के लिए नीचे दिए गए कोड का उपयोग करता हूं।एक लाटेक्स स्टाइलशीट

\usepackage[pdftex]{hyperref} 
\hypersetup{ 
    pdftitle = {The documents title}, 
    pdfauthor = {me} 
} 

मैं एक स्टाइलशीट (.sty) में इसके सामने यह स्वचालित करने के लिए नीचे मेरी प्रयास है, लेकिन यह काम नहीं कर रहा चाहते हैं। पीडीएफ संकलित (pdflatex) त्रुटियों के साथ संकलित है। लेकिन पीडीएफ दस्तावेज़ गुण खाली रहते हैं।

\usepackage[pdftex]{hyperref} 
\hypersetup{ 
    pdftitle = {\@title}, 
    pdfauthor = {\@author} 
} 

मैं कस्टम शीर्षक पृष्ठ बनाने के लिए \ @title और \ @Author चर का उपयोग करता हूं। तो मैं उन कामों को जानता हूँ।

कोई सुझाव?

उत्तर

25

यदि आपको संकलन त्रुटियां मिलती हैं, तो मुझे लगता है कि समस्या @ वर्ण है। आपको अपना कोड \makeatletter और \makeatother में लपेटने की आवश्यकता है। एक और संभावित समस्या यह है कि आप \title और \author आदेश निष्पादित करने से पहले ऐसा करते हैं। इसके लिए एक अच्छा फिक्स \AtBeginDocument का उपयोग करना होगा, जो आपको इसे अपने प्रस्ताव में कहीं भी रखने की अनुमति देगा। ध्यान दें कि आपको \begin{document} से पहले \title और \author जानकारी को परिभाषित करना होगा।

\documentclass{article} 
\usepackage[pdftex]{hyperref} 

\makeatletter 
\AtBeginDocument{ 
    \hypersetup{ 
    pdftitle = {\@title}, 
    pdfauthor = {\@author} 
    } 
} 
\makeatother 

\title{Test title} 
\author{Sam Author} 

\begin{document} 
\maketitle 
\end{document} 

अद्यतन:xxx.sty नामक एक शैली फ़ाइल में प्रासंगिक भागों लाना:

\NeedsTeXFormat{LaTeX2e} 
\ProvidesPackage{xxx} 
\RequirePackage{hyperref} 

\makeatletter 
\AtBeginDocument{ 
    \hypersetup{ 
    pdftitle = {\@title}, 
    pdfauthor = {\@author} 
    } 
} 
\makeatother 
+0

मुख्य समाधान फ़ाइल में डालते समय आपका समाधान ठीक काम करता है। हालांकि, जब आप इसे एक .sty फ़ाइल में डालते हैं तो यह काम नहीं करता है। – Thierry

+0

@ थिएरी: मुझे इसे '.sty' फ़ाइल में डालने में कोई समस्या नहीं है। – grddev

+0

आपके अपडेट के बाद, सबकुछ ठीक काम करता है। जवाब के लिए धन्यवाद। – Thierry