- \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; }