Как мне выделить части списка? - PullRequest
8 голосов
/ 24 апреля 2010

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

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

Это компилируется, но baz не выделен жирным шрифтом :( Чего мне не хватает?

Ответы [ 3 ]

5 голосов
/ 25 февраля 2012

Ваше решение верное. Однако стандартный моноширинный шрифт 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, чтобы намекнуть аудитории презентации проектора на разницу между двумя почти идентичными списками кода.

4 голосов
/ 19 июля 2014

Я нашел ответ под 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}
4 голосов
/ 24 апреля 2010

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

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

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

После ознакомления с основами ознакомьтесь с документацией, чтобы узнать, как устанавливать стили для ключевых слов и идентификаторов, а также как изменять встроенные списки ключевых слов для выбранных языков.

...