マクロツイーター

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

LuaLaTeX の検索結果:

bxcjkjatype の autotilde はソレじゃない件(1)

…+ xeCJK や LuaLaTeX + LuaTeX-ja を使った場合も同様に和欧文間空白が自動挿入される。ところが、(pdf)LaTeX + CJK パッケージでは和欧文間空白を自動挿入する機能が存在しない。このため、ソースを (u)pLaTeX と同じように書くと和欧文間空白が入らない状態で出力されてしまう。% pdfLaTeX 文書, 文字コードは UTF-8 \documentclass[a4paper]{article} \usepackage{CJKutf8,…

upLaTeX でないものでカラー絵文字する件(bxcoloremoji パッケージ)

…、pLaTeX や LuaLaTeX 等の他のエンジンでも当然使えるべきではないか。 ……ということで、作ってみた。 bxcoloremoji パッケージ (GitHub:zr-tex8r) 現状では、絵文字の画像データは本家の coloremoji パッケージのものを流用する。なので、例の記事に従って coloremoji をインストールした後、bxcoloremoji.sty を $TEXMFLOCAL に配置すれば使えるようになる。 [2016-05-05 追記]v0.…

BXjscls も新しくなった(補足)

…。 XeLaTeX/LuaLaTeX では本物(TrueType 形式)の IPAex フォント。 ここで“無指定”というのは「DVIウェアのマップ設定に従う」(つまり「pxchfon等の“文書中でフォントマップを設定する機能”を用いない」)ということである。ところで、TeX Live の場合は、kanji-config-updmap コマンドを使って「DVIウェアのマップ設定の中の、標準和文フォント設定」を変更することができる。すなわち、# ヒラギノProNを既定にする k…

BXjscls も新しくなった

…fon パッケージ、LuaLaTeX の場合は luatexja-prewset パッケージ、pdfLaTeX の場合は bxcjkjatype パッケージのプリセット設定を呼び出す。 nopapersize オプション jsarticle などの“JSクラス”では、既定では TeX 側で指定した用紙サイズは出力の DVI ファイルには記録されず、これを記録する(その為の「papersize special 命令」を実行する)には papersize というクラスオプションの…

LuaTeX の “pdfTeX のバージョン”がアレな件

TeX

…れている。 最新の LuaLaTeX の \pdftex〜 の値はまさにこの処置を行った結果と一致する。ということは、v0.80 になって、\pdftex〜 が実際にプリミティブとして存在しなくなったため、既存のパッケージでエラーになるのを防ぐために、LuaLaTeX 側でフォーマット作成時に前掲の処置を行った……。 一見、そのように思えるが、実は違うようである。実際には、\pdftex〜 プリミティブは消滅したのではなく、代わりに、“あたかも前掲の処置を行った”状態が“最初…

easylist を雪だるまに対応させてみた

…るまを使う」というのが新しい常識になることは間違いないであろう。 *1:なお、この既定のレイアウトの場合、リスト部分に対して字下げ(インデント)は行われない。 *2:ただし、使用する文書クラスにおける itemize や enumerate のパラメタを引き継ぐわけではない。多分 article クラスのそれを規範としている。 *3:この場合、現状では UTF-8 で記述することになる(XeLaTeX と LuaLaTeX は事実上 UTF-8 のみをサポートしているので)。

LaTeX で JPEG2000 する話

…えるようになる。% LuaLaTeX 文書(文字コードは UTF-8) \documentclass[a4paper]{article} \usepackage{graphicx} % 画像タイプを追加設定する \DeclareGraphicsRule{.jp2}{jpg}{*}{} \DeclareGraphicsRule{.jpf}{jpg}{*}{} \begin{document}\noindent \includegraphics[width=5cm]{tiger.…

出力 PDF のバージョン(とか)を指定する

…(pdfLaTeX/LuaLaTeX 専用である。)LaTeX 文書において、\usepackage{pdf14} でパッケージを読み込むと PDF 出力について以下の設定が行われる。 バージョンが 1.4 になる。 オブジェクトストリームはバージョン 1.4 で非対応なので、その使用が抑止される。従って、「オブジェクトの記述」に対し圧縮が施されることがなくなる。 出力 PDF バージョンの既定値 出力 PDF のバージョンについて、TeX Live では長らく 1.4(pd…

pLaTeX で安心してスヤァ…する方法

…XeLaTeX や LuaLaTeX のような「Unicode 対応の LaTeX」では、OpenType フォントに含まれる任意の Unicode 文字を使えて、しかも既定では「日本語用の調整」をしないので、( ˘ω˘ )スヤァ… するには非常に都合がいいが、それらを用いてまともに日本語を組むにはそのためのノウハウが要る。*3このジレンマを打破して pLaTeX で安心して ( ˘ω˘ )スヤァ… する方法はないものであろうか? 解りやすい解決法の一つとして「( ˘ω˘ )…

ギリシャ語ネタのための LaTeX

…XeLaTeX か LuaLaTeX に決まってるだろ常(ry」という意見もあるだろうが、ここでは敢えて 8 ビット欧文の LaTeX (latex または pdflatex)を使うことにする。 ギリシャ語だけの文書 以前の記事で別の話題のついでに触れたことがあるが、ここで改めて、「現状で標準的な」設定方法を示しておく。多言語設定の基本に忠実に従って「inputenc で utf8」「fontenc で LGR」「Babel でギリシャ語」を指定すればよい。フォントを変えたい…

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

…r.sty の方は LuaLaTeX 用のパッケージで Lua で実装されたインタプリタを用いるものである。 このパッケージを使って、ナベアツを実装してみる。((Grass のコード自体は過去の記事で掲載したものと全く同じであるが、ここでは、\NabeAzz 命令の定義をプレアンブルで行っていることに注意。)) [nabeazz-grass.tex]\documentclass[a4paper]{article} \usepackage{bxgrassator} \usepa…

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

…でコンパイルできる。lualatex nabeazz-luatex.texPerlTeX (perltex パッケージ) (参照:アレ) 「LaTeX とプログラミング言語処理系の連携」では古参というべき PerlTeX(パッケージ名は perltex)。\perlnewcommand という命令で「LaTeX の命令を Perl で直接定義できる」のが特徴。((LuaTeX の \directlua のように、「コード記述が verbatim でない処理系呼出」を用いれば同…

新しくなるはずの BXjscls に関する何か (1)

…ment} これは LuaLaTeX 文書。 % 文字コードは UTF-8; lualatex で組版 \documentclass[lualatex,a4paper,jadriver=standard]{bxjsarticle} \begin{document} \section{まとめ} ご清聴ありがとうございました。 \end{document} 何がしたいのか元来は、BXJS クラスでは、pTeX 系以外のエンジンについては、「どのような日本語組版支援パッケージ/機構…

Beamer は dvipdfmx をサポートするか否か? (1)

…ex+dvips, lualatex and xelatex. latex+dvipdfm isn’t supported (but we accept patches!). 果たしてこの「dvipdfmx はサポートされてない」という記述は単に古い情報*1の更新漏れだろうか、それとも今でも dvipdfmx は「公式にサポートされている」と言えない事情があるのだろうか。 dvipdfmx では確かに動かないアレ 現実には、dvipdfmx で Beamer のほとんどの機能…

実験レポート:文書情報が文字化けしない hyperref の設定(1)

TeX

…x) LuaTeX(lualatex) XeTeX(xlatex) 8 ビット欧文 TeX + CJK パッケージ pTeX 系は実験によって何かを探究する対象にはしないが、比較のために以下の環境について同じ実験を行ってその結果について既知の知識を補足する。 pTeX/upTeX (platex、uplatex) pTeX/upTeX + pxjahyper パッケージ 実験内容% 文字コードはUTF-8 \documentclass[a4paper]{article} \u…

2013 年のパズル年賀状

…版面を全て TeX(LuaLaTeX)で作成した。これまではペイントソフトで描いた絵の部分と TeX(XeLaTeX)で書いた文字の部分をペイントソフト上で配置するという手順を取っていたが、今回は真ん中の図を TikZ で描くことで全部の要素を TeX で表現している。 文書ソース(nyc13.tex) (gist/zr-tex8r) ※ なお、ソース中で \input している t-yato.tex は署名(上の図の「T.Yato」の文字)の部分のアウトラインデータであるが…

「TeXを電卓として使おう」を何とかする件

TeX

… でコンパイルする(lualatex とか --shell-escape とかじゃないよ!)と普通に式を入力して計算できるようになります。 <latex tccalc.tex This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012/W32TeX) ……(中略)…… ) *=(100*2+150)/6 ->58.33333333333333 *= とても自然ですね! もっと高度な演算もサポートされています。例えば…

writeLaTeX で日本語してみたかった件について

TeX

…XeLaTeX や LuaLaTeX で作成している人もいるが、当然それらも使えない。しかし何とかして writeLaTeX で日本語できればよかったのに、というのが今回の話。 pdfLaTeX(を含む 8 ビット欧文 LaTeX)で日本語を扱うための(TeX Live *1で標準で使える)方法といえば CJK パッケージしかない。そこでまずは、CJK パッケージを用いた日本語を含む文書の組版が正常に行えるかを、次のような非常に基本的なソースで試してみよう。\document…

TeX で Windows をシャットダウンする件について

TeX

…ています。処理系は LuaLaTeX(または plain LuaTeX)に限ります。 インストール 例えば W32TeX を C:\usr\local にインストールしている場合、アーカイブに含まれるファイルを次の場所にコピーした後、(ls-R を使う運用をしている場合は)mktexlsr を実行してください。*3 tcshutwindown.sty → C:\usr\local\share\texmf-local\tex\lualatex\tcshutwindown\ sh…

それでも TeX でプログラミングしたい人のための何か (12)

…a@name/\the\tclt@ires}}% } \def\tclt@remainder#1#2{% TODO:実装しろ % ires = _1 % _2 }ここでも \tclt@remainder の実装は後回し。 *1:tceltaso は日本語の文字の出力を含んでいるので pLaTeX 用に該当するのではと思うかも知れないが、単に出力文字に日本語があるだけの場合は、(ファイルの文字コードを UTF-8 にしておけば)XeLaTeX や LuaLaTeX でも使える。

それでも TeX でプログラミングしたい人のための何か (3)

…いる。例えていうと、LuaLaTeX では luacode パッケージを利用する(あるいは \directlua プリミティブを直接使う)ことで Lua コードを LaTeX 文書に混在して記述することが可能であるが、実際には異なる言語が混在することを嫌って Lua コードを別のファイルに書く人が多い、というのと同様の話である。TeX と LaTeX は異なる言語である*2ので、それぞれを別のテキストに分けておきたいのである。 名前空間の識別子を決める 「名前空間」というのは…

てふてふの大群がとんでゐます

TeX

…aTeXPDF 出力LuaLaTeXlualatexpdfLaTeXpdflatexXeLaTeXxelatex―― DVI 出力(※1)dvilualatexLaTeXlatex(※2)Lamed(ל)lamed― plainPDF 出力plain LuaTeXluatexplain pdfTeXpdftexplain XeTeXxetex―― DVI 出力(※1)dviluatexplain e-TeXetex(※2)Aleph(א)alephplain TeXtex(※…

Web 上にあるファイルを \read する件について

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.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.parent…

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 を…