プロジェクト

全般

プロフィール

縦書きTypst » 履歴 » バージョン 16

kanata, 2026/04/14 19:43

1 2 kanata
{{>toc}}
2
3 1 kanata
# 縦書きTypst
4 2 kanata
5
2026年4月11日より頒布しています!
6
7
[技術書展20](https://techbookfest.org/event/tbf20)で頒布する予定の技術同人誌です
8
9
# ご購入
10
11
## 技術書典から
12
13 11 kanata
{{rawhtml(<div class="iframely-embed"><div class="iframely-responsive" style="padding-bottom: 52.5%; padding-top: 120px;"><a href="https://techbookfest.org/product/k0LEpgzNvHPixwXXrmbegB" data-iframely-url="https://iframely.net/wjJ1XcXG?theme=dark"></a></div></div><script async src="https://iframely.net/embed.js"></script>)}}
14 2 kanata
15
## BOOTHから
16
17 12 kanata
{{rawhtml(<div class="iframely-embed"><div class="iframely-responsive" style="height: 140px; padding-bottom: 0;"><a href="https://booth.pm/ja/items/8064063" data-iframely-url="https://iframely.net/nbqMbrlz?card=small&theme=dark"></a></div></div><script async src="https://iframely.net/embed.js"></script>)}}
18 2 kanata
19 6 kanata
{{rawhtml(<!-- https://iframely.com/ -->)}}
20
21 2 kanata
# 内容
22
23 8 kanata
Typstは近年開発されたRust製の新しい組版ソフトウェアです。  
24
本書ではそのTypstを用いて、標準機能では対応していない縦書きに対応する方法、簡単に縦書きを実現する方法、関連機能やカスタマイズ方法を解説しています。  
25
また、提供テンプレートを使えば例えばどんなものが作れるのかサンプルを紹介しています。
26 2 kanata
27
## 紙面サンプル
28
29 10 kanata
{{thumbnail(表紙.png)}}{{thumbnail(01.png)}}{{thumbnail(03.png)}}{{thumbnail(04.png)}}{{thumbnail(08.png)}}{{thumbnail(19.png)}}{{thumbnail(29.png)}}{{thumbnail(36.png)}}
30 2 kanata
31
# テンプレートのダウンロード
32
33 3 kanata
[[Typst]]からダウンロードできます(リンク先の画面下にある「> ファイル」をクリックして tategaki_template.zip をダウンロードしてください)
34 2 kanata
35
# 正誤表
36
37
* 頒布後に見つけた(見つかった)ら
38
39
# 補足
40
41
# 関連情報
42 13 kanata
43 15 kanata
## 縦書きでTypstの標準機能の段組みを利用する方法
44 13 kanata
45
Typstが標準で用意している段組み機能を使うことで、段組の移り変わりで文字数を調整する必要がなくなります。
46
[Tomoya Tajika](https://x.com/tmytjk)さんが発案したアイデアを紹介してくださっています。
47
48
{{rawhtml(<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">この本の真似をしてTypstの縦書きをやってみました.<a href="https://t.co/8Dngs004y5">https://t.co/8Dngs004y5</a> <a href="https://t.co/Dkr7fHw0PU">pic.twitter.com/Dkr7fHw0PU</a></p>&mdash; Tomoya Tajika (@tmytjk) <a href="https://twitter.com/tmytjk/status/2042973117107310840?ref_src=twsrc%5Etfw">April 11, 2026</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>)}}
49
50
{{rawhtml(<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">一応コードを置いておきます。<a href="https://twitter.com/hashtag/Typst?src=hash&amp;ref_src=twsrc%5Etfw">#Typst</a><a href="https://t.co/2v62k4KrlO">https://t.co/2v62k4KrlO</a></p>&mdash; Tomoya Tajika (@tmytjk) <a href="https://twitter.com/tmytjk/status/2043455847905583350?ref_src=twsrc%5Etfw">April 12, 2026</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>)}}
51
52 14 kanata
**ちょっと解説(本読んだ人しか解らない内容を書いています)**
53 13 kanata
筆者の本は、縦書きのブロック要素を回転させる方法で実現しています。
54
Typst標準の段組み機能は*横書き前提*なので、うまくフィットしません。
55
Tomoya Tajikaさんのアイデアは、ブロック要素じゃなくて、紙(というかPDFというか)を回転させればいいじゃない!
56
というやつですね。そうするとTypstの標準機能の段組みも自ずと縦書き用になるという。天才か・・・
57 16 kanata
58
**課題ある**
59
この方法だと、ノドと小口の余白について個別に設定できません(仕組み上insideとoutosideが使えないのでTypstで設定する方式がなさそう)
60
なので、解決方法としては本書おまけの「トンボ付け足し君」の応用することで解決できそう
61
奇数ページ・偶数ページについて余白分を考慮してズラせばいけそう(検証中)