質問

lstlisting の特定の部分を太字に設定するにはどうすればよいですか?

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

これはコンパイルされますが、太字で baz が設定されていません :( 何が足りないのでしょうか?

役に立ちましたか?

解決

あなたの基本的なアプローチは、強調する言葉をリストすることです。これを行うための簡単な方法は次のとおりです。

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

もちろん、それは強調されます baz それが発生するたびに。しかし、これはあなたのリスト自体にマークアップを入れようとするよりも良いアプローチです。あなたは、あなたがリストを使用して、変更されていないコードをフォーマットしたいので、あなたはそれをしたくない(そうする必要はありません)。特に、コードスニペットを入力するのではなく、ソースファイルを含める場合。

ベルトの下に基本がドキュメントを見て、キーワードや識別子にスタイルを設定する方法、選択した言語のキーワードの組み込みリストを変更する方法を学習します。

他のヒント

あなたの解決策は正しいです。ただし、標準の 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 これは、ビーマー プレゼンテーションの聴衆に、2 つのほぼ同一のコード リストの違いを示唆するためです。

下の答えを見つけました 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