タグ

ブックマーク / zrbabbler.hatenablog.com (4)

  • チョット SATySFi で文書を作ってみた - マクロツイーター

    SATySFi がはじまった というわけで、以前から話題になっていた、“LaTeX を置き換える”ことを目論む新しい組版システムである「SATySFi」が、昨日いよいよ正式に公開され、未踏事業成果報告会において“お披露目”となる発表が行われた。 SATySFi (GitHub:gfngfn) SATySFi チャレンジがはじまった これを受けて、ネット界隈では早速こういう事態に……。 で、自分はどうだったかというと……。 (↑コレはデモ文書ではなくマニュアルの文書です) SATySFi 大喜利がはじまった(はじまってない) インストールができてしばらく満足していたのであるが、せっかくスバラシイ組版ソフトウェアを手に入れたわけなので、何か文書をつくってみたい、と思い始めた。 というわけで、さっそく SATySFi で質的な技術文書をつくってみた。 something.saty(Gist:z

    チョット SATySFi で文書を作ってみた - マクロツイーター
  • じゃあ \if の抜き打ちテストやるぞー - マクロツイーター

    (元ネタ? →じゃあ this の抜き打ちテストやるぞー) なんか JavaScript の this は難しいらしいな。でも、\if なんて TeX プログラミングの基礎の基礎の話だから、普段 TeX コードを書いてる人だったら \if はみんなばっちりだよな。じゃあ今から抜き打ちテストするぞー。 plain TeX または LaTeX において、起動直後に以下のコードを実行したとする。 \let\a=a \let\b=a \def\c{c} \chardef\d=`d \let\primA\indent \chardef\chardefA=42 \newcount\countA \countA=42 \def\macroA{42} \def\empty{} \let\X\relax \catcode`\X=13 \def X{c} \catcode`\Y=13 \let Y=c \ca

    じゃあ \if の抜き打ちテストやるぞー - マクロツイーター
  • TeX 言語で LISP を実装したい人必読のアレを紹介しておく - マクロツイーター

    以前の記事で、「TeX 言語を学習するための資料」について紹介した。しかし、プログラミング言語というものは、ただ座学で資料を読んでいるだけではなかなか身につかないものであり、熟達には「実際にコードを書く」という作業が不可欠である。 「自分が必要なものを自分で実装して学習する」というアプローチは多くの場合に有効である。ところが、特に「LaTeX の機能拡張のために TeX 言語を学習している」という人の場合、実際に対処する要件はそれほど複雑なコーディングを必要としない場合がほとんどであり、それゆえ、TeX 言語の「高度な技術」は結局何時まで経っても習得できないという問題があるだろう。この問題を解決する有効な手段の一つとして「当該の言語で LISP 処理系を実装する」というアプローチが昔からよく知られている。*1 LISP 処理系の実装には十分慣れているが、TeX 言語については初心者だ、とい

    TeX 言語で LISP を実装したい人必読のアレを紹介しておく - マクロツイーター
  • TeX はどうしてアレなのか - マクロツイーター

    Knuth「TeXは組版言語で非エンジニアでも使うもの。なのでプログラム言語のような構成にはすべきでない」 Knuth「従って、記述の構造化はマクロにより行われる。『マクロの展開』であれば誰でも理解できる」 ↓ Knuth「しかし、if文くらいはあった方が便利だろう」 Knuth「あ、チューリング完全になってしまった」 ↓ Knuth「プリミティブの定義は最低限にして、組版制御の基命令の一部はマクロとして実装しよう」 Knuth「あ、なんかプログラムのように複雑なマクロが増えてしまった」 ↓ 変人B「オウッ、TeX は組版言語なのにプログラムが組めるぞ!」 変人C「引数の整数を素因数分解して綺麗な数式で出力するマクロができた! ヒャッハー!」 ↓ TeXBook「TeX の目的は組版であって決してプログラミングではない。しかし世の中には変な人がいて、『TeX でプログラミングする』という

    TeX はどうしてアレなのか - マクロツイーター
  • 1