2010-04-20 15 views
6

में किसी पैकेज में स्थान रखने के विकल्प को पास करने के लिए कैसे करें जब मैं एक स्पेस युक्त विकल्प घोषित करता हूं, तो LaTeX/XeLaTeX इसे खाता है।LaTeX/XeLaTeX

मुख्य .tex में, मेरे पास है:

\usepackage[test font]{test} 

मेरी .sty फ़ाइल में मेरे पास है:

\DeclareOption*{\newfontfamily\testfont[Scale=1]{\CurrentOption}} 
\ProcessOptions 

लेकिन टेक्स इंजन पैकेज testfont विकल्प और नहीं गुजरता परीक्षण फ़ॉन्ट

तो प्रश्न यह है कि पैकेज में स्थान वाले विकल्प को कैसे पास किया जाए।

उत्तर

1


\catcode`\ =11 
\usepackage[test font]{test} 
\catcode`\ =10 

प्रयास करें यह काफी असफल होने की संभावना है, लेकिन असफलता क्या हम अब तक है पर प्रगति हो सकती है।

+1

हाँ यह असफल हो जायेगी साथ यह सुरक्षित रखें, लेकिन एक छोटे से बदलाव के साथ यह त्रुटि के बिना संकलन होगा: .tex फ़ाइल में \ catcode' \ = 11 \ usepackage [परीक्षण फ़ॉन्ट ] {परीक्षण} और .sty फ़ाइल में \ DeclareOption * {\ typeout {\ CurrentOption क्या}} \ ProcessOptions \ catcode' \ = 10 समस्या जा रहा है कि पहली बिल्ली चलती .sty फ़ाइल में कोड काम नहीं करता है। – anno

6

ब्रेसिज़

\usepackage[{test font}]{test} 
+0

काम नहीं करता है और एक स्वीकार्य समाधान नहीं है। – anno

+0

मैं भूल गया था कि आप वास्तव में दो यहाँ ब्रेसिज़ के सेट आवश्यकता होगी: \ documentclass {लेख} \ begin {filecontents} {} test.sty \ डीईएफ़ \ विकल्प {} \ DeclareOption * {% \ edef \ विकल्प {\ विकल्प, \ CurrentOption} \ AtBeginDocument {\ विकल्प} } \ ProcessOptions \ अंत {filecontents} \ usepackage [{{विकल्प यहाँ}}] {परीक्षण} \ begin {document} \ अंत {दस्तावेज़} दुर्भाग्यवश, कर्नेल आपके पैकेज को कुछ भी प्राप्त करने से पहले स्थान को अलग करता है। सामान्य विकल्प पैकेज लोडिंग पर डेटा नहीं लेना है, लेकिन एक सेट अप मैक्रो है जो लोड होने के बाद चीजों को संसाधित करता है। इससे रिक्त स्थान खोने से बचा जाता है। –

+1

हां 2 ब्रेसिज़ के साथ यह काम करता है, लेकिन मैं उपयोगकर्ता से ऐसा करने के लिए नहीं कह सकता। – anno

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

  • कोई संबंधित समस्या नहीं^_^