マクロツイーター

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

2013-01-01から1年間の記事一覧

冬休み課題②:円周率を使わない話

今年もあと残り数時間となりました。 年越しまで、特にやることないんだけど、残念ながら \expandafter のことはあまり解らないという人は、次の問題をやってみればどうでしょうか。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTag…

冬休み課題①: \expandafter をたくさん書きましょう

TeX

今年一年の中で \expandafter について考える機会にあまり恵まれなかった \expandafter 初級者のために、\expandafter な問題を出題する。 plain pdfTeX において、起動直後に以下のコードを実行したとする。 \catcode`H=\active \catcode`E=\active \catcod…

今年も Merry TeXmas! ― \end{texadvent2013}

TeX

2013/12/01 〜 2013/12/25 TeX & LaTeX Advent Calendar 〜TeX で騒げ、TeX で笑え〜 祝! アドベントカレンダー完走!% This is just another LaTeX document. (use pdflatex) \documentclass[a4paper]{article} \usepackage{animate,color,calc,ifthen} \n…

pxipamjm パッケージの説明書のような何か

以前の記事で紹介した pxipamjm パッケージの使い方をごく普通に解説する。 用語集 MJ番号: 「MJ文字情報一覧表」にあるグリフについて、その「MJ文字図形名」の先頭の「MJ」に続く数字列が表す数値のこと。 異体字番号: IVS における異体字セレクタの VS1…

例の点滅させるアレの話(bxblink パッケージ)

【とにかく宣伝】 2013/12/01 〜 2013/12/25 TeX & LaTeX Advent Calendar 〜TeX で騒げ、TeX で笑え〜 TeX & LaTeX アドベントカレンダー 2013 * * * 某アドベントカレンダーの今日のアレのアレについての補足的な何か。 パッケージの読込はいつも通りのア…

ipamjm パッケージでアレしてみた

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 = "https://platform.twitter.com/widgets.js"; fjs.paren…

LaTeX 上で色々と実装してみる話(えるたそ編-2)

(前回の続き) LISP on TeX (参照:アレ) 「LISP on TeX」という怖そうな*1言語を用いた「フィボナッチなえるたそ」の実装。\documentclass{jsarticle} \usepackage{lisp-on-tex} \newcommand*{\FibEltaso}[3]{\lispinterp{(\fibeltaso :#1 :#2 :#3)}} \n…

zxjatype が(実は)アレな話

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 = "https://platform.twitter.com/widgets.js"; fjs.paren…

LaTeX 上で色々と実装してみる話(えるたそ編-1)

長かったナベアツ編はようやく終わった。さて次の課題であるが、「ナベアツ」の次といえば「えるたそ」が来る、というのは TeX 芸人の間では異論のないところであろう。そこで次の命令の実装を目標とする。 \FibEltaso{<正整数a>}{<正整数b>}{<正整数n>} : …

またアドベントがはじまった ― \begin{texadvent2013}

TeX

2013/12/01 〜 2013/12/25 TeX & LaTeX Advent Calendar 〜TeX で騒げ、TeX で笑え〜 というわけで今年も始まってしまいました。アドベントカレンダー。主催者の ZR です。 昨年の texadvent は色んな意味でアレでアレでしたが、今年はどんな感じのカレンダ…

zxjatype でアレな環境を使うとアレな件(2)

(前回の続き) 対処法 これに対処する方法であるが、挿入されるトークン列の方に細工を施して、そちら側で先読み処理をする、という方法も考えられるが、元々の挿入トークン列の性質によっては困難な可能性がある。恐らく、\end マクロの方を修正する方が簡…

zxjatype でアレな環境を使うとアレな件(1)

アレのことだけど。 [zxjatype] 文字サイズの \begin{} ... \end{} による指定 zxjatype じゃなくて xeCJK を指定して同様の文書を作った場合にも同じエラーが発生するので、これは xeCJK の問題といえるだろう。で、きちんと調べたわけではないが、何となく…

表組みの段落セルの改行のアレ

アレのことだけど。 tabular 横幅の指定について \tabularnewline のことも覚えておいてあげてください。\documentclass[a4paper]{article} \usepackage{array} \begin{document} \newcolumntype{C}{>{\centering}p{4em}} \begin{center}\begin{tabular}{c|C…

欧文の従属“ギリシャ”文な書体を指定する件

ラテン文字の言語とギリシャ文字の言語が混在した(欧文 8 ビットの)LaTeX 文書を作成するときに、「ラテン文字(T1 エンコーディング等)とギリシャ文字(LGR エンコーディング)で異なるファミリを使いたい」とする。例えば、ラテン文字(のセリフ、つま…

今年も TeX で Advent Calendar する件について

TeX

やります! TeX & LaTeX Advent Calendar 2013 (Adventar) TeX & LaTeX Advent Calendar 2013 とっておきの TeX/LaTeX ネタを皆で持ち寄って楽しむ 「TeX & LaTeX Advent Calendar」 盛況にうちに終わった昨年に続き第 2 回の開催です。 皆さんの、心をこめ…

LaTeX 上で色々と実装してみる話(ナベアツ編-8)

前回で「Grass 言語でナベアツ」を紹介して、これで無事に「ナベアツ編」は完結して次の課題に進める、と考えていたが、やはり一つ心残りなことがある。このブログの愛読者であれば容易に想像が付くと思われるが、それは、 「Brainfuck でナベアツ」をやって…

ちょっと BaSiX しますよ…(BASIC on TeX)

昨日の記事で BaSiX を紹介したのでちょっと遊んでみる。といっても「TeX への入力」ができないのでナベアツは諦めて FizzBuzz することにする。 まず、CTAN から basix.tex のファイルを入手する。このファイルを現在ディレクトリに置いて「tex basix」を実…

LaTeX 上で色々と実装してみる話(ナベアツ編-7)

(前回の続き) Grass (bxgrassator パッケージ) (参照:アレ) 「LISP on TeX もいいけど、たまには草を植えてみたい」という人は、bxgrassator パッケージを利用すると、LaTeX 文書で Grass のコードを利用できる。 grassator パッケージバンドル(GitH…

LaTeX 上で色々と実装してみる話(ナベアツ編-6)

(前回の続き) なんだか「マクロツイーター」っぽくなってきましたね! MetaPost 前回は PostScript を用いてナベアツを実装した。描画言語を利用するというアイデアは有望であるが、しかし残念ながら PostScript ではフォントをアホにすることができなかっ…

LaTeX 上で色々と実装してみる話(ナベアツ編-5)

(前回の続き) ここからは場外乱闘コーナー。 dvips で PostScript (参照:アレ) DVI ウェアとして dvips を使用する場合、PostScript special 命令を使って比較的自由に PostScript 言語のコードを書くことができる。そして周知の通り、PostScript でナ…

LaTeX 上で色々と実装してみる話(ナベアツ編-4)

(前回の続き) PythonTeX(pythontex パッケージ) (参照:アレ) PythonTeX は LaTeX 上で Ruby のコードを動作させるためのパッケージである*1。詳しくはリンク先の記事を参照のこと。 [nabeazz-pythontex-ruby.tex]\documentclass[a4paper]{article} \u…

LaTeX 上で色々と実装してみる話(ナベアツ編-3)

(前回の続き) 今までは「TeX で実装された言語」を扱った。ここからは、既存の言語処理系(またはそのエンジン)と TeX 処理系の連携で動作するものを紹介する。 LuaTeX(+ luacode パッケージ) (参照:アレ) みなさんご存じの LuaTeX。これは TeX 処理…

LaTeX 上で色々と実装してみる話(ナベアツ編-2)

(前回の続き) LISP on TeX (lisp-on-tex パッケージ) (参照:アレ) 「LISP on TeX」という怖そうな*1パッケージを使うと、LISP 的な言語でプログラミングができる。というわけで早速ナベアツしてみる……。 ……と思ったら、自分の思い通りにはいかないこ…

LaTeX 上で色々と実装してみる話(ナベアツ編-1)

「LaTeX 上で動く」色々なプログラミング言語を使って実装してみよう、という話。 まずは基本のナベアツから。問題は次の命令を実装すること。 \NabeAzz{}: 1 から n までの整数の 10 進表記を順に空白区切りで出力する。ただし、整数が「3 の倍数である」…

LISP on TeX で \sb するとアレ

TeX

アレ。\documentclass{article} \usepackage{lisp-on-tex} \begin{document} \lispinterp{(\texprint ((\lambda (\sa) (\* \sa :6)) :7))}% OK \lispinterp{(\texprint ((\lambda (\sb) (\* \sb :6)) :7))}% ERROR! \end{document} 多分、\sb が「文字トーク…

LISP on “plain” TeX

「LISP on TeX」こと lisp-on-tex パッケージ は LaTeX のパッケージであるので、plain TeX 等の「他の TeX フォーマット」では LISP することができない。しかし実際には lisp-on-tex の実装中で LaTeX の機能を用いている箇所は極めて少ない。なので、他の…

せっかくだから PythonTeX でナベアツを実装した

TUG 2013 で PythonTeX についての発表があって少し話題になっているようた。 PythonTeX というのは、端的にいうと、「LaTeX 文書中で Ruby のプログラムを実行する機能」を提供するパッケージである。すなわち「PerlTeX の Ruby 版」に相当する。なので、「…

upTeX のとりとめのない話

周知の通り、upTeX は和文文字を Unicode で扱う。だから有効な符号値の範囲は 0〜0x10FFFF のはずである。ところが、実際の upTeX の仕様では有効な範囲は 0〜0xFFFFFF となっていて、\kchar 命令を使うことで符号値が 0x110000 以上の和文文字(のノード)…

アレに行ってきた

TeX

今日は「TUG2013」という、チョコドーナツをたくさん食べるイベントに行ってきました。楽しかったです。2 個しか食べてないけど。

新しくなるはずの BXjscls についての何か (3)

BXjscls の 0.9 版の話の続き。 その他の改修内容 基底サイズオプションの 12Q を jbase=12Q(つまり和文の \normalsize が 12Q)と同等になるように修正(これまで誤って base=12Q(欧文が 12Q)と同等にしていた)。14Q も同様。 和文スケールを無効にする…