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

2009年11月13日

マインドマップvymからTexファイルを生成

あらかじめプリアンブルの出来たindex.texというファイルがあることが前提です。includeコマンドで、vymからエクスポートされ、スクリプトで変換処理を施したTexファイルを読み込んでいます。


vymファイル
vym-kennkei_20091113
vym-kennkei_20091113 posted by (C)hirono-hideki

スクリプトファイルの内容
#!/bin/sh

WORKFILE=$1
FILE=${1%.*}
DIR=`pwd`
WORKDIR=$DIR/work
if [ !  -d $WORKDIR ]; then
    mkdir ./work
fi

if [ ! -f $DIR/index.tex ]; then
    echo "index.texが存在しません。"
    exit 1
fi

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


     cat $DIR/work/work.tex |
     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

            mv $DIR/work/tmp.file  $DIR/work/work.tex

nkf -e --overwrite $DIR/work/work.tex
perl -i -pe  's/##########/work\/work/' "$DIR/index.tex"




生成されたPDFファイル
pdf-kennkei_20091113
pdf-kennkei_20091113 posted by (C)hirono-hideki

Powered by ScribeFire.

この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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

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