2010-04-24 18 views

Trả lời

3

tiếp cận cơ bản của bạn nên được để kể liệt kê những từ để nhấn mạnh. Một cách đơn giản để làm điều này là như này:.

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

Tất nhiên, điều đó sẽ nhấn mạnh baz bất cứ khi nào nó xảy ra Nhưng đây là một cách tiếp cận tốt hơn so với cố gắng để đưa các đánh dấu vào bản thân danh sách của bạn, bạn không (phải) muốn làm điều đó kể từ bạn (nên) muốn sử dụng danh sách để định dạng một pi chưa sửa đổi ece mã. Đặc biệt vì vậy nếu bạn đang bao gồm các tệp nguồn thay vì nhập đoạn mã.

Khi bạn đã có các khái niệm cơ bản trong vành đai, hãy tìm hiểu cách đặt kiểu cho từ khóa và số nhận dạng và cách sửa đổi (các) danh sách từ khóa sẵn có cho ngôn ngữ bạn chọn.

+0

Cảm ơn, nhưng tôi thực sự muốn nhấn mạnh baz chỉ trong bối cảnh đặc biệt này. – fredoverflow

+0

Vâng, chỉ cần thực hiện cuộc gọi \ lstset trong phạm vi bạn muốn, hãy đặt lại bên ngoài phạm vi đó. Tôi sẽ không đi xa như để nói rằng bạn không thể đặt văn bản tùy ý trong các định dạng tùy ý trong danh sách, nhưng bạn sẽ luôn luôn được chiến đấu chống lại các gói nếu bạn làm. –

+0

Nhân tiện, 'emphstyle = \ textbf' không hoạt động đối với tôi, trong khi ví dụ' emphstyle = \ color {red} 'thì không. Có vẻ như lstlsting thực sự không muốn tôi gây rối với các khuôn mặt phông chữ: ( – fredoverflow

5

Giải pháp của bạn là chính xác. Tuy nhiên, phông chữ LaTeX đơn cách chuẩn không có phiên bản in đậm, vì vậy \textbf không hoạt động trong môi trường lstlisting. Theo macfreek.nl, bạn có thể làm như sau để redeclare phiên bản in đậm:

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

Tôi đã thử nghiệm ví dụ sau và nó hoạt động như bạn mong muốn:

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

tôi sử dụng kỹ thuật tương tự với \color{red} thay vì \textbf để gợi ý đối tượng của bản trình bày beamer ở ​​sự khác biệt giữa hai danh sách mã gần như giống hệt nhau.