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.
Gracias, pero realmente quiero hacer hincapié en baz sólo en este contexto particular. – fredoverflow
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. –
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