Вопрос

Как я могу установить определенные части Lstlisting в жиром продукции?

\begin{lstlisting}[escapechar=@]
fun(foo, bar, @\textbf{baz}@ );
\end{lstlisting}

Это компилирует, но BAZ не настроен жирным шрифтом :( Что я скучаю?

Это было полезно?

Решение

Ваш основной подход должен заключаться в том, чтобы рассказать, какие слова подчеркивают. Простой способ сделать это так:

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

Конечно, это подчеркнут baz всякий раз, когда это происходит. Но это лучший подход, чем пытаться поставить размешку в свой список листингов, вы не (должны) хотите сделать это, поскольку вы (должны) хотите использовать списки для форматирования немодифицированного куска кода. Особенно, если вы включите исходные файлы, а не фрагменты ввода кода.

Как только у вас есть основы под вашим ремнем, посмотрите на документацию, узнать, как устанавливать стили для ключевых слов и для идентификаторов, и как изменить встроенные списки (ы) ключевых слов для ваших языков выбора.

Другие советы

Ваше решение правильное. Тем не менее, стандартный шрифт моносцированного латекса не имеет жирных продуктов, поэтому \textbf не делает ничего в пределах lstlisting окружающая обстановка. Согласно с MacFreek.nl., Вы можете сделать следующее для Redeclare Boldface Version:

\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 Подсказывать аудиторию презентации биржира в разницу между двумя почти идентичными списками кода.

Я нашел ответ под http://www.mrunix.de/forums/archive/index.php/t-42976.html.

\lstset{moredelim=[is][\bfseries]{[*}{*]}}
\begin{lstlisting}
bla bla bla
blupp
[*wichtiger hervorzuhebender text*]
weiter im text
\end{lstlisting}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top