はじめに
LaTexで論文を書く中でプレグラムのソースコードを載せる必要があったので、そのメモです。ソースコードをそのままLaTexに張り付けちゃうと記号とかインデントとかぐちゃぐちゃになってしまうので、コピペで簡単にきれいに貼れる方法を調べました。
ソースコードを貼る方法
まず、LaTexソース内でパッケージ定義をしている部分(\documentclassから\begin{document}の間)に以下の一行を追加します。
<英語フォントのみの場合>
\usepackage{listings}<日本語フォントを含む場合>
\usepackage{listings, jlisting}<色を使う場合は以下も追加>
\usepackage{color}
私の場合はlisting.styはデフォで入っていましたが,jlisting.styはなかったので,ダウンロードして追加しました.texliveを利用している場合は、スタイルファイル(.sty)が格納されるディレクトリは以下のところです。
そして、格納したカレントディレクトリ上でGitBashなどで以下のコマンドを打てば使えるようになります。
$ mktexlsr
次にLaTexソースの本文中に以下のようにプログラムのソースコードを貼り付けます。これでLatexにソースコードを貼れたはずです。
\begin{lstlisting}[basicstyle=\ttfamily\footnotesize, frame=single]
(ここにプログラムソース)
\end{lstlisting}
個人的な初期設定
% ソースコードを挿入するための設定 \usepackage{jlisting} \usepackage{listings} \usepackage{color} \definecolor{OliveGreen}{rgb}{0.0,0.6,0.0} \definecolor{Magenta}{cmyk}{0, 1, 0, 0} \definecolor{colFunc}{rgb}{1,0.07,0.54} \definecolor{CadetBlue}{cmyk}{0.62,0.57,0.23,0} \definecolor{Brown}{cmyk}{0,0.81,1,0.60} \definecolor{colID}{rgb}{0.63,0.44,0} \lstset{ language={Matlab}, %言語の指定 basicstyle={\ttfamily\small}, %書体の指定 backgroundcolor={\color[gray]{.95}}, %背景色と透過度 keywordstyle={\color{blue}}, %キーワード(int, ifなど)の書体指定 commentstyle={\color{OliveGreen}}, %注釈の書体 stringstyle=\color{Magenta}, %文字列 frame=single, %枠縁(leftline,topline,bottomline,lines,trBL,shadowbox, single) numbers=left, %行番号表示 numberstyle={\ttfamily\small}, %行番号の書体指定 breaklines=true, %折り返し(自動改行) breakindent = 10pt, %自動改行後のインデント量(デフォルトでは20[pt]) tabsize=2, %タブの大きさ captionpos=t %キャプションの場所(t,b : "tb"ならば上下両方に記載) } \renewcommand{\lstlistingname}{Code} % キャプション名の指定
MATLABのコード(.m)をきれいに貼る方法
こちらの方のサイトが参考になります。私の環境ではエラーが出てしまったので使わなかったですが…
http://castanophilia.hatenadiary.com/entry/2014/11/24/091708castanophilia.hatenadiary.com
listingsについて詳しく知りたい方
こちら詳細が載っています。英語ですが。
http://texdoc.net/texmf-dist/doc/latex/listings/listings.pdf
こちらのサイトを参考にさせていただきました。
listingsを用いてLatexにソースコードを直接挿入する方法 (Windows) - 白猫学生のブログ
TeXでソースコードを綺麗に表示する - SanRin舎
Latexにプログラムっぽいフォントでソースコードを載せる簡単な方法 | しゃこメモ
LaTeXにソースコードを【美しく】貼る方法 - Qiita
TeXでソースコードを埋め込む - Qiita
ソースコードを簡単挿入 - LaTeXでつくる爆速プログラミングレポート - MAST Web