LaTeX に MATLAB コードを挿入する
LaTeX で書く文書に MATLAB のコードを貼るための環境構築方法の紹介です.
環境
現在,Linux (Ubuntu 16.04/18.04) で動作確認を行っています.
texlive を apt
コマンドにてインストールしています.
sudo apt install texlive
準備
sty ファイルの配置
下記リンクより,M-code LaTeX Package をダウンロードします.mathworks のアカウントのログインが必須ですのでご注意ください.
M-code LaTeX Package - File Exchange - MATLAB Central
ダウンロードしたファイルを解凍し,中のファイルmcode.sty
を texlive のパッケージ置き場に配置します.例えば筆者の環境では,/usr/share/texlive/texmf-dist/tex/latex/
以下に配置します.
後々のことを考えると,次のようにディレクトリごとコピーしてしまってもいいかもしれません.
cd ~/Downloads unzip m.zip # mcode という新たなディレクトリができ,そこに展開されます. sudo cp -r mcode /usr/share/texlive/texmf-dist/tex/latex/
パッケージリストの更新
パッケージリストを更新します.
sudo mktexlsr
使用方法
実際に利用していきます.
プリアンブルへの記述 (必須)
最もシンプルな設定は
\usepackage{mcode}
となります.
オプションは現在実装されている範囲で
オプション | 設定 |
---|---|
framed | 外枠あり |
numbered | 行番号あり |
autolinebreaks | 行が長い時の自動改行 |
useliterate | 不等号などの記号置換(例: >= → ≥ ) |
bw | 白黒表示 |
です.次のようにプリアンブルを記述すれば設定が反映されます.
\usepackage[framed,numbered,autolinebreaks,useliterate]{mcode}
なお,通常使う
\usepackage{listings}
は不要です.
文章中に挿入
文書中にコードをシンタックスハイライト付きで表示したい場合は,
\mcode{A = eye(2);}
のように記述します.
useliterate と bw のオプションのみ反映されます.
ブロックで挿入
通常のコードと同様,
\begin{lstlisting} % mcode \end{lstlisting}
で挿入できます.
ファイルからブロックで挿入
こちらも通常のコードと同じく
\lstinputlisting{FILE_PATH}
で挿入できます.
FILE_PATH
の部分は絶対と相対,どちらでの指定でも問題ありません.
備考
日本語でのコメント等やplatex
に対応しているのかをまだ把握していません.
分かり次第追記します.