🧳

Typstで名刺作成

2025/03/02に公開

はじめに

筆者は、今回初めて人に配る用の名刺を作成することになりました。
遅ればせながら最近Typstを導入したので、名刺用のテンプレもこれで作ることにしました。

名刺サイズ

一般的に使用されている、4号名刺 (縦: 55mm、横: 91mm) のテンプレを作成します。

環境

  • Ubuntu 24.04
  • Rust 1.85.0
  • Typst 0.13.0

筆者はデュアルブートしたUbuntuを使ってコーディングを行っているため、いちいちWindowsに切り替えてWordやExcelのテンプレを使うのは少し面倒です。

テンプレの作成

作成したテンプレは、以下のリポジトリで公開してます。
書いたコードはとても短いのでそちらを参照して頂いたほうが早いかと思います。

https://github.com/Oya-Tomo/business-card-typst

https://github.com/Oya-Tomo/business-card-typst/blob/main/template.typ

名刺の枠

template.typ内でcard-frame()という関数を定義し、4号名刺のサイズのboxを作成しています。

Typstは、単位にmmを使えるのが結構嬉しいです😊

枠のレイアウト

ページの主な設定としては、set page()で論文などでもよく見る 2 段組を設定し、set columns()で段の間を0ptにしています。

多分、grid()table()などでも同じことができると思います。

ページに表示されるコンテンツとして、名刺のフレームを10枚複製します。
Typstでは、For文を回したり*10して要素をコピーできるので、名刺枠の複製が楽です。

制作物

両面印刷用のテンプレを使ったコードです。
PDFとしてエクスポートすると、2ページになります。

このテンプレが担当するのは、あくまでも名刺の枠の作成までです。
名刺に書く内容は、引数で自由に設定出来ます。

https://github.com/Oya-Tomo/business-card-typst/blob/main/main.typ

preview

テンプレの試用

例えば以下のようなコードで、名刺が作成出来ます。

以下の例では、Typstの作図パッケージCeTZを用いてロゴの部分を作成しています。

https://github.com/Oya-Tomo/business-card-typst/blob/main/example/plain.typ

preview plain

終わりに

Typstは、最終的に名刺のデータをPDFに直接Exportできるため、デザイン作成時や印刷時にデバイスによる差が生じにくいというメリットがあります。
また、図の挿入やレイアウトの微調整などもコードベースで行えるため、とても好感触でした。
筆者はあまりデザインセンスが無いので、詳しい方がいらっしゃいましたらTypstでテンプレを作っていただけると嬉しいです。

Discussion