マクロツイーター

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

LuaLaTeX の検索結果:

dvipdfmx で preview パッケージする件について

TeX

…X/XeLaTeX/LuaLaTeX で PDF 文書に変換(pdflatex test.tex)して、それを PNG 画像(など)に変換(convert -density 600 test.pdf test.png *3)する。 (ここでは詳細を略すが文書中に複数の preview 環境を入れると、「複数の画像を綴った形の」DVI/PS/PDF 文書が生成され、そこから同じ方法で複数の画像ファイルを得られる。) 例の test.tex の場合、次のような画像が得られる。*4…

サンセリフするとゴシックになるかならないか

TeX

…XeLaTeX や LuaLaTeX にはそもそもフォントに欧文と和文の区別がない。((つまり \sffamily で全ての文字が \sfdefault で指定したファミリに変更される。fontspec 使用時は \setsansfont で指定したファミリである。)) XeLaTeX + xeCJK/zxjatype パッケージ: 変わる。 LuaLaTeX + LuaTeX-ja の既定: 変わらない。 LuaLaTeX + LuaTeX-ja + JS互換文書クラス(l…

BXluatool パッケージバンドル

最近、「LuaLaTeX での Lua プログラミング支援ライブラリ」として「IXbase パッケージバンドル」というものを作っていた。これはかなり昔に(「思わず」を書くのに必要だったので)暫定的に作った「ixbase0 パッケージ」を再編して発展させたものである。しかし、諸般の理由があり、バンドル名を BXluatool として再び改編することにした。 BXluatool パッケージバンドル (github/zr-tex8r) 既に、このブログの IXbase に関する記事…

tangle し過ぎると落ちる

といっても、あの tangle でなく別の tangle の話。 某奥底の「Lua 内で TeX コードの実行を完了させる」で紹介されている「tangle モジュール」を新しいバンドル(IXbase)に持ってくるために手直しをしていたが、そこで重大な欠点に気付いた、という話。 通常は Lua のコードの中で TeX のコードを実行することはできず、tex.print() でコードを出力させても、それが実行されるのは Lua の実効コンテキストを抜けた後である。tangle モ…

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

…ドは UTF-8; LuaLaTeX 文書 \documentclass[a4paper]{ltjsarticle} \usepackage{bxjacalcux} \begin{document} \begin{minipage}{7zw} \setlength{\baselineskip}{24H}% 1H=0.25mmでしたね いろはにほへとちりぬるを\\[4H] わかよ\hspace*{1zw}たれそつねならむ \end{minipage} \end{document…

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

…eLaTeX でも LuaLaTeX でも同様の現象を示す。 \documentclass[a4paper]{article} \usepackage[T1]{fontenc} \usepackage{fontspec} \begin{document} \usefont{T1}{ptm}{m}{n}Mr.~X \end{document} 〈~〉は \nobreakspace という命令に展開されるが、これがエラーになってしまう。 ! LaTeX Error: Comman…

\mathcode と \omathcode と \Umathcode と

…bm パッケージが LuaLaTeX で動かないことが話題になっているが、この理由は、ある時期から(8 ビットの範囲の)文字の mathcode の既定の設定が「\mathcode で設定されたもの」から「\Umathcode で設定されたもの」に変更され、それにより \mathcode の返す値が変わったことにある。アドホックな対処としては、このページのようなものが考えられる。これは従来の 8 ビットの範囲の文字について、Lua のインタフェース*1で mathcode を…

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

[2012-06-05編集]記事の内容を書き直した。(参照) BXluatool バンドルの話の続き。 この中の bxluafacade パッケージは、以前の ixbase0 パッケージを再編したもので、bxluafacade + luacode の組み合わせで ixbase0 と大体同じ機能が得られる。bxluatool パッケージは bxlua... の名前のパッケージを一度に読み込む。 テンプレートな環境を実装する 「環境を verbatim に読み込む」の話の続き。 …

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

…」で紹介したように、LuaLaTeX においては、「Lua コードの呼出」を利用することで、LaTeX のマクロ(ユーザ定義命令)の知識だけでかなり複雑な処理ができる。*1LaTeX のマクロで実装すべきなのは、「LaTeX の命令に渡された引数を適切に Lua の関数に渡す」ということだけである。しかし、ここで「LaTeX のマクロ(\newcommand 等)」では解決できないタイプの構造がある。それが verbatim な入力である。そこで、LuaLaTeX において …

アップアップした

TeX

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

例のピンインなアレを 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}} % 単なるマクロ \pagestyle{empty} \begin{docu…

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

…ードは UTF-8;lualatex で組版 \documentclass{ltjsarticle} \usepackage{luatexja-fontspec} \setmainjfont{IPAexMincho} % 既定の明朝のフォント \newjfontfamily\fScmc{AR PL SungtiL GB} % 中国語部分の(明朝の)フォント \newcommand\schinese[1]{{\fScmc #1}} % 単なるマクロ % 欧文は Latin Mo…

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

TeX

…になってしまうが。 lualatex で組版、ということは「iamjatex は当然 Lua を使っているに違いない!」と考えた皆さん、残念でした。iamjatex.sty の中身をみれば解るが、実際には Lua どころか e-TeX 拡張すら使っていない。 奥村先生のメッセージの中の数値の基数は変えてあげようね。そうするとバージョンが v0.1.2 に上がる\<(w 芸人でなくてコメディアンですね。わかります。 TeX を利用した書籍の編集制作 森田尚(株式会社オーム社開発…

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

…eX で組版する。(LuaLaTeX でないぞ!)*1# platex -kanji=utf8 test-homuhomu1.tex # dvipdfmx test-homuhomu1.dvi どうやら動いているように見える。 インストールと使用の方法 上のサンプルで読み込んでいる bxgrassator というパッケージがインタプリタの機能を提供する。これの使い方を簡単に説明する。以下の場所からダウンロードできる。 GitHub: zr-tex8r/grassator 20…

ixgrassator パッケージ

TeX

…行する。補足事項。 LuaLaTeX なので、ixgrassator の提供する環境の中身も含めて全て UTF-8 で書くことになる。非 ASCII 文字(全角の〈w〉)とかも正しく認識される。 入出力に関しては、「TeX での文字列」を UTF-8 でエンコードしたものが「Grass で扱うバイト列」になる。*1 環境の中身は verbatim として扱われる(つまり制御綴を書いてもそのままの文字と解釈される)。「入力を表す引数」は verbatim ではなく、例えばマクロ…

素朴な疑問

TeX

なぜ「TeX Advent Calendar」はないのだろうか。 昨日ネタに出した ixgrassator (LuaLaTeX 用のパッケージ)をまだ GitHub に上げてなかったので上げた。 GitHub: zr-tex8r/grassator (tex ディレクトリの下)

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

…cument} C>lualatex test-grass.tex 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 ユーザの集い 2011」について何か書いてみる (3)

TeX

…ライド作成ソフト: LuaLaTeX-ja + beamer〕 何か書いてみる いやー、順調に進んでますねー。すごいですねー。*1 質疑応答 Q: 現状で LuaTeX-ja が非常に遅い(pTeX の 20 倍の時間がかかる)というが、Lua コードをコンパイルすれば改善されるのではないか。(Lua ソースを前もって中間コードにコンパイルして、得られたバイナリファイルを元のソースの代わりに用いるという方法があり、コンパイルにかかる時間を節約できる。) A: ここでいう速度比…

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

…ドは UTF-8; lualatex で組版 \documentclass{article} \usepackage{fontspec} \usepackage{color} \definecolor{mred}{rgb}{1,0,0.1} \definecolor{lpink}{rgb}{1,0.8,0.8} \pagecolor{lpink} \begin{document} \begin{center} \fontspec{M+ 1p heavy}% このフォントが使い…

TeX は軽量プログラミング言語(LL)か?

という話が(会社で)持ち上がったことがある(いや、本当に)。 LL のイベントで TeX がネタになったことがあることは知っているが、TeX が LL であるという話は聞いたことがない。ちょっと考えてみる。 Wikipedia によると: LLという単語の推進者は、 事前にコンパイルが不要なインタプリタ 動的型 関数オブジェクト などの特色を備えるものをLLと分類している なるほど。とりあえずこれらの性質について考えてみる。 【事前にコンパイルが不要なインタプリタ】 TeX …

luatexbase と luatex と fontspec と

…document}[lualatex test の実行結果] ! LaTeX Error: Missing \begin{document}.See the LaTeX manual or LaTeX Companion for explanation. Type H for immediate help. ...l.5 \setmainfont{ipaexm.ttf}? つまり、fontspec は制御綴を TeX に出すために fontspec.sprint() を呼ぶが…

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

…ある。致命的なのは、LuaLaTeX でほぼ必須だといえる fontspec パッケージが luatexbase と luatex の両方を読み込んでしまうということである。*2この衝突については、「A guide to LuaLaTeX」(この著者は luatexbase の作者の一人でもある)の中で言及されている。Warning. This package is currently in conflict with the luatex package, since th…

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

…足】 ちなみに、etex パッケージと luatexbase はともにレジスタ割当の上限を変更する(前者は 32768 個、後者は 65536 個)が、LuaLaTeX で両方が読み込まれても衝突することはなく、上限は(正しく)65536 個になる(実際は、luatexbbase は内部で etex を呼んでいる)。etex パッケージと luatex パッケージの関係についても全く同じである。(続く) *1:ASCII 空白(符号位置 32)のみ 10 で残りは全て 12。

LuaTeX で本気で日本語したい件について

北川さん(e-TeX の作者)を中心として、LuaTeX で pTeX と同様の機能を実現するためのプロジェクトが立ち上がった。 LuaTeX-ja 「LuaTeX で日本語する」今までに試みられている実装と異なり、LaTeX を前提にせずに、TeX レベルで pTeX との互換性の高い処理を目指す。ただし、pTeX の完全なエミュレートはほぼ無理なのでそれは目的にはしない。今はまだ始まったばかりで TeX レベルでのインタフェースも確定していない段階だが、雰囲気としては、「…

般若心経 LuaTeX

「LuaLaTeX で fontspec する件」が無事に動作したので、集いの発表でもネタに使った「般若心経」を組版してみる。ソースはこんな感じである。なお、強制改行や改段落を多用して行分割や分綴の問題を避けていることに注意されたい。 \documentclass[a4paper]{article} \usepackage[scale=0.86]{geometry} \pagestyle{empty} \setlength{\parindent}{0pt} % フォント定義 …

LuaLaTeX で fontspec する件について

…c してくれない件。LuaLaTeX の前に XeLaTeX の話。奥底の解説では、XeLaTeX で「Unicode する」為に必要なパッケージを一度に読み込むには xltxtra パッケージを用いるとしていた。現在でもそれ自体は変わらないが、「本当に必要なもの」に関しては、fontspec を読み込むだけで一緒に取りこまれる様になっている:例えば xunicode パッケージ、EU1 エンコーディング等である(さらに、etex や fixltx2e も該当する)。必須では…

LuaLaTeX で Unicode する件について

…書いた時には、まだ LuaLaTeX で「UTF-8 で入力して TrueType/OpenType の Unicode フォントで出力する」ための枠組が整っていなかった(あったのは TeX レベル、および ConTeXt 上のサポートだけ)ので、「入力は全部 ASCII、出力は 8 ビットフォント」で行わざるを得なかった。今では「LuaLaTeX で Unicode する」為の環境がほぼ出来上がっている。LuaLaTeX の現状については、ほぼ全て、以下の文書に纏められてい…

\pdfstrcmp のお話 (3/3)

…fTeX の機能を LuaLaTeX で使うためのパッケージ((LaTeX 以外のフォーマットでも \input で読み込めば使用できる。))が pdftexcmds パッケージ(Heiko Oberdiek 氏制作)である。これを読み込むと \pdf@strcmp という名前で \pdfstrcmp の機能が提供される。 \documentclass[a4paper]{article} \usepackage{pdftexcmds} \makeatletter \edef\…

\pdfstrcmp プリミティブのお話 (1/3)

…る((このコードを LuaLaTeX で実際に用いる場合は \luaescapestring を \luatexluaescapestring に変更する必要がある。この理由は「日本語しない件」で述べた。))。 \directlua{ function strcmp (A, B) if A == B then tex.write("0") elseif A tex.write("-1") else tex.write("1") end end} \long\def\pdfst…

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

取り組んでいる方を見つけたので紹介する。 jafontspec パッケージ —LuaLaTeX でとりあえず日本語組版— 同ページの「参考にさせていただいたもの」以下に、これまでの「LuaTeXで日本語」関連のサイトが挙げられている。[2011-06-02 追記] 「LuaTeX で日本語する件(あるいは Unicode する件)」についての現状の解説を奥底に掲載した。