- \include{〜}で挿入されたファイルを実際に読み込み、1つのファイルにまとめる。
- まとめたファイルは標準出力ないし新規ファイルに書き出す。
- ソースはこちら (Perl スクリプトです)
使い方
標準出力に出力する場合:
% perl matometex.pl main.texまたは
% ./matometex.pl main.tex
別ファイルに出力する場合:
% perl matometex.pl main.tex output.texまたは
% ./matometex.pl main.tex output.tex
matometex.pl
#!/usr/bin/perl
my $infile = $ARGV[0];
my $outfile = "";
if (defined($ARGV[1])) {
$outfile = $ARGV[1];
}
open IN, $infile;
if ($outfile ne "") {
open OUT, ">" . $outfile;
}
while (<IN>) {
$_ =~ s/[\r,\n]//g;
$_ =~ s/\\input\{(.+)\}/&file2str($1)/ge;
if ($outfile ne "") {
print OUT $_ . "\n";
} else {
print $_ . "\n";
}
}
close IN;
if ($outfile ne "") {
close OUT;
}
exit;
sub file2str {
my $file = $_[0];
open FILE, $file;
my $str = "";
while (<FILE>) {
$_ =~ s/[\r,\n]//g;
$str .= $_ . "\n";
}
return $str;
}

