-->
./
<!-- フラ&#65533;ュが見れな&#65533;のためにここに何か書&#65533; --> フラ&#65533;ュがインス&#65533;&#65533;ルされて&#65533;&#65533;たいで&#65533;&#65533;&#65533;

2009年11月13日

LaTeXの特殊文字

LaTeXの特殊文字
LaTeXの特殊文字

 参考にさせていただきました。

 ケースごとに試していないので、十分かどうかわからないのですが、Perlで次のような変換処理を作りました。

cat $WORKFILE | perl -ne 'unless (/^\\.+\{.+\}$/) { s/(.+)/$1\\\\/;
        s/#/\\#/g;
        s/%/\\%/g;
        s/_/\\_/g;
        s/\{/\\\{/g;
        s/>/\\>/g;
        s/\^/\\verb\|\^\|/g;
        s/~/\\verb\|~\|/g;
        s/\|/\\verb\+\|\+/g;
        s/</\\verb\|<\|/g;
        s/\}/\\\}/g;
        s/&/\\&/g;}

        print;' > $DIR/work/work.tex


 awkのなかでは、|のエスケープは必要ないみたいでした。Perlとawkの正規表現は違っているはずだと思いますが、その都度、適当にやっているので、正確にわかっていません。ただ、sedでは(や)にエスケープが必要なのに、Perlは不要なのは最近になってはっきり覚えました。

     awk '{if(/^\\.+\{.+\}$/){sub(/>/,")"); sub(/</,"(");}}
     {if(/^\\chapter/){sub(/\\chapter/, "\\section")}
            else if(/^\\section/){sub(/\\section/, "\\subsection")}
            else if(/^\\subsection/){sub(/\\subsection/, "\\subsubsection")}
            else if(/^\\subsubsection/){sub(/\\subsubsection/, "\\paragraph")}}
            {print;}' > ./work/tmp.file




Powered by ScribeFire.

posted by hirono at 01:43| Comment(0) | TrackBack(0) | プログラミング
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/33608438

この記事へのトラックバック