マクロツイーター

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

LuaLaTeX の検索結果:

LuaTeX や LaTeX や LuaLaTeX が新しくなってアレ(2)

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"; fj…

LuaTeX や LaTeX や LuaLaTeX が新しくなってアレ(1)

TeX

…るカテゴリの移行は LuaLaTeX や plain LuaTeX では影響を及ぼさないので、実際に影響があるものの一覧は以下に示すものとなる。(重要そうなものを上に置いた。) 旧 LuaTeX新 LuaTeX \pdftexversion (廃止) \pdftexrevision (廃止) \pdfpagewidth \pagewidth \pdfpageheight \pageheight \ifpdfprimitive \ifprimitive \pdfprimitiv…

TeX せずに Lua する LuaTeX の話(2)

…が利用できる。 % LuaLaTeX 文書, 文字コードは UTF-8 \documentclass[a4paper]{article} \usepackage{luacode} \begin{luacode*} require "lualibs" local nums = { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" } function do_test(x, …

TeX せずに Lua する LuaTeX の話(1)

…lo.lua」でも「lualatex hello.lua」でも同じ結果になる。 ※この記事では、「Lua インタプリタモードの LuaTeX」のことを「texlua」と呼ぶことにする。 texlua でどこまで Lua できるか 基本的に、標準の Lua の機能は全て使える(若干拡張されている部分がある)。コマンドラインの引数の扱いも、普通のスタンドアロンな Lua インタプリタと同じである。 [hello2.lua]print("Hello, "..(arg[1] or "…

cmap から CMap を作る話

…、luatex や lualatex などの他のコマンド名で実行した場合でも、入力ファイル名の拡張子が .lua である場合は texlua の動作になる。なお、zrmakecmap.lua スクリプトは LuaTeX 特有のモジュールを利用しているので、一般の Lua インタプリタでは動作しない。 *2:この名前は(フォント情報の)ファミリ名を元にして決めている。つまり、このフォントのファミリ名は「Source Han Sans Medium」(「Medium」が付いている…

XeLaTeX や LuaLaTeX で Unicode できるかできないか(2)

… zxjatype、LuaLaTeX については LuaTeX-ja を利用して日本語を含む文書(あるいは“日本語の文書”)を作成することも行われ始めている。この場合、和文の方は“Unicode できる”のはよく知られている。では欧文の方はどうだろうか? XeLaTeX + zxjatype の場合 まずは XeLaTeX + zxjatype を試してみよう。 % XeLaTeX 文書, 文字コードは UTF-8 \documentclass[a4paper]{articl…

XeLaTeX や LuaLaTeX で Unicode できるかできないか(1)

…XeLaTeX や LuaLaTeX ではどうか。これらのエンジンは(TFM やら VF やら CMap やらを介すること無く)物理フォント(OpenType フォント)に Unicode で直接アクセスできることを特徴とする。だから「実際に使っているフォントが字形を持ってさえいれば」出力できる。 何もしないとアレ 素晴らしい。では早速やってみよう。 % 文字コードは UTF-8 \documentclass[a4paper]{article} \begin{document…

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…