Thursday 13 June 2013

可換図変換 script

いろいろ、仕事をさぼっていることに気がついたが、可換図を、またいじってました。
                 εFU(b)
     FUFU(b)  ------------> 1_A 
       |                     |
       |FUε(b)               |1_aε(b)
       |                     |
       v         ε(b)        v
     FU1_B(b) ------------> 1_B


ってのを、
    \begin{tikzcd}
    FUFU(b) \arrow{r}{εFU(b)} \arrow{d}{FUε(b)} & 1_A \arrow{d}{1_aε(b)} & \mbox{} \\
    FU1_B(b) \arrow{r}{ε(b)} & 1_B & \mbox{} \\
    \end{tikzcd}


に変換すれば良いわけだ。εとかも変換しないといけないんだけど、とりあえず、それは置いといて。

http://t.co/YJqlfXV48m

って感じ。同じ位置に|があれば縦矢印だと思えば良いわけだよね。

UTF8の文字位置が byte 数に一致しないのが最後のバグで、Perl module Unicode::GCString を使って、

Unicode::GCString->new($str)->columns;

をlengthのかわりに使ってやれば良いらしい。微妙だが動いているみたい。斜めの線をどうするかは知りません。

No comments: