2010-04-24 13 views

Respuesta

3

Su enfoque básico debe estar lista para decirle qué palabras para enfatizar. Una forma sencilla de hacer esto es como esto:.

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

Por supuesto, que hará hincapié baz siempre que se produzca Pero este es un enfoque mejor que tratar de poner el marcado en su lista en sí, no (debería) quiere hacer eso, ya usted (debería) querer usar listados para formatear un pi no modificado ece de código. Especialmente si incluye archivos de código fuente en lugar de escribir fragmentos de código.

Una vez que tenga los conceptos básicos, mire la documentación, aprenda cómo establecer estilos para palabras clave y para identificadores, y cómo modificar la (s) lista (s) incorporada (s) de palabras clave para sus idiomas de elección.

+0

Gracias, pero realmente quiero hacer hincapié en baz sólo en este contexto particular. – fredoverflow

+0

Bueno, simplemente realice esa llamada \ lstset dentro del alcance que desea, reinicie fuera de ese alcance. No iría tan lejos como para decir que no puede establecer texto arbitrario en formatos arbitrarios en el listado, pero siempre estará peleando contra el paquete si lo hace. –

+0

Por cierto, 'emphstyle = \ textbf' no funciona para mí, mientras que por ejemplo' emphstyle = \ color {red} 'sí. Parece que lstlsting realmente no quiere que me meta con las caras de fuente :( – fredoverflow

5

Su solución es la correcta. Sin embargo, la fuente estándar monoespaciado de LaTeX no tiene una versión en negrita, por lo que \textbf no hace nada dentro del entorno lstlisting. De acuerdo con macfreek.nl, puede hacer lo siguiente para redeclare la versión negrita:

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

He probado el siguiente ejemplo y funciona como usted desea:

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

que utilizar la misma técnica con \color{red} en lugar de \textbf para insinuar a la audiencia de una presentación de proyector en la diferencia entre dos listas de códigos casi idénticos.

Cuestiones relacionadas