1. ホーム
  2. latex

[解決済み] このLaTeX文書にインデントでコードを挿入する

2022-03-05 07:59:18

質問

LaTeX文書にコードを挿入するにはどうすればよいですか?のようなものがあるのでしょうか?

\begin{code}## Heading ##
...
\end{code}

本当に必要なのは、インデントと固定幅のフォントだけです。シンタックスハイライトは必要ないですが、あると便利です。

どのように解決するのですか?

使用方法 listings パッケージを使用します。

LaTeXヘッダーの簡単な設定 (前 \begin{document} ):

\usepackage{listings}
\usepackage{color}

\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}

\lstset{frame=tb,
  language=Java,
  aboveskip=3mm,
  belowskip=3mm,
  showstringspaces=false,
  columns=flexible,
  basicstyle={\small\ttfamily},
  numbers=none,
  numberstyle=\tiny\color{gray},
  keywordstyle=\color{blue},
  commentstyle=\color{dkgreen},
  stringstyle=\color{mauve},
  breaklines=true,
  breakatwhitespace=true,
  tabsize=3
}

ドキュメントの途中でデフォルトの言語を変更するには、次のようにします。 \lstset{language=Java} .

ドキュメント内での使用例です。

\begin{lstlisting}
// Hello.java
import javax.swing.JApplet;
import java.awt.Graphics;

public class Hello extends JApplet {
    public void paintComponent(Graphics g) {
        g.drawString("Hello, world!", 65, 95);
    }    
}
\end{lstlisting}

その結果がこちらです。