白屋書房Blog

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

約物問題の最終解決

 ZRさんが……ZRさんがもんのすごいミニパッケージを書かれました……!

LaTeX: 和文を欧文扱いして和文扱いする件 · GitHub

 これがあれば約物関連は基本何もしなくてもOKです。書いたまんま見たまんまで出力されます。余計なコマンドを打ったり不自然にベースラインをいじることもありません。夢のようだ!最後の最後でハマった三点リーダーのトラップともおさらばだ!
(間を繋げるためにダッシュを欧文扱いにすると、同じブロックに所属する三点リーダーまで欧文扱いになって左端に表示されてしまうというマヌケな手落ちがあった)

 使い方は簡単、上のリンクから飛んだ先のgistのページで「Download ZIP」ボタンを押し、ダウンロード・解凍ののち、.styのファイルを自分が組版したい文書と同じフォルダに入れ、いつもと同じように\usepackage{zrjapunct1}をプリアンブルで宣言するだけです。
 TeX Liveに含まれていない新しいパッケージや自作パッケージは、こうして同じフォルダ(ディレクトリ)に入れてusepackageするのが一番シンプルなやり方です。

 このパッケージの中身を噛み砕いて説明できるほど筆者の技術力は高くないんですが、原理としてはGeneral Punctuationを一旦全部欧文扱いにし、三点リーダーや米印など和文に戻したいものは個別に戻し、戻すだけでは解決しないダッシュやなどにトリックを凝らす、という構造のようです。
 なのでプリアンブルにおいて、\cjkcategory{}指定の中にsym04(General Punctuation)を入れないでください。このパッケージはベースがprefernoncjkモードでもprefercjkvarモードでも使えますが、せっかくパッケージが裏側で担ってくれているsym04をを明示的に自分の方で指定してしまうのは避けましょう。

 さてどんなふうに本記事に入れ込もうかな。Hugoにおける各記事のweight設定が甘かったから、もしかすると約物以降全部数字ずらすことになるのか……?やっぱりちゃんと考えながら書いたほうがいいですねorz

 あとAdvent Calenderもどうしよう。当初はサイトから横書きにも使えそうなところをピックアップして「TeXでつくる可能な限りWYSIWYGな文書」的なのを書こうかなと思っていたんですが、よく考えると今までやってきたのは縦書きに適応させたいがための小細工なので、横書きでできる項目があんまりないんですね。縦中横とか二重感嘆符とかは概念そのものが要らないし、ダブルミニュートや括弧類も普通に書けば出る。うーんボツかな……ネタ探さないと、とか言ってるうちに今日が一日ですよ