マクロツイーター

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

2018-01-01から1年間の記事一覧

暮れのご挨拶(非常に)的な何か

TeX

本年は当(くだらない)ブログをご愛好していただき、誠にありがとうございました。 来年も宜しくおねがいいたします。 * * * *「エッ! これだけ? 何でなんでナンデ!?」 ZR「まあ、平成最後の暮れのご挨拶だから仕方がないね」 *「ところで、はてなブ…

今年も(非常な意味で)Merry TeXmas! ― \end{texadvent2018}

TeX

☃ TeX & LaTeX Advent Calendar ☃ 2018/12/01 〜 2018/12/25 〜とにかくLua(La)TeXしよう〜 * * * アドベントカレンダー(某ZR氏的な意味で)完走 ^^`\let~^^`\catcode~`"~`~\let"^^`\count~`‌~`^~`​"~`‌~`‍~`^^"\let​​~^^` \let​‍ \let ​‍​‍‍\edef ​‍\expan…

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

TeX

これは「TeX & LaTeX Advent Caleandar 2018」の 22 日目の記事です。 (21 日目は tasusu さん でした。23 日目は munepi さん です。) 「verb の呪い」について語ってみる タイトルにある「verb の呪い」というのは、多くの LaTeX ユーザを悩ませるあの規…

SATySFi で文書作成が容易なクラスファイルを作成した(※ただし画期的)

これは「SATySFi Advent Caleandar 2018」の 18 日目の記事です。 (17 日目は matsud224 さん でした。19 日目は puripuri2100 さん です。) みなさん、サティスファイしていますか!? えっ、あんまり SATySFi していない? ナンデ? えっ、ぜひとも SATy…

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

TeX

先日の「TeX で数式を生成する 〜アッカーマン関数編〜」の記事に関して、ツイッタァーでこんな感想があった。 abenori 「特にその必要がないため、完全展開可能にはしない。」とかどうしちゃったんだろう?というわけで代わりに作ってみた.URL ツイートへ…

scSATySFi による Markdown 文書からの PDF 出力

もしかして: SATySFiによるMarkdown文書からのPDF出力 概要 scSATySFi には Markdown で書かれた文書を PDF へと組み上げて出力する機能が実装されています。2018 年 11 月 18 日にリリースされたバージョンである v0.8.28 において入った機能であり、単に …

TeX で数式を生成する 〜アッカーマン関数編〜

TeX

……いや、「SATySFi Advent Calendar 2018」(参加者募集中!)の記事「SATySFiで数式を生成する 〜アッカーマン関数編〜」を読んで、何となく作りたくなったので。 目標 TeX で以下の命令(マクロ)を実装する。 \Ack{<整数m>}{<整数n>}: アッカーマン関数 …

SATySFi のデモ文書をチョット素敵にする

これは「SATySFi Advent Caleandar 2018」の 3 日目の記事です。 (2 日目は hanachin さん でした。4 日目は na4zagin3 さん です。) 「The SATySFi book」の頒布(@技術書典)から、もうすぐ 2 ヶ月が経とうとしています。世の中(ツイッタァー)を見た…

非常にアドベントがはじまった ― \begin{texadvent2018}

TeX

☃︎ TeX & LaTeX Advent Calendar ☃︎ 2018/12/01 〜 2018/12/25 〜とにかくLua(La)TeXしよう〜 TeX & LaTeX アドベントカレンダー 2018 * * * TeX 界のおける年末の恒例イベントとなったかも知れないアドベントカレンダーが今年も始まりました。 重点テーマ …

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

TeX

[ステマ] ☃︎ TeX & LaTeX Advent Calendar ☃︎ 2018/12/01 〜 2018/12/25 〜とにかくLua(La)TeXしよう〜 参加者募集中!! TeX & LaTeX アドベントカレンダー 2018 * * * 昨年(2017 年)の「TeX & LaTeX Advent Calendar」はこんな感じでした。 12/01zr_tex…

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

TeX

やります!! TeX & LaTeX Advent Calendar 2018 TeX & LaTeX Advent Calendar 2018 とっておきの TeX/LaTeX ネタを皆で持ち寄って楽しむ 「TeX & LaTeX Advent Calendar」 今年で 7 回目の開催となります。 皆さんの、心をこめた非常に素敵なネタをお待…

pxchfon の unicode オプションについてもうチョット語ってみる

(u)pLaTeX + dvipdfmx のワークフローにおいて、何らかの和文文字について、 その文字は Unicode に入っているし、 今使っているフォントにも入っているはず なのに文字が“なぜか出力できない”、という奇妙な不具合に出会ったら、pxchfon の unicode オプシ…

unicode-math を完全に理解したい話(3)

(前回の続き) unicode-math の理論を完全に理解したい(続き) 入力における立体と斜体の自動補正 「立体と斜体の“非区別”」の小節で述べた通り、数式中のラテン小文字は普通は斜体が使われる。従って、従来の LaTeX 数式では x を入力すると「斜体の x」…

unicode-math を完全に理解したい話(2)

(前回の続き) unicode-math の理論を完全に理解したい 「数式英字(sym系)」と「テキスト数式英字(math系)」の分離 unicode-math では、「単文字と複数文字の区別」を斜体以外の数式書体にも適用する。単文字識別子用の文字を「数式英字(math alphabet)」と…

unicode-math を完全に理解したい話(1)

zr_tex8r 「unicode-math完全に理解した」の図#TeX #LuaTeX ツイートへのリンク unicode-math パッケージにおける数式フォントの扱いについて学習中なので、学習メモをてきとーに書き流しておく。 ※数式フォントの中でも、特に数式英字フォント(数字、ラテ…

TeX でデータ構造する場合のヤヤコシイ話(続き)

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…

TeX でデータ構造する場合のヤヤコシイ話

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.paren…

画期的な関数型組版言語を作ってみた(※ただし画期的)

夏! 酷暑! ゆきだるま☃︎! 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…

TeX 言語で goto してみる的なナニカ

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.paren…

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

もう随分昔のこと(2018 年 5 月)だけど。 CTAN Package: ZXjafont 0.4 版。 本記事では、この版の新機能について解説する。 ZXjafont って何 簡単にいうと、PXchfon とか luatexja-preset の機能にあるような「和文フォントのプリセット設定」を XeLaTeX +…

チョット arara してみた件

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.paren…

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

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.paren…

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

TeX Live 2018 において「入力エンコーディングの既定値を UTF-8 にする」という重要な変更が行われた(参考)。その副作用として、「LaTeX 起動時に、非 ASCII 文字を含む文書ファイル名を使うとエラーになる」という不具合が報告されている。 (不具合の例…

Windows の ANSI コードページを知りたい話(2)

(前回の続き) Perl で ANSI コードページを知りたい Win32 モジュールを使う Win32 モジュールは Win32 API の(比較的)単純なラッパーである関数群を提供するもの。use strict; use Win32; # ANSI コードページ print("ANSI cp = ", Win32::GetACP(), "\…

Windows の ANSI コードページを知りたい話(1)

問題の背景とか ANSI コードページについてテキトーに語る 基本的に、イマドキの Windows は文字列を(論理的には*1)「Unicode 文字の列」として扱う。Windows のフツーの GUI プログラムは Unicode 文字列を直接扱う。しかし、Windows 的にレガシーな「文…

Noto CJK のフォント名情報も理解したい話

一覧表 詳細は Source Han の時と同じ。 ※横幅を抑えるため、以下の表では「Noto」を「N.」と略記している。 実際のウェイト完全名ファミリ[組版的ファミリ]サブファミリ[組版的〜]PostScript 名 [Noto Serif CJK JP(非サブセット)] RegularN. Serif CJK J…

新しい BXjscls の話(v1.9)

TeX Live 2018 および W32TeX は既に更新されている。 Package BXjscls (CTAN) 1.9 版 近いうちに、メジャー改版となる 2.0 版のリリースを予定していて、今回の 1.9 版はそれに向けた準備が含まれる。 textwidth と textwidth-limit と \jsTextWidthLimit …

源ノアレのフォント名情報を理解したい話

源ノ明朝(Source Han Serif)・源ノ角ゴシック(Source Han Sans)のフォント名情報(name テーブルにあるやつ)についてチョット調べてみた。 一覧表 パターンを把握するという目的のため、以下のものに対象を絞る。 非サブセットの日本語版と簡体字中国語…

Windows な XeTeX で TEXMFLOCAL なフォント名する方法

TeX

オレ的メモ。(“真っ当な方法”が何なのかは不明。) 前提 TeX Live/Windows 上で XeTeX を使っている。 問題 通常は、XeTeX 上で「フォント名で(ファイル名ではなく)指定できるフォント」は、そのファイルが以下のディレクトリにあるものに限られる。*1 C:…

新しい bxtexlogo の話(v0.4)

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.paren…