マクロツイーター

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

2012-09-01から1ヶ月間の記事一覧

TeX芸人実力判定問題、その2(解答)

例の \en の問題の解答。 e-TeX 拡張エンジン上の plain TeX または LaTeX において、以下の要件を満たすように制御綴 \en を定義せよ。 \en は (La)TeX の寸法指定における「単位」の位置に書くことができる。 そして、「現在の 0.5em」の長さを表す。すな…

ギリシャ文字もラテン文字も数字も、でも時々、CM Bright をつかってみた

今回は、ある環境中のギリシャ文字のみを Computer Modern Bright のそれらに置き換えるので、以下のように cmbr を接頭辞を付加した cmbrletters という名前で、Computer Modern Bright の数式イタリックを場当たり的に定義しておいて、その環境中で \alpha…

TeX芸人実力判定問題、その3(改訂版)

元の問題は e-TeX 拡張を使うと「抜け道」ができるので、汎用的な場合に変えてみた。 LaTeX(ToL)で、以下の要件を満たす命令 \makecounterprinter を実装せよ。 \makecounterprinter\制御綴A\制御綴B は \制御綴A を以下のようなカウンタ値出力命令として…

TeX芸人実力判定問題、その3

これが解けたら TeX 芸人 5 級相当。*1 LaTeX(ToL)で、以下の要件を満たす命令 \NabeAzzLike を実装せよ。 \NabeAzzLike は \arabic や \Alph 等と同じくカウンタ値出力命令である。 \NabeAzzLike{<LaTeXカウンタ名>} は当該のカウンタの値を 10 進表記で出力するが、値が 3</latexカウンタ名>…

TeX芸人実力判定問題、その2

これが解けたら TeX 芸人 2 級相当! e-TeX 拡張エンジン上の plain TeX または LaTeX において、以下の要件を満たすように制御綴 \en を定義せよ。 \en は (La)TeX の寸法指定における「単位」の位置に書くことができる。 そして、「現在の 0.5em」の長さを…

Babel な話:LGR を普通のエンコーディングにする話(lgrx パッケージ) (5)

TeX

textalpha パッケージ このパッケージが行うことは、「\textalpha 等のギリシャ文字の文字命令の既定を LGR に設定する」ことである。つまり、現在エンコーディングが LGR 以外である場合((正確に言うと \textalpha をサポートしないエンコーディングである…

Babel な話:LGR を普通のエンコーディングにする話(lgrx パッケージ) (4)

TeX

LGR エンコーディングを utf8 入力エンコーディングで使用する 従来は、LaTeX 標準の UTF-8 用入力エンコーディングである utf8 は LGR エンコーディングには対応してなくて、UTF-8 での直接入力を行うためには ucs パッケージ*1が提供する utf8x 入力エンコ…

TeX芸人実力判定問題

これが解けたら TeX 芸人二段相当!*1 plain TeX または LaTeX(ToL)で、以下の条件を満たすマクロ \length を実装せよ。 \length{<引数>} を完全展開すると引数のトークン列に含まれるトークン(制御綴も文字トークンも全て)の個数だけ *(カテゴリコード…

Babel な話:LGR を普通のエンコーディングにする話(lgrx パッケージ) (3)

TeX

“LGRx”で定義される文字命令の一覧 基本的な文字の命令名は、例えば〈α〉なら小文字が \textalpha、大文字が \textAlpha である(文字の名前の綴りは数式ギリシャ文字と同じ;〈ο〉は omicron)。その他のものを表に示す。 命令文字UCS補足 \textsigmaσ03C3…

Babel な話:LGR を普通のエンコーディングにする話(lgrx パッケージ) (2)

TeX

あるいは:「Babel を使わずに(テキストの)ギリシャ文字を出力する話」。 “LGRx”フォントエンコーディング Babel 無しで LGR エンコーディングのフォントを利用するための特別なフォントエンコーディングである。(もちろん Babel との併用も可能。)フォ…

Babel な話:LGR を普通のエンコーディングにする話(lgrx パッケージ) (1)

TeX

例の「付録」で述べられているように、Babel のギリシャ語処理で用いられるフォントエンコーディングは LGR という名前が付けられている。このようにエンコーディングが L から始まる名前を持つことは、それがある特定のパッケージの内部に限定して(local …

xeCJK の便利かもしれない機能の話

xeCJK 3.x 版に対応した ZXjatype(0.6 版)を正式にリリースしました。ZXjatype (github)当然であるが、ZXjatype は xeCJK に「日本語用の設定」を加えたものであるから、xeCJK の高度な機能を知ることは ZXjatype を使う上でも有用である。ここでは、「…

Babel な話:ドイツ語の引用符ではない何か (2)

TeX

前回の話の続き。次の中に入力法として「誤り」のものはどれかということだった。 (2) ,,Deutsch`` → „Deutsch“ (4) ,Deutsch` → ‚Deutsch‘ (7) >>Deutsch<< → »Deutsch« これらはどれも所謂「リガチャによる特殊文字入力」の例になっている。LaTeX の主要な…

Babel な話:ドイツ語の引用符でない何か (1)

TeX

「グダグダ(3)」の記事において、「例の付録」の「ドイツ語入力法」の表の中に不適切なものがあると指摘した。ここで改めて出題してみる。 以下に示す各種のドイツ語用の引用符の「LaTeX + Babel のドイツ語([n]german)」での入力の方法として誤っている…

Babel な話: hyphsubst パッケージ (2)

TeX

ここでは、hyphsubst パッケージの使用例として、ギリシャ語の分綴パターンの選択の問題を取り上げる。問題TeX Live 2012(および最近の W32TeX)の language.dat では、ギリシャ語の分綴パターンの設定は以下のようになっている。 ancientgreek loadhyph-gr…

Babel な話: hyphsubst パッケージ (1)

TeX

この記事では、「分綴パターンの選択」に関する多くの問題の解決に有用な hyphsubst パッケージを紹介する。ただ、このパッケージを使って実際に「問題を解決する」には、TeX/Babel での分綴パターンの取扱についての知識が必要であるので、まずその解説か…

Babel な話:type1ec パッケージの 10pt オプションがアレな件

TeX

美文書第 5 版の 360 ページ(I.3 節)で type1ec パッケージが紹介されているが、そこの読込例に 10pt というオプションが付けられている。\usepackage[10pt]{type1ec} しかし、このオプションは最近の環境では不要なことがほとんどである。これについて解…

美文書付録Iについて思うことをグダグダ書き連ねるシリーズ (7)

TeX

3 節、第 2 小節 (368ページ) 欧文・和文混在文書で日本語の目次タイトルや…… Babel では、基底言語が変更された時(初回に設定する場合も含む)に、キャプション文字列を言語定義ファイルに指定されたものに変更するという処理を行う。これは Babel の重…

美文書付録Iについて思うことをグダグダ書き連ねるシリーズ (6)

TeX

3 節、第 1 小節 (367ページ) ……これを $TEXMF 以下に展開(解凍)します。 「$TEXMF」については是非とも B.3 節を参照してほしい。 ロシア語のハイフネーションファイルは ruhyphen.tex です。…… TeX Live 2012 *1や最近の W32TeX では分綴パターンファ…

Babel な話:ロシア語してウクライナ語すると結局 \Asbuk がアレな件

TeX

Babel のロシア語(russian)およびウクライナ語(ukrainian)オプションでは、\Asbuk/\asbuk でカウンタを「各々の言語での」キリル文字の序列で出力することができる。(これは OT2 エンコーディングでも特に問題が起こらない。) さて、Babel でロシア語…

Babel な話:OT2 でロシア語すると \Alph がアレな件

TeX

「美文書」の Babel の話に色々とツッコミを入れるついでに、Babel なネタをいくつか紹介しておく。 * * *既に安田さんが指摘しているように、OT2 エンコーディングを使用していると、\Alph{}、\alph によるカウンタ表示のラテン文字が ASCII 翻字を施した結…

暗黙的な波括弧は波括弧か波括弧でないか (4)

TeX

(前回から大分時間が過ぎてしまったが、「暗黙的な波括弧は波括弧か波括弧でないか (3)」の続き。) 問題になっているのは、「明示的な波括弧」(つまりカテゴリコード 1/2 の { や })をマクロの本体部に含める場合には常に括弧の対応が取れている必要が…