graham-onlispをonlispjaとしてw.o.に復活させ、ebookに適した体裁に仕立て上 げたときのメモ。

hyperref導入の影響

  • ダーシの\wadashが\ruleを含むせいか見出し中でエラーを起こすので、 okumacroのダーシで置き換え。

  • .istで、\ifcatでマクロ以外(数字を期待)の前にdotfillを置くというだら しない仕掛けをしていたら、ページ番号がhyperpageで包まれるようになって 動作しなくなった。\ifx\hyperpageにしてとりあえず回避。なお以前は \ifcatでの比較対象に両方とも\noexpandを前置する必要があったが、必要な くなった。謎。

  • ページの天に来る\sectionの直前に、前の段落の最終行が送られてきてしま う。\sectionの前(正確には\en{X.Y ...}の前)に\allowbreakを入れて回避。

  • しかし、\en{...}の前に\allowbreakを入れると、ページ半ばの\sectionの場 合、直前に余計な空きが入ってしまう(直前の要素との間に\enが割り込んで いるのでキャンセルに失敗する模様)。該当箇所で\allowbreakをコメントア ウトして回避。

  • 後注記号と後注との間にリンクを張った。後注側には\hypertargetでアンカー を設置。後注記号へのリンクが-1ページずれたので、後注記号側 (\marginpar内)の\labelの直前に\phantomsectionを置いて対処。

  • 和欧文間のアキが消える箇所がある。欧文斜体と和文の間らしい。行やペー ジに影響しないことを確認してママとする。

カバー・商標・奥付

  • titleは改ページしないよう自前で書く。そのうえで箱詰めして\rlapに包ん で幅0で描画。カバー表1は、左上のアキと同じだけの負のアキを置いて、左 上に描画。結果的にtitleは描画されるが隠される格好になる。今のところこ れで妥協。

雑感

  • hyperrefは最初から導入し、常にonにしておく。

  • 不要なアミや罫線は控える。読みやすいし制御しやすい。

  • 新規の企画で、複数の媒体で配布するつもりなら、マスターをXML等(または まともなXML類を生成できる何か)にしておくと選択肢が増える。

  • ebookを紙版と一致させようとする努力は、やりすぎると不毛。ライセンス販 売+PoDなどで、ebookでも紙版でも最新ソースからの生成物をお客に届けら れる体制を整えたほうが得策。

追記

販売開始された。