注意 当サイトは、Typst v0.12.0 公式ドキュメントを、日本語コミュニティが非公式に翻訳したものです。誤訳・未訳・古い情報が含まれている可能性があるため、公式ドキュメント との併用を推奨します。このサイトの内容に誤りを発見された方は、GitHubリポジトリまでご報告を頂けましたら幸いです。我々のコミュニティにご興味のある方は、ぜひ非公式Discordサーバー「くみはんクラブ」にご参加ください。
Warning: This site provides an unofficial translation of the Typst v0.12.0 documentation by the Japanese Community. Please note that there may be some inaccuracies, untranslated sections or outdated information. We highly recommend referring to the latest official documentation as well. If you find any errors in the content, please let us know through our GitHub repository. If you are interested in our community, feel free to join our unofficial Discord server, “Kumihan Club.”
Typst ドキュメント日本語版

スタイル設定

Typstには柔軟なスタイル設定機能を持ち、出力される文書に対して自動的に任意のスタイル設定を適用します。 setルール ではエレメントの基本プロパティを設定できます。 しかし、やりたいことすべてに対応するプロパティがあらかじめ実装されているとは限りません。 このため、Typstはエレメントの外観を完全に再定義できる showルール もサポートしています。

setルール

setルールを使うと、エレメントの外観をカスタマイズできます。 これらは、setキーワード(マークアップでは#set)を前に置いたelement 関数への関数呼び出しとして記述されます。 setルールに指定できるのは、その関数のオプションのパラメーターだけです。 どのパラメーターがオプションであるかは、各関数のドキュメントを参照してください。 以下の例では、2つのsetルールを使って、フォント見出し番号を変更しています。

#set heading(numbering: "I.")
#set text(
  font: "New Computer Modern"
)

= Introduction
With set rules, you can style
your document.
Preview

setルールは、そのまま記述するとファイルの最後まで適用されます。 ブロックの中にネストすると、そのブロックの終わりまで適用されます。 ブロックを使えば、setルールの効果を指定した部分に限定できます。 以下では、contentブロックを用いてスコープすることで、特定のリストのスタイルのみを変更しています。

This list is affected: #[
  #set list(marker: [--])
  - Dash
]

This one is not:
- Bullet
Preview

ときには、setルールを条件付きで設定したい場合もあるでしょう。 その場合には set-if ルールを使用します。

#let task(body, critical: false) = {
  set text(red) if critical
  [- #body]
}

#task(critical: true)[Food today?]
#task(critical: false)[Work deadline]
Preview

showルール

showルールを使えば、特定の種類のエレメントの外観を詳細に設定できます。 showルールの基本的な記述方法は、show-setルールです。 show キーワードの後に セレクター、コロン、setルールと続けて記述します。 セレクターの基本的な記述方法は element関数を置くことであり、setルールは選択されたエレメントにのみ適用されます。 下の例では、見出しは紺色になり、他のテキストは黒色のままです。

#show heading: set text(navy)

= This is navy-blue
But this stays black.
Preview

show-setルールを使えば、さまざまな関数のプロパティを組み合わせることが可能です。 しかし、組み合わせられるプロパティはTypstであらかじめ定義されているものに限定されます。 最大限の柔軟性を得るには、エレメントをゼロからフォーマットする方法を定義するshowルールを書くことができます。 このようなshowルールを書くには、コロンの後のsetルールを任意の関数に置き換えてください。 この関数は対象のエレメントを受け取り、任意の内容を返すことができます。 関数に渡されたエレメントで利用可能なフィールドは、それぞれのelement関数のパラメーターと一致します。 以下は、ファンタジー百科事典の見出しをフォーマットするshowルールを定義する例です。

#set heading(numbering: "(I)")
#show heading: it => [
  #set align(center)
  #set text(font: "Inria Serif")
  \~ #emph(it.body)
     #counter(heading).display(
       it.numbering
     ) \~
]

= Dragon
With a base health of 15, the
dragon is the most powerful
creature.

= Manticore
While less powerful than the
dragon, the manticore gets
extra style points.
Preview

setルールと同様に、showルールは、現在のブロック内またはファイルの終わりまで有効です。

関数の代わりに、showルールのコロン右側は、エレメントに直接置換されるべきリテラル文字列またはコンテンツブロックを取ることもできます。 またshowルールのコロン左側は、以下に示すように、変換を適用する対象を定義する セレクター を受け取ることができます。

#show "Project": smallcaps
#show "badly": "great"

We started Project in 2019
and are still working on it.
Project is progressing badly.
Preview