マクロツイーター

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

LuaTeX の検索結果:

tangle し過ぎると落ちる

…る。This is LuaTeX, Version beta-0.70.2-2012052919 (TeX Live 2012/W32TeX) restricted \write18 enabled. ……(中略)…… (c:/usr/local/share/texmf/tex/latex/base/omscmr.fd)(1)(2)(3)(1)(2)(3)(4)(5)(6)( 7)(8)(9)(10)(11)(12)(13)(1)(2)(3)(4)(5)(6)(7)(8)(9…

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

「LuaTeX-ja の現状の日本語組版に十分に満足しているし、 縦組みなんて使う予定全くないし、 自分の強力なマシンだと多少遅いのも気にならない、 だけど、zw の前に \ を書かなければいけないのが我慢ならなくて、 pTeX から移行できない!」とお悩みの皆さんに朗報です!% 文字コードは UTF-8; LuaLaTeX 文書 \documentclass[a4paper]{ltjsarticle} \usepackage{bxjacalcux} \begin{docum…

xunicode で Unicode しない場合のエラーの話

…存の\nobreakspace .\glue 2.5 plus 1.49998 minus 0.59998 .\T1/ptm/m/n/10 D *1:つまり、同一に見える結果を得るために。 *2:fontspec の機能を用いて定義されるフォントは全てこのエンコーディングを持っている。 *3:そもそも Unicode 対応の XeTeX/LuaTeX では〈ŋ〉を入力すると〈ŋ〉が出力されるわけで、これには何のマクロ定義も要らない。 *4:本当はこれではない。前の注釈を参照。

\mathcode と \omathcode と \Umathcode と

LuaTeX で mathcode を設定する方法は、\mathcode(8 ビット TeX 互換)、\omathcode(Omega 互換)、\Umathcode(ネイティブ、3 値で指定)、\Umathcodenum(packed 32 ビット値で指定)の 4 系統がある。奇妙なことに、値を読み出す際には、読出時に使うプリミティブに関わらず、最後の書込時に用いた「値」が返ってくる。(\Umathcode は \Umathcodenum に準じた扱い。)従って、機能的には「…

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

…ngN}[1]{"\luatexluaescapestring{\detokenize{#1}}"} %%<*> \format{XXX}{N} : printf 書式 %XXX で数値 N を出力 \newcommand*{\format}[2]{\directlua{do_format(\luastringN{#1},\luastringN{#2})}} \begin{document} The answer is \format{04X}{66}. \end{docum…

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

…ds}{logo} luatex=Lua\TeX lualatex=Lua\LaTeX context=Con{\TeX}t # not have 'Lua' in name texinfo=Texinfo # yeah! ^^; \end{makeshorthands} This is \logolualatex! \end{document} make_shorthands() 関数の引数 datatable に渡されるのは、# 等の「特殊文字」もそのままに含まれる文字列…

アップアップした

TeX

…}}\ruby{赤}{あか}} PXrubrica の「拡張機能」については、最近気力が低下しているせいで、少なくとも暫くは実現しないだろう。多分、それよりも pTeX 系以外のエンジン(XeLaTeX + ZXjatype とか LuaLaTeX + LuaTeX-ja とか)への対応の方が重要だと考えている。LuaTeX-ja に関しては、LuaTeX の機能を利用すれば「拡張機能」がもっと素直に実現できると期待されているのだけど、その辺は某 H7K さんに任せた :-)

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

…est ブランチの LuaTeX-ja が必要) % 文字コードは UTF-8;lualatex で組版 \documentclass{ltjsarticle} \usepackage{luatexja-fontspec} \newjfontfamily\fScmc[NoEmbed,JFM=quanjiao,CID=Adobe-GB1] {STSong-Light} % 中国語フォント \newcommand\schinese[1]{{\fScmc #1}} % 単なるマクロ…

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

…sepackage{luatexja-fontspec} \setmainjfont{IPAexMincho} % 既定の明朝のフォント \newjfontfamily\fScmc{AR PL SungtiL GB} % 中国語部分の(明朝の)フォント \newcommand\schinese[1]{{\fScmc #1}} % 単なるマクロ % 欧文は Latin Modern (fontspec の既定) \begin{document} \schinese{邓小平} 鄧…

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

…夜辺りに、めでたく LuaTeX-ja が CTAN に収録された。 New on CTAN: LuaTeX-ja というわけで この前の ConTeXt の文書を LuaTeX-ja で組版してみよう。*1 % 文字コードは UTF-8 \documentclass{ltjsarticle} % 全てはロゴのため \pagestyle{empty} \usepackage{metalogo} % \XeTeX, \LuaTeX \providecommand*{\pdfTe…

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

…V(マーク4)」は\LuaTeX エンジンのみをサポートし、「MkII(マーク2)」は \pdfTeX と\XeTeX をサポートする。(\XeTeX に対して 「MkIII」が計画されていたが結局作られなかった。) \stoptext しかし、これだけの文書で 2 分半かかるとは。(LaTeX でコンパイルの繰り返しが必要というケースで、ConTeXt は自動的に必要なだけ反復を行うので、その全体の時間である。確か 5 回くらい反復していた。なおかつ、LuaTeX + Op…

文字列の置換

…う。 …といっても、LuaTeX で Lua 呼出を使うのは面白くないので、この方面の回答はさっさと済ませてしまおう。% プレアンブル部 \usepackage{luacode} %%<*> \replaceWordAll ; 規約(b)に従う \newcommand\replaceWordAll[3]{\directlua{ zrpuz_replace_word_all(% エスケープを忘れずに \zrpuz@esc{#1}, \zrpuz@esc{#2}, \zrpuz@…

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

…由来する。ちなみに、LuaTeX には \expanded という「網羅展開させる」プリミティブが存在する。))つまり、これを使ってしまうと、\NabeAzzX が展開可能でなくなってしまうのである。事実、(シリーズ前回の)ソースコードで (*2) の部分(\NabeAzzX を網羅展開させている)を有効にすると、またそこでエラーが起こる。\exp_args:Nx が展開可能でないというのは、「(ある関数が)引数を網羅展開させる処置をとると自身の展開可能性が失われる」というこ…

TeX で「ほむほむ」したり草を生やす件について

…したインタプリタを LuaTeX で動かすもの)と同じであるのでそちらを参照してほしい。細かい仕様については若干の相違があるが、それは後日説明したい。注意として、「Grass で非 ASCII 文字を使う」および「『ほむほむ』言語を扱う」ためには、pTeX 系/XeTeX/LuaTeX(要するに 8 ビット欧文 TeX 以外)が必須になる。 さらにサンプル [test-bxgrassator.tex] 「Grass でナベアツ」を実行した例も載せておく。フォント周りの設定は先…

ixgrassator パッケージ

TeX

LuaTeX でしか草を生やせられないというつまらないパッケージであるが、一応使い方を解説しとおく。 GitHub: zr-tex8r/grassator v0.2.3 [2011/12/23] インストール以下のファイルを「TeX システムから見える場所」に置く。通常の Lua インタプリタでのモジュールの探索場所と異なり、Lua ファイルも TeX 言語で書かれたファイル(*.sty)と同じ扱いになることに注意。 tex/ixgrassator.lua tex/ixgra…

TeX で草を生やす件について(まだ生えてません)

…x This is LuaTeX, Version beta-0.70.1-2011100723 (rev 4277) ……(中略)…… Output written on test-grass.pdf (1 page, 8983 bytes). Transcript written on test-grass.log. C>start test-grass.pdf ZR「いやー素晴らしい! これにて一件落着! 皆さん、TeX なんかやめて LuaTeX を使いましょう!」 …

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

TeX

…ない pdfTeX/LuaTeX では使えない」というのはずっと気になっていたのだが、最近になって、描画に pict2e を使う版が開発されたようだ。 質疑応答 Q: Maple と Mathematica 以外(Maxima 等のフリーの CAS ソフトウェア)への対応は進んでいるのか? A: 現在では、どの機能も全ての対応ソフトウェアで使える。(← という答えだったはず。) それにしても、複数の CAS ソフトウェアへの対応ってどうしているのだろう。「共通化」ができなさそ…

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

TeX

LuaTeX-ja の開発 北川弘典 (LuaTeX-ja プロジェクトチーム) LuaTeX 上の日本語組版パッケージである LuaTeX-ja の現在の開発状況と pTeX との違いについて。 〔スライド作成ソフト: LuaLaTeX-ja + beamer〕 何か書いてみる いやー、順調に進んでますねー。すごいですねー。*1 質疑応答 Q: 現状で LuaTeX-ja が非常に遅い(pTeX の 20 倍の時間がかかる)というが、Lua コードをコンパイルすれば改善され…

XML 組版と TeX 組版の間の関係

TeX

…なる。pdfTeX/LuaTeX では PDF 文書が直接出力される。 ③ と ⑤ の違い(つまり「AH Formatter は何をするものなのか」)が解り難いかも知れない。PDF や PS(の各ページ)は中にテキストを含みうるが基本的に画像であると考えるとよい(EPS 形式は単一ページの PS 文書に過ぎないが、多くの人は画像形式だと思っているだろう)。つまり、各描画要素やテキスト中の各文字はその絶対位置が既に確定している。③ については、例えば本文の場合、「各ページ内の本…

完全展開可能なナベアツ ― e-TeX の場合

…おう。((ちなみに、LuaTeX で Lua 呼出(\directlua)を使うと、自然と完全展開可能なマクロが実現できる。*「何だって!誰でも簡単にマクロが組めるなんて全くもって許し難い!けしからん!大体、TeX ってものは…(以下略)」))以下に実装例を示す。 \catcode`@=11 %-------------- %% \NabeAzz{}: ナベアツ本体 \def\NabeAzzX#1{% \xx@nax@a1;#1;% } % 区切り引数にする理由は(*2)で …

例の発表のスライド

TeX

…にした。*1本当は LuaTeX-ja を試したかったのだが、字間的にそんな余裕はなかった。(スライドの場合、位置の調整を自分でやることが多くなり、試行錯誤のために頻繁にコンパイルする必要が出てくるので、LuaTeX だとかなりストレスが溜まるだろう。)描画は(PGF +) TikZ *2を用い、画像ファイルの挿入も PGF で行った。 昨日の記事に載せたタイトルのスライドであるが、OHP の像とその上のシートは画像であるが、その上にある文字は、手書きフォント「ふい字」でテキ…

PerlTeX でナベアツしてみる件について

TeX

…ている。*2つまり、LuaTeX のような TeX エンジンの拡張ではないので、TeX エンジン自体は任意のものを選べる。上記のソースは pLaTeX を前提(jsarticle クラス使用)としている。この文書を組み版するためには以下のコマンドを実行する。(当然 Perl の処理系が必要。) perltex --latex=platex sample.texちなみに LuaTeX のナベアツが見たい人はあべのりさんの日記を参照しよう。 *1:かなり昔から入っているようである…

まとめ:簡単!今すぐ OpenType できる方法

…いやー、XeTeX/LuaTeX 最高! *「なんだ結局そのオチかよ!」 (Xe- や Lua- でない)TeX のフォントの取り扱いというものは、まずその動作原理自体が常人の想像を超える複雑さを持っており、さらに先には、その過程に関わる幾多の個性的なソフトウェア(DVIウェア、レンダラ)の約束事と癖について熟知しなければならないという甚だしい難関が待ち構えている。この件について、いつか解説文を書きたいという希望を持ち続けていたが、この複雑な「動作原理」を理解させるための説明…

updmap はなぜ動くのか (2)

…pdfmx の設定、LuaTeX は pdfTeX の設定を参照する。 *1:ついでに言うと、和文と欧文で別のマップファイルを使う必然性もない。仮に cid-x.map に欧文のマップを記述しても正常に動作する。 *2:W32TeX の既定では $TMF(つまり $TEXMFMAIN)であるが、もし $TEXMFVAR が設定されている場合はそちらの TEXMF ツリーが使われる。このことは後掲の他の「書き換え対象のマップファイル」についても同様。 *3:だから TeX Li…

日本で TeX できる人の数→(?)

…能である。ただし、「LuaTeX で Lua インタプリタを呼び出す」ことだけはダメ。;-) 制限時間は実働で 24 時間とする。 あらゆる形態の参考文献を参照して構わない。ただし、「この問題の答えそのもの」および「TeX での FizzBuzz の実装そのもの」は除外する。 さて、あなたは TeX を使えますか……? [追記 2011-09-23] LaTeX で「CM Funny Italic」の 12pt を指定する際に、単純に OT1/cmfr/m/it/12 を要求…

luatexbase と luatex と fontspec と

…を読み込んだ時点で luatexbase と luatex が衝突するので、カテゴリコードテーブルの機能が事実上使えなくなる」という話をしたが、よく調べてみると、その fontspec 自身がカテゴリコードテーブルを使っていることが判明した。[fontspec.lua;35 行目] function fontspec.sprint (...) tex.sprint(luatexbase.catcodetables['latex-package'], ...) endじゃあ何故…

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

…事)前回の記事では、LuaTeX のカテゴリコードテーブルの話とそれを LaTeX (および plain TeX)での使用を支援するためのパッケージ luatexbase の話をした。実は、LuaTeX 機能の支援パッケージにはもう 1 つ、luatex パッケージ(作者:Heiko Oberdiek)というものがある。(以下、小文字の「luatex」はこのパッケージを指す。)両パッケージは機能的に重なる部分が多いので、両者の処理が衝突する(すなわち両方を読み込むとどちらも正…

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

…用の)パッケージに luatexbase (作者:Manuel Pégourié-Gonnard、Élie Roux)というものがある。これは LuaTeX における基礎的な拡張機能、例えば属性(attribute)、カテゴリコードテーブル(category code table)等を LaTeX (または plain TeX)上(の TeX マクロ)で使うことを支援するものである。「レジスタを大量に確保する話」で述べたが、LaTeX を拡張エンジンの機能に適応させるにはその…

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

…わりではない。実は、LuaTeX では結果が異なるのである。 1cm~plus~~1cm~~x 1cm~minus~1cm~~x 1cm~plus~~1fil~~x 1cm~minus~1fil~~x 1cm~plus~~1fil~~l~~x 1cm~minus~1fil~~l~~x 何故この結果になるかは、「cm」と「fil」の扱いが同じであることに気づけば解るであろう。つまり、LuaTeX では「fill」を複数のキーワードの列ではなく単一のキーワードとして扱っているので…

整数表記を内部整数に変換する

…ような状況を考える。LuaTeX において、整数値を返す Lua の関数を作成して、それを LaTeX の命令(TeX のマクロ)として使えるようにしたいとする。単純に「整数表記」を返すインタフェースで実装するならば、tex.write() ((こういう場合は、tex.print() より tex.sprint() や tex.write() の方が適切である。(整数に限らず)「値を表す文字列」を返す場合には、\the-文字列のカテゴリコードに従う tex.write() が…