Ваше решение верное. Однако стандартный моноширинный шрифт LaTeX не имеет полужирной версии, поэтому \textbf
ничего не делает в среде lstlisting
. Согласно macfreek.nl , вы можете сделать следующее, чтобы переопределить версию, выделенную жирным шрифтом:
\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}[escapechar=@]
fun(foo, bar, @\textbf{baz}@ );
\end{lstlisting}
\end{document}
Я использую ту же технику с \color{red}
вместо \textbf
, чтобы намекнуть аудитории презентации проектора на разницу между двумя почти идентичными списками кода.