マクロツイーター

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

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

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 の { や })をマクロの本体部に含める場合には常に括弧の対応が取れている必要が…

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

TeX

2 節、第 3 小節 (364ページ) 逆に、ラテンアルファベット表記言語環境において…… 要するに、\forignlanguage 命令は「入力言語」を切り替えるが、\textlatin や \textgreek 命令は言語を切り替えずに単にフォントエンコーディングのみを切り替えている。…

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

TeX

2 節、第 2 小節 (362ページ) キリル文字直接入力 文字通りキリル文字を…(略)…UTF-8 文字コードで記述すれば、…… 既に、356 ページで「Unicode での使用は I.4 節(370 ページ以下)の記述に譲り」と言っているので、ここでは参照だけ出して説明を省きた…

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

TeX

2 節、第 1 小節 (360ページ) [表I.1 英語・フランス語・ドイツ語入力法] 右側の「ドイツ語入力」の中で、一つだけ入力法として不適切なものがあることに是非とも注意されたい。(どれでしょう?) (361ページ) Babel では、ドイツ語旧正書法で処理し…

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

TeX

1 節、第 2 小節 (357ページ) 出力ファイルでは自動的に適切なアキが挿入されますが、…… 「出力ファイル」→「出力」。 (359ページ) Babel を使用するには、プリアンブル部分に\usepackage[OT2,T1]{fontenc} \usepackage[polutonikogreek,russian,english…

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

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…

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

TeX

(前回の続き) 前回は、環境の中身が「\hbox の波括弧の中」となるような環境(myfbox 環境)の定義を紹介した。これが可能だったのは、\hbox の波括弧は「暗黙的」である \bgroup...\egroup で代替が可能であったからである。ところが、もし環境の中身が「…

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

TeX

(前回の続き) 前回は、「暗黙的な波括弧」である \bgroup、\eggroup が「明示的な波括弧」である {、} の代替となるかならないかという話をした。しかし、この話が意味を持つためには、そもそも「暗黙的な波括弧で代替する」ことのメリットが存在すること…

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

TeX

TeX の文法において、波括弧 { } は様々な場面で使用される。((厳密にいうと、「{ および }」でなくて「カテゴリコード 1 および 2 の文字」であるが、ここではカテゴリコード 1(および 2)をもつ唯一の文字が {(})であるとする。)) \hbox{残念だな! こ…

出された問題を解決するまでが TeXCafe ですよ

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…

TeX ならどう書く? Offline

(真っ当な道を踏み外しているという意味で) 今年の LL イベントである「LL Decade」で、プログラミング課題の出題があったようだ。 「君ならどう書く Online」 ところが信じられないことに、ネットで調べた限りでは、TeX で解いた人が誰一人として見当たら…