マクロツイーター

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

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

TeX でマンデルブロ集合する件について

TeX

まあ、やろうと思い始めた以上は、片付けないといけないんでしょうね。 TeX の(寸法値を用いた)実数演算は固定小数点で小数部が 16 ビットの精度しかないが、結果の図に目に見える違いは現れなかった。計算時間も 2 分程度で問題なし。 一番苦労したのは、…

某「集い」ひとり前夜祭

TeX

素敵な \expandafter に巡り会えますように!Happy \expandafter \expandafter\expandafter\expandafter{}\def\expandafTer% #1#2#3#4#5#6#7{#4#5##1##2##3##4##5{##2##3##4##5##1}#4#2##1##2{#4##1####1{##2}}% #4#3##1##2##3##4##5{##5##1##2##3##4}#4#1##…

TeX Live での(DVIウェア側の)用紙サイズの既定をA4にしたい

TeX

導入 LaTeX の用紙サイズの扱いは(歴史的な理由で)ややこしいということは、LaTeX をある程度使い続けている人なら知っている(はずの)事実である。すなわち、 LaTeX が文書のレイアウトを決めるために用いる用紙サイズ DVI ウェアが実際に(紙、PS 文書…

てふてふの大群がとんでゐます

TeX

バタバタバタバタバタバタ……*1 エンジン・フォーマット・コマンドの対応についての現在の状況。 [世界中で知られているエンジン] フォーマット \ エンジンLuaTeXpdfTeXXeTeXAlephTeX LaTeXPDF 出力LuaLaTeXlualatexpdfLaTeXpdflatexXeLaTeXxelatex―― DVI …

エンコーディング定義の改変はやっぱりアレな感じ (1)

先日、kerkis パッケージの中身を調べていたら、次のように、OT1 エンコーディングの定義を改変するコードを見つけた。 \DeclareTextSymbol{\textperthousand}{OT1}{137} \DeclareTextSymbol{\textsterling}{OT1}{163} \DeclareTextSymbol{\L}{OT1}{6} \Decl…

TeX の行分割の規則が和文絡みでアレな例

TeX

欧文 TeX での行分割処理において、分割可能な個所は「破棄可能物(discardable item;グル―・カーン・ペナルティの総称)」*1またはディスクレショナリ(discretionary)の位置に限られ、*2その他の位置で分割されることはない。それでは pTeX 系の和文文字…

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

pTeX で \showbox すると和文間空白がアレ

TeX

TeX で複雑な組版を行うマクロの動作確認をする時に欠かせないのが \showbox であるが、和文が絡む場合は注意すべき点がある。それについての話。 確認:\showbox の使い方 本題に入る前に、まず \showbox の使い方を復習しよう。機能の説明は非常に単純で、…

手書きの「クラインの壺」をTikZコード化する件について

TeX

参考: diagrams - Making a labeled Klein bottle using TikZ or pgfplots? - TeX - LaTeX: えっ!?手書きの「クラインの壺(つぼ)」をTikZコード化!? ― いわにぃのブログ できたーーー!!\documentclass[a4paper]{article} \usepackage{tikz} \begin{…

和文を箱に詰め込む、別の話

前回に続いて、和文の調整絡みで混乱する例の話。 次の例は非標準的な濁点付き仮名の出力を、単独の濁点文字〈゛〉(1区11点;U+309B)を位置調整して出力することで実現しようとした例である。(以下、水平モードでの実行を仮定する。)\hbox to 1zw{イ゛}…

和文処理のグルーに関するある誤解

TeX

pTeX では和文組版に関する処理を行うために文字間にグルーを挿入している。このグルーの挿入の規則の詳細については非常に複雑で理解困難であるため、それに関する誤解をよく見かける。ここでは和文を \hbox に入れる処理に関する間違いを紹介する。次のコ…

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

これが解けたら TeX 芸人 3 級相当。 plain TeX または LaTeX(ToL) において以下の要件を満たすマクロ \letargswapped を実装せよ。 \macroA を2つの区切り無し引数を取るマクロとする。この時、\let\argswapped\macroB\macroA を実行すると、\macroB も2…

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

脆弱・頑強の説明が済んだところで、改めて芸人問題の正解の話。*1 LaTeX(ToL)で、以下の要件を満たす命令 \makecounterprinter を実装せよ。 \makecounterprinter\制御綴A\制御綴B は \制御綴A を以下のようなカウンタ値出力命令として定義する。 \制御綴…

頑強とか脆弱とか完全展開可能とか

TeX

定義をまとめてみた。 (トークンが)展開可能(expandable) そのトークンが実行対象になった場合に、直接実行されるのでなく、一旦他のトークン列に置き換えられる(「展開される」)こと。展開の際に後続のトークンを含めて置換対象になることがある。例…

もう脆弱性なんて怖くない(※ただしLaTeXの意味で)(4)

TeX

(前回の続き) 補足1: 普通に実行される時 「保護」の機構は飽くまで「保護付完全展開」の時に意味をもつものなので、「普通に実行される時」、すなわち展開限定でない文脈ではマクロの動作に影響を与えない設計になっている。すなわち、展開限定文脈外では…

もう脆弱性なんて怖くない(※ただしLaTeXの意味で)(3)

TeX

(前回の続き) 保護しても頑強にならないという罠 それでは話を \NabeAzzLike に戻そう。問題で求められているのは「\NabeAzzLike を頑強にすること」である。すると、最も単純な解決方法は、そのマクロを「生来的に保護付」にする、つまり \DeclareRobustC…

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

これが解けたら TeX 芸人 3 級相当。 plain TeX において、以下の仕様を満たすマクロ \numtohex を実装せよ。 \numtohex{<整数>} を実行すると、\result が「引数の整数を『2 桁の大文字 16 進数』((printf の書式で著すと %02X。))で表記した文字列(トーク…

dvipdfmx で preview パッケージする件について

TeX

LaTeX のコードで書かれた図や数式*1から「タイトな」―すなわち図のある領域のみからなり無駄な余白のない―画像ファイルを作成する方法の一つとして preview パッケージを使うというものがある。 preview パッケージの概要 [test.tex]\documentclass{article…

もう脆弱性なんて怖くない(※ただしLaTeXの意味で)(2)

TeX

(前回の続き) 「保護付」の完全展開 特別な措置とは、具体的には次のようなものである。 完全展開する際に、「保護(protect)」されたトークンは展開されない。 このような展開のことを「保護付き完全展開(protected full expansion)」と呼ぶことにする…

もう脆弱性なんて怖くない(※ただしLaTeXの意味で)(1)

TeX

LaTeX において、ユーザからの自由なテキスト(LaTeX の命令を含みうる)の入力を受け付ける(ToL の)マクロを実装しようとすると、「脆弱(fragile)」なマクロの取扱に関する知識が必要な場合がある。カウンタ出力命令を作る芸人実力判定問題の核心部分の…