久しぶりにTeXを使った。Excelで整理した問題集のデータ。だんだんデータ量が増えてくると,Excelでは内容が見づらい。そこで,そのデータをタブテキストに出力し,PerlでTeXのソースに整形してTeXでPDFにしてみた。
以前からよくやってきた方法なので,それほど悩むことはない。ただ,最近のわたしの標準文字コードはUTF-8。これはPerlで日本語を処理する場合に便利だ。でも,TeXはShift-JIS版を使っている。はじめ,この文字コードの変換で,「〜」「ー(長音)」に問題が。
問題があった方法は次の通り。
- Excelからタブテキストに出力(Shift-JIS)
- mi(MacOS用のエディタ)で,念のため確認するついでに,Shift-JISからUTF-8に変換
- Perlで次のようにして,出力だけをcp932に
use utf8; use open IN => ":utf8"; use open OUT => ":encoding(cp932)";
このようにすると,「〜」「ー(長音)」が変換できない。
もっとシンプルに,Excelから出力したタブテキストをShift-JISのままにし,Perlの入出力をcp932にしてみた。
use utf8; use open ":encoding(cp932)"; use open ":std";
このようにしたら,「〜」「ー(長音)」も処理された。これらの文字をPerlで置換などの処理をしていないので,まったく問題がないかどうかはわからないが,とにかくエラーは出さず,目的は達せられた。