マクロツイーター

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

LuaLaTeX の検索結果:

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

…もよくご存知の通り、LuaLaTeXでは「Windwosをシャットダウンする文書」が作成できます。これはLuaコードを通じて(C言語をコンパイルして生成した)マシン語のプログラムが実行できることを利用しています。 ところで、以前のネタで紹介した通り、PandocではLuaでフィルターを実装することができます。となると、マークダウンという不思議な形式の文書でWindowsをシャットダウンしてみたくなるのは当然の帰結でしょう。 どうもPandocでWindowsをシャットダウンで…

Pandocで(u)pLaTeXしてみる話

…X、XeLaTeX、LuaLaTeXに限られている。しかし、Latexmkが使えるようになったということは、これを利用して「(u)pLaTeX+dvipdfmxでPDFを生成する」ことができるはずである。 PandocでLatexmkしてみる とりあえず、簡単な英語のMarkdown文書を用意して試してみる。 [test1.md] # Welcome! Hello, Pandoc *chaos*! これを--pdf-engine=latexmk付のpandocで変換する。 ※…

TeX Liveで令和してみる話

…力結果 令和! % LuaLaTeX文書; UTF-8 \documentclass[a4paper]{ltjsarticle} \和暦 \title{しあわせ{\TeX}言語入門} \author{非ZR氏} \begin{document} \maketitle % 中身はまだ無い。 \end{document} ltjsarticleな出力結果 令和! % LuaLaTeX文書; UTF-8 \documentclass[lualatex,ja=standard,a4p…

TeXで昭和してみるテスト

…qクラスの場合 % LuaLaTeX文書; UTF-8 \documentclass[paper=a4]{jlreq} \和暦 \title{できる! ネ申Multiplan活用術} \author{非ZR氏} \begin{document} \maketitle % 中身はまだ無い。 \end{document} jlreqな出力結果 昭和! jsclassesのクラスの場合 % pLaTeX文書; UTF-8 \documentclass[a4paper]{jsarti…

TeXで令和してみるテスト(1)

…qクラスの場合 % LuaLaTeX文書; UTF-8 \documentclass[paper=a4]{jlreq} \和暦 \title{しあわせ{\TeX}言語入門} \author{非ZR氏} \begin{document} \maketitle % 中身はまだ無い。 \end{document} jlreqな出力結果 令和! jsclassesのクラスの場合 % pLaTeX文書; UTF-8 \documentclass[uplatex,a4paper]{jsa…

例の「verb の呪い」を LuaTeX の力で打破する(bxrawstr パッケージ)

TeX

…ようになります。% LuaLaTeX文書; UTF-8 \documentclass[a4paper]{ltjsarticle} \usepackage{bxrawstr} \rawstrenable % これ以降 [[|...|]] が"生文字列"になる \begin{document} % 全て非特殊文字として扱われ, 現在のフォントで出力される. 環境変数[[|%USERPROFILE%|]]の値が参照される。 \end{document} bxrawstr パッケージ…

TeX でイオニア式記数法(1)

TeX

…で XeLaTeX・LuaLaTeX を前提にする。Unicode 文字トークンを扱うこと以外は e-TeX 拡張の範囲に留める。 準備 ユニークトークン ユニークトークンとは、「それ自身と \let で複写したもの以外の、他のいかなるトークンとも意味((「意味(meaning)」は TeX 言語の用語であることに注意。「意味」が同じであるかを判定するのが \ifx である。))が等価になる(つまり \ifx-等価になる)ことがない」ようなトークン((\def\CSa{\CS…

去年のアレ(非常に)を振り返ってみる

TeX

…2/14p_typoLuaLaTeXで貂明朝 12/15_MadChemiker_LaTeXでつくる注釈・補足情報の入った図 (の入った文書) 12/16keisuke495500JupyTeX(LaTeX版Jupyter)を作った 12/17uwabamiDebian 9.x (Stretch) での TeX 環境 12/18munepiインストーラープロファイルを用いてTeX Liveをインストールしよう 12/19doraTeX“TeXでつくる”小ネタ集 12/20do…

今年も非常に TeX で Advent Calendar する件について

TeX

…す。 LuaTeX/LuaLaTeX に関する知見を広めていきましょう。 LuaTeX がもっと普及すべきだと思っている皆さん、その理想の実現に必要なのはあなたの書く貴重な記事です。TeX 界隈の人々に「LuaTeX を使ってみよう」と思わせるような、そんな素敵な記事を書いてみましょう。 例によって「重点テーマ」は「制限」ではありません。 (前略)……以下の何れかテーマに該当する何かを書きます。 「とにかく Lua(La)TeX しよう」に非常に関連する TeX/LaTeX …

そういえば ZXjafont が新しくなった(v0.4)

…る。この指定方法は LuaLaTeX でも全く同じ((LuaLaTeX では ... の部分のオプションが luatexja-preset に渡される。))であるため、エンジンオプションさえ lualatex に変えれば以下の例は LuaLaTeX でも通用する。% XeLaTeX文書; UTF-8 \documentclass[xelatex,ja=standard,a4paper, jafont=sourcehan,japaram={font={jis2004}}]{bx…

LuaLaTeX で和文しない速さを調べてみた

…いうわけで、欧文の LuaLaTeX のコンパイル速度について、簡単に調べてみることにする。 実験してみた Compilation speed: pdfLaTeX vs LuaLaTeX (Gist:zr-tex8r) 実験方法 テスト用文書として「世界人権宣言(UDHR)の英語の全文を 50 回記したもの」(udhrmain.tex)を使う。レターサイズで 313 ページ。 Windows 10 + TeX Live 2018 の環境において、pdfLaTeX と LuaL…

TeX Live 2018 で日本語ファイル名するとアレ(1)

…バイト列に戻る。ロケールが UTF-8 であるため、結果的に、OS が探すファイル名の文字列は期待通り「アレ」になる。 (続くはず) *1:XeLaTeX・LuaLaTeX は当初から UTF-8 専用なので「UTF-8 既定化」の対象にならない。 *2:「UTF-8 既定化」は LaTeX の方針なので、plain TeX は無関係である。 *3:正確にいうと、「コマンドラインの文字列を SJIS(CP932)でエンコードしたバイト列が argv に与えられる」ということ。

新しい bxtexlogo の話(v0.4)

…こりやすい。*1% LuaLaTeX; UTF-8 \documentclass[lualatex,js=standard,a4paper]{bxjsarticle} \usepackage{luatexja-fontspec,xcolor} % みんなだいすき創英角ポップ体 \setmainjfont{HGSSoeikakupoptai} \setmainfont{HGSSoeikakupoptai} \pagecolor{cyan!10!white} \usepack…

BXjscls の新しいやつ(v1.7c)

…pLaTeX でも LuaLaTeX でも源ノ書体する話(jafont の“括弧付き指定”) 例えば、「Source Han の OTC 版」のフォントを使うことを BXJS クラスで指定したい場合、もしエンジンが upLaTeX であれば、pxchfon パッケージでのプリセット名は sourcehan-otc なので、クラス宣言は次のようになる。% upLaTeX \documentclass[uplatex,dvipdfmx,ja=standard,jafont=sou…

LaTeX 文書のページ番号を“ゆきだるま化”したい話

…をそのまま入力する。LuaLaTeX/XeLaTeX/upLaTeX 以外では utf8 入力エンコーディング(inputenc)の指定を前提とする。((つまり、\scternoidal{1} は“☃”を UTF-8 で直接ソースに書いたのと同等になる。もちろん、それで所望の文字が“出力”されるかは各種設定に依存する。)) scternoidal パッケージは以下の機能を提供する。 \scternoidalof{<整数>} :[頑強命令] 指定の整数を“☃的変態 3 進法”で…

LuaLaTeX で例の文部省唱歌をアレしてみた

…では某 ZR 氏が LuaLaTeX がスゴイと盛んに吹聴していました。なので、LuaLaTeX でつくってみました。 song.tex (Gist:zr-tex8r) 今年も残りわずかですが、TeX でつくるスバラシイ☃︎文部省唱歌の組版をお楽しみください。 * * * ZR「アッ、この文書は Windows 専用です。あしからず」 *「えっナンデ?」 ZR「システムプログラミングの都合です」 *「えっえっ意味がわからない」 ZR「というわけで、皆さん、来年も当ブログをよろ…

新しい bxjscls の話をもうチョット

…されるようにする。 LuaLaTeX では有効に“固定”する、すなわち、unicode=ttue を指定し、その後で unicode=false が指定されても無視されるようにする。 オプションの“固定”はかなり強引な方策であるが、これは本来は「Pandoc の標準テンプレートを無事に通す」という特殊な目的のものであった。ところが今ではその目的のための「Pandoc モード」が存在する。従って新版では、unicode オプションの“固定”は Pandoc モード以外では一切行…

単独の Unicode 文字を命令として扱う(newunicodechar パッケージ)

…TeX ――つまり、LuaLaTeX/XeLaTeX、および utf8 入力エンコーディングを有効化した欧文 (pdf)LaTeX――において、ASCII 外の Unicode 文字はそのまま“その文字の入力”の意味になる。すなわち、“状況が許せば”現在のフォントでその文字が出力される。 例えば、“☃”を書くと“☃”が出力される。当然である。 % LuaLaTeX/XeLaTeX 文書; 文字コードはUTF-8 \documentclass[a4paper]{article}…

新しい pxjahyper でもっと日本語 PDF 情報する話

…く実現できる。 % LuaLaTeX文書, UTF-8 \documentclass[a4paper]{ltjsarticle} % hyperref設定 (当然pxjahyperは無し) \usepackage[unicode,colorlinks,pdfusetitle]{hyperref} % 文書情報 \hypersetup{% \title,\author の内容を利用 pdfsubject={ゆきだるま☃}, pdfkeywords={ゆきだるま,☃,ナントカ,b…

pTeX-ng エンジンで jsclasses したい話

…で、XeLaTeX/LuaLaTeX(およびこの記事のトピックである platex-ng)は UTF-8 のファイルしか受け付けないので全エンジン共通にはできない、という欠点もある。 *2:「pTeX-ng(ApTeX)上の pLaTeX」のこと。取りあえずコマンド名で呼称しておく。 *3:[TeX 言語者向け解説] ちなみに dvipdfmx:config special によるサイズ指定は pTeX-ng では効かない。これは papersize special が効かな…

BXjscls の新しいやつ(v1.6)

…stract 環境の用途が異なる。 2.両面印刷用出力(twoside オプション)の際に、titlepage 環境開始時の改ページの挙動が異なる。 もし、これらの事項について、1.5d 版以前の仕様を維持したい場合は、オプションに「layout=v1」を指定してほしい。\documentclass[lualatex,ja=standard,layout=v1,a4paper]{bxjsreport} その他諸々 •jsclasses の 2017/09/03 版と同期した。

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

…LateX6.54 LuaLaTeX7.68 まとめ LuaLaTeX は pLaTeX/upLaTeX に比べると 2〜2.5 倍くらい遅い。昔は「20 倍くらい遅い」という状態だったので、それと比べると大幅に高速化が行われていることが判る。 おまけ:“重い”パッケージを使った場合 少々画期的な要素(ゆきだるま⛄が回転している、等)を含めるために“重い”パッケージ(TikZ や expl3 等)を読み込む場合は、LuaLaTeX と pLaTeX の所要時間の差が小さくなる…

BXjscls の新しいやつ(v1.5c)

…の文書クラス指定の LuaLaTeX 文書の和文フォントも小塚フォントになる。% LuaLaTeX文書 \documentclass[lualatex,a4paper,ja=standard,jafont=auto]{bxjsartible} updmap の仕様拡張への対応 前述の記事の解説にある通り、jafont=auto の処理では「現在設定されている updmap パラメタ kanjiEmbed の値」を読み取っている。 ところが、2017 年 1 月の「jfontm…

pxrubrica のもっと新しいやつ(v1.3)

…1.1 版において LuaLaTeX と XeLaTeX もサポートされるようになった。一方で、pdfLaTeX(+ CJK パッケージ)をサポートすることについては困難な技術的問題がある。ルビ命令の実装においては随所で「文字列を文字ごとに分解する」という処理が用いられる。ところが、pdfLaTeX では「TeX 言語レベルでの非 ASCII 文字のサポートがない」ため、この処理の実現が困難なのである。 しかし、様々な理由により、「機能が全く使えない」よりも「“まとも”でない…

PXrubrica の新しいやつ(v1.1)

…場合もあるだろう。 LuaLaTeX・XeLaTeX できるようになった これまで pxrubrica は(少なくとも公式には)pLaTeX と upLaTeX のみをサポートしていたが、新版では LuaLaTeX・XeLaTeX もサポートされる。特に、LuaLaTeX + LuaTeX-ja および XeLaTeX + xeCJK の環境では、全ての機能が利用できるはずである。*2 % XeLaTeX文書, 文字コードはUTF-8 \documentclass[xelat…

BXjscls の新しいやつ(v1.4)

…次の BXJS + LuaLaTeX での組版の結果と比較してほしい。 なお、LuaTeX-ja パッケージはそれ自身が和文数式ファミリの設定を行うので、LuaTeX-ja が使われている限りは数式中の和文文字は常に使える状態にある。従って、旧版の BXJS クラスでももちろん使える。無効化はできないので、disablejfam オプションはサポートされない(指定すると警告が出て無視される)。 BXJS クラス + XeLaTeX で和文の数式ができるようになった話 エンジン…

LaTeX で 1TeX なロゴをする話

…ポートしている。% LuaLaTeX 文書; UTF-8 \documentclass[a4paper]{ltjsarticle} \usepackage{bxtexlogo} \bxtexlogoimport{*,OneTeX}% メジャーなやつと1TeXだけ \begin{document} {\upLaTeX}と{\OneTeX}をよく使っています。 この文書は{\LuaLaTeX}だけど。 \end{document} イタリックする場合 イタリックのフォントが指定さ…

BXjscls の新しいやつ(v1.3)

…mentclass[lualatex,a4paper,ja=standard,layout=v1]{bxjsbook} layout オプション layout=v2 (既定): jsbook クラスと同様のページレイアウトを用いる。新版ではこちらが既定になる。 layout=v1 : bxjsbook 1.2a 版以前のページレイアウトを用いる。 jslogo オプション指定で jslogo パッケージが読み込まれる 本家の jsclasses のクラス(JS クラス)では …

TeX で TTC フォントする件に関する素朴な疑問

TeX

… [XeLaTeX/LuaLaTeX + fontspec]% XeLaTeX/LuaLaTeX 文書 \documentclass{article} \usepackage{fontspec} % fontspecは基本的に自動判定になる \newfontfamily{\fTestA}{ipam.ttf} % ファイル名 \newfontfamily{\fTestB}{IPAMincho} % フォント名 ところが、複数のフォントが一つのファイルに収められている TrueT…

BXjscls の新しいやつ(v1.2)

…x になる。しかし、LuaLaTeX でコンパイルした場合は、dvi=dvipdfmx は無視されてドライバ指定は luatex となる。((ここで dvi=dvipdfmx の代わりに dvipdfmx を指定してしまうと、LuaLaTeX でコンパイルした場合に「ドライバ指定がおかしい!」と怒られる。)) この dvi オプションは以前に存在した「dvipdfmx-if-dvi」を他のドライバにも適用できるように一般化したものである。((今のところ、dvipdfmx-if…