注意 当サイトは、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 ドキュメント日本語版

layout

Provides access to the current outer container's (or page's, if none) dimensions (width and height).

Accepts a function that receives a single parameter, which is a dictionary with keys width and height, both of type length. The function is provided context, meaning you don't need to use it in combination with the context keyword. This is why measure can be called in the example below.

#let text = lorem(30)
#layout(size => [
  #let (height,) = measure(
    block(width: size.width, text),
  )
  This text is #height high with
  the current page width: \
  #text
])
Preview

Note that the layout function forces its contents into a block-level container, so placement relative to the page or pagebreaks are not possible within it.

If the layout call is placed inside a box with a width of 800pt and a height of 400pt, then the specified function will be given the argument (width: 800pt, height: 400pt). If it is placed directly into the page, it receives the page's dimensions minus its margins. This is mostly useful in combination with measurement.

You can also use this function to resolve ratio to fixed lengths. This might come in handy if you're building your own layout abstractions.

#layout(size => {
  let half = 50% * size.width
  [Half a page is #half wide.]
})
Preview

Note that the width or height provided by layout will be infinite if the corresponding page dimension is set to auto.

Parameters
Parameters are the inputs to a function. They are specified in parentheses after the function name.

layout() -> content

func
function
RequiredPositional
Positional parameters are specified in order, without names.

A function to call with the outer container's size. Its return value is displayed in the document.

The container's size is given as a dictionary with the keys width and height.

This function is called once for each time the content returned by layout appears in the document. This makes it possible to generate content that depends on the dimensions of its container.