SATySFi で文書作成が容易なMarkdown用のクラスファイルを作成した(※ただし画期的)
これは「SATySFi Advent Caleandar 2018」の25日目の記事です。 (22日目は gfngfnさんでした。)
SATySFiには本質的な内容を出力する画期的な文書クラスがあります。使いこなしていきたいところですね。
ところで、SATySFiでは--markdown
というオプションをつけてやることでMarkdown文書からPDFを出力することができます。これはこのSATySFi Advent Calendar 2108の12日目の記事で詳しく書いてあるとおりです。
この記事の中では
裁設定名 〈s〉 を変えることで様々な体裁のPDFを出力できるようにしており,現在のところリポジトリが提供しているのは mdja という名前の設定のみですが,ユーザ自身が設定を用意することも可能です.
と書いてあります。
そういうわけでこの画期的な文書クラスであるscarticle.satyhをMarkdown処理用に改造をしてみました。
中にはmdsc.satyhとmdsc.satysfi-mdとtest.mdの3つのファイルがあるはずです。
まずはmdsc.satysfi-mdファイルを~/.satysfi/dist/md
に移動させましょう。次にmdsc.satyh
ファイルを~/.satysfi/dist/packages
に移動させましょう。
これでこの文書クラスを使う準備ができました。
あとは
$ satysfi --markdown mdsc test.md
とすれば本質的な内容のPDFファイルが出力されるはずです。
12日目の記事で書いてあるとおり、Markdown文書の先頭で特殊なコメント<!-- -->
を使うことによってヘッダを指定することができます。
ここで指定できるヘッダはscarticleと同じで(|title : string ; show-title = bool;|)
というレコード型です。デフォルトでは(|title = ` `; show-title = false;|)
です。試しに書いてみましょう。
[christmas.md]
<!-- (| title = `Happy SATySFiing!` ; show-title = true; |) --> とっても素敵な文章
$ satysfi --markdown mdsc christmas.md ---- ---- ---- ---- target file: 'christmas.pdf' dump file: 'christmas.satysfi-aux' (will be created) parsing 'christmas.md' ... parsing 'mdsc.satyh' ... parsing 'pervasives.satyh' ... parsing 'list.satyg' ... (省略) ---- ---- ---- ---- embedding fonts ... ---- ---- ---- ---- writing pages ... ---- ---- ---- ---- output written on 'christmas.pdf'.
この通り、本質的な内容を持つトッテモ素敵な文書になっています。しかも素敵な帽子まで! 今日は12月25ですからね(正確には、24日の夜から25日の朝までの間なので)。