180

コードの構文強調表示を行う LaTeX パッケージを探しています。たとえば、現在、verbatim ブロックを使用してコードを記述しています。

\begin{verbatim}
    <html>
       <head>
           <title>Hello</title>
       </head>
       <body>Hello</body>
    </html>
\end{verbatim}

そして、これは私のドキュメントにコードを表示するのにうまく機能します。しかし、IDE が出力ドキュメントで行うように、HTML マークアップを強調表示したいとします。役立つパッケージはありますか?

Java、C#、HTML、CSS などのさまざまな言語で同じことをしたいと考えています。

4

7 に答える 7

166

リストパッケージを使用できます。多くの異なる言語をサポートし、出力をカスタマイズするための多くのオプションがあります。

\documentclass{article}
\usepackage{listings}

\begin{document}
\begin{lstlisting}[language=html]
<html>
    <head>
        <title>Hello</title>
    </head>
    <body>Hello</body>
</html>
\end{lstlisting}
\end{document}
于 2008-11-18T23:43:01.057 に答える
157

同様の質問をした後、Pygments を使用する別のパッケージを作成し、より多くのオプションを提供していますtexments。それは呼び出されminted、非常に安定しており、使用可能です。

見せびらかすために、ミントで強調表示されたコードを次に示します。

サンプルコード

于 2010-01-24T11:20:07.010 に答える
22

ピグメントをお勧めします。任意の言語のコードを受け入れ、構文が強調表示された LaTeX コードを出力します。fancyvrbcolorパッケージを使用して出力を生成します。個人的にはリスティングパッケージよりも好きです。fancyvrb の方がはるかにきれいな結果が得られると思います。

于 2009-09-20T21:39:11.280 に答える
11

LGrindはこれを行います。これは、アダムがカウボーイであったときから存在し、多くのプログラミング言語をサポートしている成熟したLaTeXパッケージです。

于 2008-11-18T23:27:34.193 に答える
10

リスト パッケージの代わりに、開発者の Konrad Rudolph から言及されているように、 minted パッケージを使用します。理由は次のとおりです。

リスティングパッケージ

リスト パッケージは、デフォルトでは色をサポートしていません。色を使用するには、色のパッケージを含めて、\lstsetコマンドを使用して自分で色のルールを定義する必要があります (こちらの matlab コードについて説明されています) 。

また、リスティング パッケージは Unicode ではうまく機能しませんが、ここここで説明されているように、これらの問題を修正できます。

次のコード

\documentclass{article}
\usepackage{listings}

\begin{document}
\begin{lstlisting}[language=html]
<html>
    <head>
        <title>Hello</title>
    </head>
    <body>Hello</body>
</html>
\end{lstlisting}
\end{document}

次の画像を生成します。

ここに画像の説明を入力

ミントパッケージ

鋳造されたパッケージは、色、ユニコードをサポートし、見栄えがします。ただし、それを使用するには、python 2.6 とpygmentsが必要です。Ubuntu では、ターミナルで Python のバージョンを確認できます。

python --version

そして、ピグメントをインストールできます

sudo apt-get install python-pygments

次に、minted は pygments を呼び出すため、次のように-shell-escapeを指定してコンパイルする必要があります。

pdflatex -shell-escape yourfile.tex

TexMaker などのラテックス エディターを使用する場合は、エディターでコンパイルできるように、ユーザー コマンドを追加することをお勧めします。

次のコード

\documentclass{article}
\usepackage{minted}
\begin{document}

\begin{minted}{html}
    <!DOCTYPE html>
    <html>
       <head>
           <title>Hello</title>
       </head>

       <body>Hello</body>
    </html>
\end{minted}
\end{document}

次の画像を生成します。

ここに画像の説明を入力

于 2015-11-06T11:09:59.307 に答える
4

私は主に論文で lstlistings を使用しますが、カラー出力 (スライド用) には、代わりに pygments を使用します。

于 2009-08-05T17:27:16.313 に答える
-2

次の tex コードに基づいて独自のパッケージを定義することをお勧めします。これにより、完全な自由が得られます。http://ubuntuforums.org/archive/index.php/t-331602.html

于 2009-11-14T17:13:23.930 に答える