マクロツイーター

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

LuaTeX

TeXのプリミティブで展開可能なやつ(5)

前回の続き。今回が最終回で、LuaTeXについて。 ※\U~の系列についてはXeTeXの記事を参照。 LuaTeX関連の注意事項 ※一般の注意事項については初回の記事を参照。 だめだ LuaTeXなにもわからない LuaTeXのやつ \begincsname‹トークン列›\endcsname ★:「‹トー…

LuaTeX が実はそんなに遅くないかも知れない件

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…

とある LuaTeX クイズの正解

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…

LuaTeX が直接 Type1 する件が結局解らなかった

てきとーに垂れ流したメモ。 luaotfload が新しくなってアレ? luaotfload の NEWS ファイル luaotfload v2.7: * Remove support for builtin Fontforge libraries (this includes the PFA, PFB, DFONT, and feature file readers).ふむ。ということは、従来…

LuaTeX がますます新しくなってますますアレ

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 で \mathstyle したい話(bxluaustack パッケージ)

(\mathstyle や \Ustack の話の続き) とりあえず、LaTeX で \mathstyle を使えるようにするやつを作ってみた。 bxluaustack パッケージ (Gist/zr-tex8r) このパッケージを読みこむと次の処理が行われる。 amsmath パッケージを(まだなら)読み込む。 LaTe…

きょうの LuaTeX (4) ー \Ustack

\Ustack{<サブ数式>} : [一般] 汎化分数を含むサブ数式のグループの前に \Ustack を前置すると、そのサブ数式内での \mathstyle が“正しくなる”。 前回の「きょうの LuaTeX」では、\mathstyle という「現在の数式スタイルを判定する」ためのプリミティブ…

きょうの LuaTeX (3) ー \mathstyle

\mathstyle : [展開可能] 現在の数式スタイルを表す整数(の十進表記のトークン列)に展開される。 値01234567−1 スタイルDD′TT′SS′SSSS′非数式 ※「スタイル」の記号の意味については以前の記事を参照。 某アドベントカレンダーの記事で詳しく解説してい…

きょうの LuaTeX(2) ― \crampeddisplaystyle 等

\crampeddisplaystyle [一般命令]: 数式スタイルを「“cramped”な別行立てスタイル」に変更する。 \crampedtextstyle/\crampedscriptstyle/\crampedscriptscriptstyle [一般命令]: 前項と同様。“cramped”なテキスト/添字/二重添字スタイルに変更す…

きょうの LuaTeX (1) : \suppressfontnotfounderror

前回の記事で、\suppressfontnotfounderror というプリミティブが登場したので、折角だからこれの解説をすることにした。なお、タイトル名は以前の記事のものを元ネタとしている。LuaTeX の仕様が毎日変わる、とかいう話では(残念ながら?)ない。 \suppres…

新しい LuaLaTeX で bxjsarticle できる話

最新の TeX Live では LuaLaTeX で bxjsarticle できるらしい。\documentclass[lualatex,ja=standard]{bxjsarticle} \begin{document} $a + b = c$ \end{document} つまり、expl3 が改訂されてコレが解決したということ。 bxjsarticleでエラー (TeX Forum)…

LaTeX で JPEG2000 する話

まあ、JPEG2000 形式の画像が“実際に”使われているのは見たことないけど……。 最近の dvipdfmx の改修で、JPEG 2000 形式の画像がサポートされた。最新の W32TeX では既に使用可能になっている。 Re: inclusion of images and dvipdfmx (TeX Forum) "JPEG 2…

LuaTeX の tex.skip の挙動がおかしい件について

LuaTeX では、Lua コード中で tex.count、tex.dimen、tex.skip といった(仮想的な)配列を用いて、 TeX のレジスタにアクセスすることができる。\newcount\countA \newdimen\dimenA \newskip\skipA \directlua{ tex.count.countA = 42 % \countA=42 と同じ …

落ちない tangle を作る話

「Lua の実行途中で TeX コードを実行する」ための「tangle モジュール」(以前の記事を参照)の改良の話。 従来(ixbase0 パッケージ、IXbase バンドル)の tangle では、大本の Lua コードを開始するときに、\directlua{ tangle.execute(function() % 実行…

BXluatool パッケージバンドル

最近、「LuaLaTeX での Lua プログラミング支援ライブラリ」として「IXbase パッケージバンドル」というものを作っていた。これはかなり昔に(「思わず」を書くのに必要だったので)暫定的に作った「ixbase0 パッケージ」を再編して発展させたものである。し…

tangle し過ぎると落ちる

といっても、あの tangle でなく別の tangle の話。 某奥底の「Lua 内で TeX コードの実行を完了させる」で紹介されている「tangle モジュール」を新しいバンドル(IXbase)に持ってくるために手直しをしていたが、そこで重大な欠点に気付いた、という話。 …

LuaTeX-ja で zw を使う件について

「LuaTeX-ja の現状の日本語組版に十分に満足しているし、 縦組みなんて使う予定全くないし、 自分の強力なマシンだと多少遅いのも気にならない、 だけど、zw の前に \ を書かなければいけないのが我慢ならなくて、 pTeX から移行できない!」とお悩みの皆さ…

\mathcode と \omathcode と \Umathcode と

LuaTeX で mathcode を設定する方法は、\mathcode(8 ビット TeX 互換)、\omathcode(Omega 互換)、\Umathcode(ネイティブ、3 値で指定)、\Umathcodenum(packed 32 ビット値で指定)の 4 系統がある。奇妙なことに、値を読み出す際には、読出時に使うプ…

テンプレート的 LaTeX、再び (2)

(前回の続き) 実のところ、先の例で N の値を引数にするようなユーザ命令(マクロ)を定義することは簡単ではない。単純に以下のようにしたのは上手くいかない。理由を大雑把に言うと、「 中の Lua コードは(実質的に)その場で実行されるのでそこで未知…

テンプレート的 LaTeX、再び (1)

昨日紹介した templatex パッケージ(IXbase バンドル)を使って、アレとかソレと同じことをやってみた。\documentclass{article} \usepackage{templatex} %\def\pgfsysdriver{pgfsys-dvipdfm.def} % for dvipdfmx \usepackage{tikz} \begin{document} \begi…

verbatim な入力を Lua 関数で簡単に扱う件について (3)

[2012-06-05編集]記事の内容を書き直した。(参照) BXluatool バンドルの話の続き。 この中の bxluafacade パッケージは、以前の ixbase0 パッケージを再編したもので、bxluafacade + luacode の組み合わせで ixbase0 と大体同じ機能が得られる。bxluatoo…

verbatim な入力を Lua 関数で簡単に扱う件について (2)

[2012-06-05編集]記事の内容を書き直した。(参照) (前回の続き) verbatim な入力を LaTeX 上で気軽に扱えると、色々なことに応用できる。 verbatim な出力 例えば、verbatim な入力ができると、verbatim な出力ができる。\documentclass{article} \use…

verbatim な入力を Lua 関数で簡単に扱う件について (1)

[2012-06-08編集]IXbase バンドルを BXluatool バンドルとして再編した。それに合わせて記事の内容も書き直した。 かなり昔に「思わず Lua で LaTeX してみた」で紹介したように、LuaLaTeX においては、「Lua コードの呼出」を利用することで、LaTeX のマ…

例のピンインなアレを LuaTeX-ja で

(TeX Forum:漢語ピンインの表記について(水羽)の続き?) いや、やっぱりこれでしょう! % 文字コードは UTF-8;lualatex で組版 \documentclass{ltjsarticle} \usepackage{luatexja-fontspec} \setmainjfont{IPAexMincho} % 既定の明朝のフォント \newj…

CTAN に上がったから LuaTeX-ja で日本語する件について

昨日(2012-04-20)の深夜辺りに、めでたく LuaTeX-ja が CTAN に収録された。 New on CTAN: LuaTeX-ja というわけで この前の ConTeXt の文書を LuaTeX-ja で組版してみよう。*1 % 文字コードは UTF-8 \documentclass{ltjsarticle} % 全てはロゴのため \pag…

ConTeXt で日本語する件について

初めての ConTeXt Mark IV - I'm Just Another TeXnician. ↓ 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.s…

luatexbase と luatex と fontspec と

前の記事で「fontspec を読み込んだ時点で luatexbase と luatex が衝突するので、カテゴリコードテーブルの機能が事実上使えなくなる」という話をしたが、よく調べてみると、その fontspec 自身がカテゴリコードテーブルを使っていることが判明した。[fonts…

luatexbase の話:カテゴリコードテーブル (2)

(前回の記事)前回の記事では、LuaTeX のカテゴリコードテーブルの話とそれを LaTeX (および plain TeX)での使用を支援するためのパッケージ luatexbase の話をした。実は、LuaTeX 機能の支援パッケージにはもう 1 つ、luatex パッケージ(作者:Heiko Ob…

luatexbase の話:カテゴリコードテーブル (1)

LaTeX における(パッケージ開発者用の)パッケージに luatexbase (作者:Manuel Pégourié-Gonnard、Élie Roux)というものがある。これは LuaTeX における基礎的な拡張機能、例えば属性(attribute)、カテゴリコードテーブル(category code table)等を …

グルー値文字列中の空白トークン

お待ちかねの(誰が?) TeX パズル。次のそれぞれのトークン列について、先頭から「グルー値」を 1 つ読んだ場合、どこまでが「グルー値を表す文字列」と解釈されるか。言い換えると、これらの前に \hskip を置いた場合、どこまでのトークン列が「その引数…