マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

2012-01-01から1ヶ月間の記事一覧

expl3な言語で完全展開可能な関数(マクロ)を作る件について (3)

expl3 における「展開制御支援」このように完全展開の概念を 2 つに分ける理由は、expl3 の言語のもつ「展開制御支援」の機能にある。1 つのトークン列を引数にとる関数(マクロ)があったとする。命名規則に従えば、そのような関数の引数指定子(argument s…

expl3な言語で完全展開可能な関数(マクロ)を作る件について (2)

[追記 21:12]前にこれを書いていたこをすっかり忘れてた。なのでタイトル変更。さて、TeX 言語での「完全展開可能」の話が済んだので、expl3 についての話を始めよう。以前に述べたように、expl3 の言語では「完全展開可能」を 2 つの細分している。expl3 …

そもそも完全展開可能とは何ぞや?

expl3 における「完全展開可能」と「制限付展開可能」の違いを説明しようと思ったが、それにはまず TeX 言語における「完全展開可能」の概念についてもっとまともな「定義」を与える必要があると感じたので、ますそこから始めることにする。ただし、以下は我…

\sortList をもっと酷くする件について

あべのりさんの「酷い \sortList」をもっと酷くする、つまり標準モジュール*1の力を借りて手早く解くことを考えた。文字列形式からの変換は、l3regex まで投入して \regex_split:nnN を使えば良さそうだ。と思ったら、後で seq モジュールに \seq_set_split:…

expl3な言語で完全展開可能な関数(マクロ)を作る件について (1)

以前に(TeX 言語での)完全展開可能なナベアツ(\NabeAzzX)のところで次のようなことを述べた。マクロを完全展開可能にする場合、代入操作が全く使えなくなる。従って、(純粋な)関数型言語の方法論でプログラミングする必要がある。 完全展開でない \Nab…

expl3なプログラム言語を学習する件について

前回の記事で LaTeX3 のプログラミング用言語*1のプログラムを掲載した。この言語について興味をもった人は、是非、Joseph Wright *2氏のブログで最近連載されている「Programming LaTeX3」の一連の記事を見ることをお勧めする。ここでは、「LaTeX は知って…

TeX なんかやめて expl3 を使えば!?

TeX

あべのりさんがとっても楽しそうなことをやっておられるのを見て、対抗したくなって、取りあえず \NabeAzzX (X、つまり完全展開可能な方)を作ってみた。\documentclass{article} \usepackage{type1cm} \usepackage{xparse,l3str} \ExplSyntaxOn %---------…

TeX での「代数的データ型」の扱い (4)

(前回の続き) 前回までで「TeX で『代数的データ型』(のようなもの)を扱う、少し変態的な方法」について説明した。これを読んで「確かに使えるかも知れないが、現実の実用的なプログラミングの場面で使うことがあるのか」と疑問に思ったかも知れない。実…

TeX での「代数的データ型」の扱い (3)

(前回の続き) 前回までで、「代数的データ型の扱い」の例として「Cons 対によるリスト」を扱った。しかしやはりリストでこの表現を使うのは(TeX では)少し大袈裟な感じがすることは否めない。そこで「代数的データ型の例」としてリストの次に必ず出てく…

TeX での「代数的データ型」の扱い (2)

(前回の続き) 少し複雑な例:リストのソート 多少複雑なプログラムの例として、リストの挿入ソートを実装したものを挙げておく。(\xx@sl@do@sort がメイン。)注目すべき点として、(TeX としては)割と複雑なデータを扱っているのに、展開制御(\expanda…

TeX での「代数的データ型」の扱い (1)

または、「car/cdr と対応する cons を作る件について」。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src…

「TeX ユーザの集い 2011」について何か書いてみる (9)

TeX

ポスター発表 あまり深く興味を引くものがなかったな……。 KETpic で楽々 TeX グラフ 山下哲・金子真隆(木更津高専)・北原清志(工学院大学)・高遠節夫(東邦大学) KETpic については既に色々と書いた気がするので省略。 LaTeX で数学ゲームを作ろう【企…

「TeX ユーザの集い 2011」について何か書いてみる (8)

TeX

ライトニングトーク 前回に引き続いて LT のコーナー。 いつも心に LaTeX を 〜TeX なんかやめて LaTeX を使え[れ]ばよいのに〜 八登崇之 〔スライド作成ソフトウェア: XeLaTeX + beamer〕 この人の発表はいつも「笑いを取ればよし」という姿勢が露に出てい…

「TeX ユーザの集い 2011」について何か書いてみる (7)

TeX

ライトニングトーク 並外れた程度の緊張と並外れた重量*1のノート PC を抱えたまま待機していたのであまり他人の発表を聞いていない。 わたしのやてふ環境 山本宗宏(Project Vine) 〔スライド作成ソフトウェア: pLaTeX? + beamer〕 ご愁傷さまでした。 「…

TeX ユーザの集い 2011」について何か書いてみる (6)

TeX

長らく中断していた「レポートでもメモでもない何か」の続き。公式サイトにプログラムやら予稿集やら多くの発表の資料やらが載ってます。 Wikisource/Wikibooks における数学書の整形 ――解析概論プロジェクトを中心として―― 黒木 裕介 複数人での共同作業に…

TeX で「ハノイの塔」を解く件について

TeX

TeX でリバーシをするのもたまには良いかも知れないが、やっぱり「ハノイの塔」の解を調べるのに TeX が使えないと困るという人も…(以下略)。 まあ、要するに、これだ。(hanoi.tex;作者:Brian Blackmore) % % % % % % % % Tower % % of % % Brahma % %…

例の proof 環境のアレ

TeX

パッケージ。 bxproofstyle.sty (gist) \documentclass[a4paper]{article} \usepackage{bxproofstyle} \newtheorem{theorem}{Theorem} % \newprooflikestyle でスタイルを定義. 引数の意味は最後(9盤目)の % ものがないことを除いて \newtheoremstyle と同じ…

付録の中にいるかを判定する件について

qa:56526 から始まる「付録の中にいるかの判定」についての話。 ある「解」が「正解」であるかは、当然「問題の立て方」に依存する。もし例えば 「article/report のそれと同じ意味をもつ \appendix 命令を有する」任意の文書クラスにおいて、「現在付録の…

TeX でリバーシ(オセロ)で遊ぶ件について

TeX

TeX で花火を打ち上げるのもたまには良いかも知れないが、やっぱり TeX と言えば何と言ってもゲームだ、という人もいるかも知れない。そういう人には、昨年の暮れに CTAN に収録された reverxii パッケージ(作者:Bruno Le Floch)をお奨めする。 次のよう…

TeX 言語以外でドラゴン曲線を描く件について

TeX

寡聞にして知らなかったが、今年は何かの言語でドラゴン曲線を描かなければならないらしい。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.crea…

再考:TeX Advent Calendar がない理由

TeX

やはり年の初めといえばクリスマスのことを考えることに尽きる。というわけで、以前に取り上げた「なぜ TeX Advent Calendar がないか」について、もう少し考えてみる。本来の(キリスト教における)Advent Calendar および技術系のそれについては次の@IT の…

TeX で花火を打ち上げる方法を教えてください。

TeX

という「質問」が Stack Exchange に投稿されている。 そして、親切な TeXnician 達が、花火の方法も知らない TeX 初心者*1のために答えを教えてやっているようだ。 ※質問文にある画像(一番上)は「本物」の写真(筑後川花火大会のものらしい)。その下の回…

TeX で、「ループを回して 1 文字ずつ読む」件について

bxgrassator を作っていたら、表題のような基本的な処理で躓いた、という話。 Grass の「擬似 I/O」(文書中で与えられた「入力文字列」から読み TeX コードに書き出す*1)を実装している時に、次のような処理が必要になった。*2 無引数マクロ \InputStr に…

Twitter 出直し

TeX

新しい年ということで、長い間放置していて扱いに困っていた Twitter のアカウントを敢えて削除して、新しいアカウント(@zr_tex8r)を開始して、ブログと連携させることにした。

2012 年のパズル年賀状

今年の年賀状。 以前に述べたとおり、年賀状にはその年の数に関連した数学パズルを載せるのが通例である。*1しかし去年はパズルを作っている時間が 30 時間しかなかったので、割と普通(じゃない?)の覆面算で済ませた。 肝心の問題の部分の文字が小さくで…