白屋書房Blog

組版・縦書きサイト「白屋書房」(https://hakuoku.github.io/agakuTeX/)のブログです

Disqus復旧しました!

 サイトのコメント機能であるDisqusの読み込みが復活しました!

 「あがきながら覚えるTeX」は静的サイトジェネレーターである「Hugo」を使って組んでいるんですが、これは独自のコメントシステムを持ちません(あくまで固定サイトやブログっぽい日記が作れるだけで、“静的”サイトジェネレーターという定義上動的なコメント欄は不可能)。

 それを補うために外部のコメントシステムであるDisqusを読み込んで使っているんですが、これが何故か先日の更新からうまく働いてくれませんでした。
 Disqusを呼び出す部分のコードはまったく変更していなかったので、これはHugoエンジン本体のバグか、それともDisqusの方で何か変更があったのか、後者だったらお手上げだ、と思いつつ恐る恐るエンジンを前のバージョンのものにダウングレードしました。
 ついでにこれまで使ってたlocalhostからのDisqus呼び出しを抑制する方法(これ)ではなく、デフォルトのインターナルテンプレートを使う方法(こっち)に切り替えると、あっさりまた読み込めるようになりました。

 多分Hugoのドキュメンテーションが古くなってるのかな?後者の方法でやってもlocalhostからの時はちゃんと自動で読み込みを抑制してくれたし、前者の方法はもう非推奨なのかも。

 というわけでお騒がせしました。今までのコメントもちゃんと移動済みなのでこれからは普通に使えます。ああよかった。

(よかったらどしどしコメントしてね!!)

「傍点・傍線」~「罫囲み」まで/Tips追加

 更新しました。「傍点・傍線」「太字・斜体」「文字サイズ」「罫囲み(枠をつける)」の4セクションと、新コーナー「TeX Tips」です。

 Tipsには、チュートリアル本編の流れには沿わないけど重要なポイントや、使える小技を投稿していこうと思います。
 とりあえず初回は「ちょっと楽なエスケープ」です。楽ではあるんですがカテゴリーコードの知識が出てくるので、本編の初っ端に出てくるエスケープの項には含めずに、こちらに投稿してみました。
 トップページおよびサイドメニューの目次の一番下から行けます。随時追加しますので覗いてみてください。
(本当はもっと目立たせたいんだけどHugoが言うことを聞かないorz)

 本編はとにかく罫囲みが大変でした……というかまだ未完といえば未完です。一応最低限の枠は引けるようになっているはずですが、最大の問題、「minipageはページをまたいで分割できない」が残っています。次ページや下段に1行でもかかるとminipageが丸ごと次のページに移動してしまいます。
 framedとminipageの挙動を合わせたような解決法は……やはり\hrule\vrule\vboxを駆使するしかないのだろうか……

 とまれ今回も皆様の助言に助けられました。多謝!

https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2393

激闘TeX:正規表現という名の沼

 正確にはTeXの話題ではないんですが、ルビ振りの時に迷った(今も迷ってる)ので書いておきます。他形式からの一括検索・置換について。

続きを読む

「カスタム字下げ・地寄せ」「ルビ」追加しました

 遅ればせながらあけましておめでとうございます。前年は皆様温かい助言や声援をありがとうございました。のんびり更新ですが本年もよろしくお願い申し上げます。

 2018年1発目の更新は待望のルビ編までです!以前不完全な形で公開したものを大幅に加筆修正して詳細さをUPしました。これを読めば理想のルビが振れるはずです、多分。

 いやー嬉しい。自分で待望のとか言っちゃうくらい嬉しい。というくらい俺はルビが好きなんだ。
 TeXでは昔から、furikanaパッケージかokumakuroパッケージを使えば普通にルビは振れました。ただ非常に不満だったのが、ルビを振った行の行間が他からがっつり空いてしまうことでした。

f:id:isaribisaitoh:20180122193719p:plain

 気にならない人は気にならないんでしょうが私は死ぬほど気になります。これを解決してくれる上さらに素晴らしい機能がたくさん盛り込まれているのが、例によってZRさんのpxrubricaパッケージです。ZRさん様々です。
 これだけでもWordを離れてTeXを使う価値があります。それくらい綺麗なので、サイトの記事を見て是非挑戦してみてください。

約物問題の最終解決

 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な文書」的なのを書こうかなと思っていたんですが、よく考えると今までやってきたのは縦書きに適応させたいがための小細工なので、横書きでできる項目があんまりないんですね。縦中横とか二重感嘆符とかは概念そのものが要らないし、ダブルミニュートや括弧類も普通に書けば出る。うーんボツかな……ネタ探さないと、とか言ってるうちに今日が一日ですよ

激闘TeX:rensujiのデフォルト

f:id:isaribisaitoh:20171123150309j:plain

 最初この問題に気づいてなかったんですが、グルーの項に入ったところで前後が空きすぎになっていると気がつきましたので直します。

続きを読む

基盤編完成です!

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

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

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

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

adventar.org

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

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