2010-04-24 12 views

Odpowiedz

3

Twoje podstawowe podejście powinno być powiedzieć wymieniając jakie słowa podkreślić. Prosty sposób, aby to zrobić jest jak to:.

\lstset{emph={baz},emphstyle=\textbf} 

oczywiście, że będzie podkreślać baz kiedy to nastąpi, ale jest to lepsze podejście niż próbować umieścić znaczników do swojej wystawianie się, nie (powinno) chcą, aby to zrobić, ponieważ ty (powinieneś) chcieć użyć listingów do sformatowania niezmodyfikowanej pi ece kodu. Zwłaszcza jeśli włączasz pliki źródłowe, zamiast wpisywać fragmenty kodu.

Gdy już zapoznasz się z podstawami, zajrzyj do dokumentacji, aby dowiedzieć się, jak ustawić style słów kluczowych i identyfikatorów oraz jak modyfikować wbudowane listy słów kluczowych dla wybranych przez Ciebie języków.

+0

Dzięki, ale naprawdę chcę podkreślić baz tylko w tym konkretnym kontekście. – fredoverflow

+0

Po prostu wywołaj wywołanie \ lstset w żądanym zakresie, zresetuj go poza ten zakres. Nie posunąłbym się nawet do stwierdzenia, że ​​nie możesz ustawić dowolnego tekstu w dowolnych formatach na liście, ale zawsze będziesz walczył przeciwko paczce, jeśli to zrobisz. –

+0

Nawiasem mówiąc, 'emphstyle = \ textbf' nie działa dla mnie, podczas gdy na przykład' emphstyle = \ color {red} 'robi. Wydaje się, że lstlsting naprawdę nie chce, żebym bałaganił z fontami :( – fredoverflow

5

Twoje rozwiązanie jest poprawne. Jednak standardowa czcionka o stałej szerokości LaTeX nie ma wersji pogrubionej, więc \textbf nic nie robi w środowisku . Według macfreek.nl, można wykonać następujące czynności, aby redeclare wersję pogrubionego:

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

Przetestowałem następujący przykład i to działa, jak chcesz:

\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} 

używam tej samej techniki z \color{red} zamiast \textbf wskazać publiczności prezentację beamer na różnicę między dwiema prawie identycznymi listami kodów.

Powiązane problemy