2010-05-21 14 views
7

में प्रतीकों की एक सूची बनाना मैं अपने लेटेक्स प्रोजेक्ट में प्रतीकों की स्वत: जेनरेट की गई सूची प्राप्त करने का प्रयास कर रहा हूं। यहाँ मैक्रो मैं अब तक है ...लेटेक्स

\newcommand{\addsymbol}[3]{% 
    \symboldisplay{#1}{#2}\\% 
    \setelem{#3}{#1} 
} 
\newcommand{\symboldisplay}[2]{% 
    $#1$ \parbox{5in}{\dotfill #2}% 
} 

\def\setelem#1{\expandafter\def\csname myarray(#1)\endcsname} 
\def\dispsymbol#1{\csname myarray(#1)\endcsname} 

मैं तो इतना

\begin{listofsymbols} 
\input{symbols} 
\end{listofsymbols} 

जहां symbols.tex फ़ाइल है

\addsymbol{n}{Number of sample points}{num_points} 
\addsymbol{f_s}{Sampling frequency}{samp_frequency} 

मैं जैसे प्रतीकों की सूची में शामिल हैं फिर लेबल द्वारा अपना प्रतीक प्राप्त कर सकते हैं: \ dispsymbol {num_points} - यह इस मामले में n प्रदर्शित करता है।

यह सभी खोज और बेवकूफ काम करता है ... जब मैं उसी अध्याय (प्रतीक अध्याय की सूची) में \ addymbol def के रूप में \ dispsymbol को कॉल कर रहा हूं। जब मैं किसी अन्य अध्याय में प्रतीक के लिए लेबल प्राप्त करने का प्रयास करता हूं तो कुछ भी काम नहीं करता है।

क्या कोई मेरी मदद कर सकता है, या एक ऐसा पैकेज सुझा सकता है जो मैं ढूंढ रहा हूं?

उत्तर

5

बात यह है कि

\begin{listofsymbols} 
\end{listofsymbols} 

गुंजाइश है और किसी भी मैक्रो इस समूह के बाद खो जाता है। आपको वैश्विक मैक्रोज़ को परिभाषित करना चाहिए।

\def\setelem#1{\expandafter\gdef\csname myarray(#1)\endcsname} 
+0

एलेक्सी, यह बहुत काम करता है। – Brian

5

स्वचालित रूप से प्रतीकों की एक सूची उत्पन्न करने के लिए आप nomencl पैकेज का उपयोग कर सकते हैं, या अधिक जटिल दस्तावेज़ों के लिए जो शब्दावली या शब्दकोष की सूचियों की आवश्यकता होती है, glossaries पैकेज।

चेक दस्तावेज में उदाहरण;)

+0

मैं nomencl पर ध्यान दिया है साथ निम्नलिखित

\def\setelem#1{\expandafter\def\csname myarray(#1)\endcsname} 

बदलें और यह अच्छा लग रहा है, लेकिन अन्य कोड खुराक मैं क्या चाहते हैं। इसके अलावा मुझे लगता है कि मैंने इसे ज्यादातर अपने द्वारा लिखा है :) धन्यवाद – Brian