9 ソースプログラム等テキストファイルのLATEX 文書への取り込み

(ここは書き換えるつもりです。)

例えばプログラミングがらみの課題のレポートを作る場合など、 ソースプログラムやプログラムの実行結果を取り込みたくなる。

短いものは
verbatim 環境の利用

\begin{verbatim}
#include <stdio.h>
int main(void)
{
    printf("Hello, world\n");
    return 0;
}
\end{verbatim}
のように、.tex ファイルの中の、 verbatim (“verbatim” は「言葉通りに」、 「逐語的に」という意味の単語) 環境の中に入れてしまえばよいが、 長いものや頻繁に変更を加えるものを扱うのは面倒である。

そういうものは別途テキスト・ファイルにして、 moreverb パッケージを組み込むと有効になる \verbatimtabinput{} コマンドや \listinginput{}{} コマンド (行番号つき) を 使って取り込むとよい。
hello.c, world.c を取り込む
\documentclass[12pt,leqno]{jarticle}
\usepackage{moreverb}% パッケージを組み込む

\begin{document}
...
\verbatimtabinput[4]{hello.c}% hello.c は別途用意してあるとして。タブ幅 4
...
\listinginput{1}{world.c}% world.c は別途… 行番号を1から振る
...
\end{document}

(\listinginput{} では、 タブ幅 (tab width) が指定出来ない? もしかすると \def\verbatimtabsize{4} のように原始的に指定出来るかも。)


念のため、 以前勧めていた verbatimfiles パッケージの使い方を書いておく。

古いです!     以前は moreverb の代わりに verbatimfiles を使っていました
verbatimfilesパッケージを組み込むと有効になる \verbatimfile{} コマンドや \verbatimlisting{} コマンド (行番号つき) を使うとよいでしょう。
hello.c を取り込む
\documentclass[12pt,leqno]{jarticle}
\usepackage{verbatimfiles}% パッケージを組み込む (複数形のsがついている)

\begin{document}
...
\verbatimfile{hello.c}% hello.c は別途用意してあるとして
...
\end{document}

タブ幅のデフォールトは 8 である。emacs でも Vim でも多分そうである。 expand や unexpand のようなコマンドもそうしてある、 自分で何か設定を変えていなければ、タブ幅の指定は不要のはず。 Vim の設定の話で良く set tabstop=4 というのを目にするけれど、 そういうのが流行っているのかな? (この辺は良く分からない)

桂田 祐史
2020-03-01