
次のような結果を得るには、どうすればコードを LaTeX にコピーできますか。
...もちろん赤いバーはなしです。LaTeX をコンパイルするときに左側の番号を取得する方法がわかりません。 を使用すると\verbatim
コードのみが表示されます。
アップデート:Matlab に表示されるとおりにコードを色付けする必要があります。
答え1
修士論文のために、私は MatLab でたくさんのコードを書いていました。それを「きれいに印刷」するために、@cmhughes が言及したのと同じパッケージを使用しました。次のようになります (前文)。
\usepackage{listings} %For code in appendix
\lstset
{ %Formatting for code in appendix
language=Matlab,
basicstyle=\footnotesize,
numbers=left,
stepnumber=1,
showstringspaces=false,
tabsize=1,
breaklines=true,
breakatwhitespace=false,
}
次に、コード ファイルをインクルードする場合は、 を使用します\lstinputlisting
。例を続けます。
\lstinputlisting[language=Matlab]{./Code/calc_error.m}
私はこれが特に気に入りました。なぜなら、コードそのものではなくファイルを直接指定しているため、フォルダー自体で MatLab のコードを変更でき、LaTeX で更新する必要がなかったからです。
結果は次のようになります。
もちろん、\lstset
あなたが望むものを得るためにいつでも遊ぶことができます。ドキュメント
答え2
コードの強調表示が必要ない場合は、fancyvrb
パッケージで十分です。私は を使用しませんmatlab
が、デモンストレーションのために、 という名前のファイルがあるとします。yourfile.m
次のコードを実行すると、左側に番号が付けられます。VerbatimInput{yourfile.m}
はファイルを入力します。
\documentclass[10pt]{article}
\usepackage{fancyvrb}
\fvset{%
fontsize=\small,
numbers=left
}
\begin{document}
\VerbatimInput{yourfile.m}
\end{document}
もう一つの選択肢はminted
内部的に を使用しfancyvrb
、 構文の強調表示にPygments
のライブラリを使用しますpython
。 実際のファイルに置き換えて、次の例を試してくださいyourfile.m
。 オプションを有効にしてコンパイルする必要があります-shell-escape
。 ライブラリのインストールに関するマニュアルをお読みくださいPygments
。
\documentclass[10pt]{article}
\usepackage{minted}
\newmintedfile{matlab}{
linenos=TRUE,
fontsize=\small,
}
\usemintedstyle{trac}
\begin{document}
\matlabfile{yourfile.m}
\end{document}