白屋書房Blog

組版・縦書きサイト「白屋書房」のブログです

基盤編完成です!

 やっとのことで「本文の編集・基盤編」を、まとめまで上げられました!多分後から修正箇所がポロポロ出てくるでしょうが、とりあえずこれで一段落です!!

 いやあ長かった……特に和文/欧文扱いの切り替えが長かった。自前の小説を組んでた時は分からなかったけど、十蘭の特殊文体の穴にぼこぼこはまりまくりました。
 でも怪我の功名で、どうしてもコマンドなしで何とかしたかったダッシュに道が開けたのは嬉しかったです。
 TeXは普通のプログラミング言語でやるような自動検索&置換ができない、というかものすごく難しいので、そこに突っ込むか同じくらい危険らしいフォントメトリックの沼に突っ込むかという二者択一に戦々恐々としていたんですが、うまいこと単純な手で回避できてよかった。

 しかしこれでもまだ“最低限の日本語が組めるだけ”の段階なんですよね。駆け足で更新しちゃったので、初心者向けに充分噛み砕けていないところや、逆に詳しい人から見たらガタガタなところとかがあるかもしれません。少しでも分かりづらいところがあったらぜひフィードバックお願いします。

 という感じでむしろここからが本番なんですが、年内にレイアウト編まで行けるかどうかはちょっと未定です。
 というのも「TeXLaTeX Advent Calendar 2017」に参加申し込みをしてしまったからです。

adventar.org

 ZRさんが毎年やってらっしゃるイベントで、クリスマスまでのアドベントカレンダーを一日一日TeXの記事で埋めていくというステキな企画です。今年のテーマは『TeXでつくるアレ』。現時点での私の担当は11日です。

 毎年すごく高度な話がぼんぼん飛び交っているので私なんぞが今更披露できるネタはないんですが、枯れ木も山の賑わい、ちょっとでも面白いか役に立つ記事が書けたらなーと思います。

「約物」セクション追加

全角半角・タテヨコのくだりが終わったので縦書きにおける約物の制御に入りました。
とりあえず“引用符”と、感嘆符! や英単語 etc. に自動で入るグルーと、(括弧類)の扱い方までです。
あとはダッシュだけかな?――と言ってもこれが一番根が深いんだけどorz

アクセントつきアルファベットの扱い方に比べたら大して複雑でもない問題なのに何をそんなに苦渋しているのかというと、ひとえに私の執筆方針すなわち「原稿中におけるコマンドを可能な限り減らす」のせいです。
フォントによってダッシュの間が繋がらないことは旧知の問題で、そのための解決策もとっくに出ています。\―コマンドを繋がるように定義して、文中に出てくるダッシュの頭にすべて\をつければいいんでした。

やりたくない。

原稿中にコマンド書きたくないんだよ!今回の問題すべてマクロ定義で片付けたけど本当は嫌なんだよ! それでも二重感嘆符なんかはもともと縦中横にしなければならないことは分かっていて、他の二桁の数字とかと同じと思えばまだ許せました。
ところが何故かダッシュだけは許せないんです。こう――打ちたいんです。
私自身がかなりダッシュを多用する性質だからかもしれません。大体が感情が高ぶってたりタメが入ったりするところに使うものなのでバックスラッシュがついてると水を差されたように感じるのかも。

とはいえ自動縦中横や自動ダッシュ置換を行えるほど筆者の技術力は高くありません。正直感嘆符の直後にカギカッコがくる時のグルー禁止処理だけで死ぬかと思った。それもまだベータ版だし。なんで次の字すなわちトークンをどこにもうまいこと代入できないんだ。
あーどうやったら「TeXレベルの」マクロ力強くなるんだろう……私が原著当たってないのが悪いんだけど、それでもどこかに定義済み変数(というものがあるのかどうか知らんけど要は状態を取得できるインターフェース的な)のリストとかハンディなコマンド一覧とかがあればずいぶん普通のプログラミングに近くなって助かるのにorz

しばらくは書いて書いて書き続けてTeX思考力を養うしかなさそうです。頑張ろう。

激闘TeX:ギリシャ文字とキリル文字

 アクセントと特殊記号 (2)前回の投稿までで、西ヨーロッパ諸語はなんとかなりました。次はギリシャ語とロシア語をなんとかする番なんですが、今まで避けてきたフォントの話題に触れなければならないのでまあめんどくさかったです。とりあえず私なりの理解をしたためてみます。

続きを読む

激闘TeX:文字と記号のタテヨコ

 筆者はド素人ですが、ド素人なりにサイトのページには可能な限り分かりやすく、こうすればいいという結論を書くように心がけています。ですがもちろんそこに至るまでにものすごく迷走したり試行錯誤しています。
 失敗の繰り返しなのでサイトやQiitaみたいなところには上げられないし、ということで、自分用の備忘録として、そういうTeXとの死闘の記録や詳しい解説をここに書いていこうと思います。
(環境はすべてupLaTeX、ファイルの文字コードUTF-8です)

続きを読む

引っ越しました

恐ろしいことに最後の投稿から1年が経ってしまいましたが、また更新できそうなのでブログの方にも戻ってきました。
うかうかしてる間にTeX Liveの2017年版が出ちゃったりして愕然としています。

これまでサイトはTumblrで作っていたんですが、いろいろ無理があったのでGitHubの方にお引っ越ししました。
やっぱりソースコードを書いて表示するにはそれに合った適切な環境が必要だと痛感しました。単にMarkdown対応してるだけじゃやっぱりきついです。 そもそもこういう解説的なものを書いていくには、書いた順に記事が並んでいくブログというメディアは本質的に合わない。

https://hakuoku.github.io/agakuTeX/

構成を大幅に見直し、最初に基礎となるこちゃこちゃした文字と記号の制御をやってしまってからルビや文書構造などの大技に移行するようにしました。今のところまだアクセントつきアルファベットのあたりで、つまりはかなり最初の方です。
そもそもTumblrに上げてた情報が検証しなおしたら内容・文章ともにガタガタの間違いだらけで、大した需要もないサイトですが消え入りたくなりましたorz

サイトの構築には静的サイトジェネレーターの「Hugo」を使っています。とにかく速い!多少の知識(と英語力)は要るけど、シンプルでスピーディーでエレガントで大変おすすめです。
どちらかというとブログ的なテンプレートが多くて固定サイト用のテーマが見つからず、結局かなりの部分を自分で書くことになりました。今はつぎはぎクオリティだけど、いつか汎用化して誰でも使えるような固定サイトorドキュメンテーション用テンプレートに仕上げたいという遠大な夢があります。
コマンドラインからじゃなくてGUIでもっと手軽に使えるようになれば、ブログじゃなくて静的サイトが作りたい人の需要を満たせると思うんだけどどうだろう。シェルスクリプトにHTMLベースのガワをかぶせることは割りと簡単にできるみたいなので、そのへんも研究してみたいところです。

亀の歩みですが、少しでもお役に立てれば嬉しいです。