2011年12月25日日曜日

LaTeXを更に手軽に書けるようにしてみた@MilkTeX

個人的にひっそりと開発しているLaTeXのトランスコンパイラMilkTeXですが 、実験レポートを書いていて不便だった点をいろいろと改良しました。

表のセルを直感的に結合

LaTeXで表のセルを結合しようとするとmultirowを使って
\begin{tabular}{|c|c|c|}
\multirow{3}{|c|}{結合}\\
a & b & c \\

のように書かなくてはならないのですが、なんともわかりにくい!

というわけで、「+」を使って、直感的にセルを結合できるようにしてみました。 セルの区切りに「/」ではなく、「+」を使用するとそのセルを結合します。 更に、+を左に固めれば左寄せ、右に固めれば右寄せになります。

@tabular |c|c|c|:
    --
    1/2/3
    左寄せ++
    ab+/c
    +中央寄せ+
    d/e+f
    ++右寄せ
    gh+/i
    --

特殊単語でいろいろ手軽に記述

先頭が特殊な記号で始まる単語(次の空白文字までの部分)が、勝手にLaTeXタグに変換されます $で始まる単語は、引数を取らないタグになります。要するに\latexみたいな記号を 前のバージョンより、手軽に書けるようになりました。

数式モード中で先頭が_, ^で始まる単語は添字として扱われます。

更に先頭が -> で始まる単語はラベル参照となります。

  • @latex;=$latex→\latex
  • a_x, a_x+1 ^2 , a_x_k+1 →a_{x}, a_{x+1} ^{2}, a_{x_{k+1}}
  • 図->label→図\ref{label}

題名とラベルの指定を一括

なにかブロック要素の後に題名とラベルをつけるのはよくあることなので、 @figure<題名|ラベル> []のように指定することで勝手に題名とラベルを付けてくれます。

startdocumentタグ

documentタグのブロックのために、延々タブを1つ下げつづけるのは面倒なので、 startdocumentタグを用意しました。@startdocumentと書いた後は、ファイルの終わりまで、 自動的にdocument要素として出力されます。

サンプル

実際にどんなふうに変換されるか、サンプルはこちら

0 件のコメント:

コメントを投稿