2010-04-24 11 views
8

मैं बोल्डफेस्टिंग में lstlisting के कुछ हिस्सों को कैसे सेट कर सकता हूं?मैं lstlisting के हिस्सों पर जोर कैसे दे सकता हूं?

\begin{lstlisting}[[email protected]] 
fun(foo, bar, @\textbf{baz}@); 
\end{lstlisting} 

यह संकलित, लेकिन baz बोल्ड अक्षरों में सेट नहीं है :(क्या मुझे याद आ रही?

उत्तर

3

आपका बुनियादी दृष्टिकोण क्या शब्द पर जोर देना लिस्टिंग बताने के लिए किया जाना चाहिए। ऐसा करने के लिए इस तरह है एक सरल तरीके इस:।

\lstset{emph={baz},emphstyle=\textbf} 
बेशक

, कि baz पर जोर देना होगा जब भी यह होता है लेकिन यह आपकी ही लिस्टिंग में मार्कअप डाल करने के लिए कोशिश कर रहा से एक बेहतर तरीका है, आप नहीं (चाहिए) है कि क्या करना चाहते हैं के बाद से आप (चाहिए) एक unmodified पीआई प्रारूपित करने के लिए लिस्टिंग का उपयोग करना चाहते हैं कोड का ईसा विशेष रूप से यदि आप कोड स्निपेट टाइप करने के बजाय स्रोत फ़ाइलों को शामिल कर रहे हैं।

एक बार जब आप अपने बेल्ट के नीचे मूल बातें प्राप्त कर लेते हैं, तो दस्तावेज़ों के लिए शैलियों को सेट करने और पहचानकर्ताओं के लिए शैलियों को सेट करने और अपनी पसंद की भाषाओं के लिए कीवर्ड की अंतर्निहित सूची को संशोधित करने के तरीके को जानने के लिए।

+0

धन्यवाद के तहत एक जवाब मिल गया है, लेकिन मैं वास्तव में केवल इस विशेष संदर्भ में baz जोर देना चाहते। – fredoverflow

+0

ठीक है, बस उस स्कोप के भीतर \ lstset कॉल करें जिसे आप चाहते हैं, उस दायरे से बाहर रीसेट करें। मैं कहूंगा कि आप सूची में मनमाने ढंग से स्वरूपों में मनमाने ढंग से पाठ सेट नहीं कर सकते हैं, लेकिन यदि आप ऐसा करते हैं तो आप हमेशा पैकेज के खिलाफ लड़ेंगे। –

+0

वैसे, 'emphstyle = \ textbf' मेरे लिए काम नहीं करता है, जबकि उदाहरण के लिए' emphstyle = \ color {red} 'करता है। ऐसा लगता है कि lstlsting वास्तव में मुझे फ़ॉन्ट चेहरे के साथ गड़बड़ नहीं करना चाहता है :( – fredoverflow

5

आपका समाधान सही है। हालांकि, मानक लाटेक्स मोनोस्पेस्ड फ़ॉन्ट में बोल्डफेस संस्करण नहीं है, इसलिए \textbflstlisting वातावरण में कुछ भी नहीं करता है। macfreek.nl के अनुसार, आप बोल्ड अक्षरों संस्करण redeclare के लिए निम्न कर सकते हैं:

\DeclareFontShape{OT1}{cmtt}{bx}{n}{<5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>cmttb10}{} 

मैं निम्न उदाहरण परीक्षण किया है और यह के रूप में आप की इच्छा काम करता है:

\documentclass{article} 
\usepackage{listings} 
\DeclareFontShape{OT1}{cmtt}{bx}{n}{<5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88>cmttb10}{} 
\lstset{language=C, basicstyle=\ttfamily} 
\begin{document} 

\begin{lstlisting}[[email protected]] 
fun(foo, bar, @\textbf{baz}@); 
\end{lstlisting} 

\end{document} 

मैं \color{red} साथ उसी तकनीक का उपयोग दो लगभग समान कोड लिस्टिंग के बीच अंतर पर बीमर प्रस्तुति के दर्शकों को संकेत देने के लिए \textbf के बजाय।

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