All skills
jihe520 avatar

/typst-author

@4a360cb
by Sanjinjihe520/mathmodelagent6.2k stars
450

Generate idiomatic Typst (.typ) code, edit and troubleshoot Typst documents and projects, and answer Typst syntax/reference questions. Use when working with .typ files or when the user explicitly asks for Typst document creation, editing, debugging, compilation, formatting, template work, or package usage.

Use this Skill: https://skilld.dev/gh/jihe520/mathmodelagent/typst-author

This session only. Nothing lands on disk.

docsreferencelayoutlayout.md

≈672 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Layout

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(
    width: size.width,
    text,
  )
  This text is #height high with
  the current page width: \
  #text
])

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.

To retrieve the remaining height of the page rather than its full size, you can wrap your layout call in a block(height: 1fr). This works because the block automatically grows to fill the remaining space (see the fraction documentation for more details).

#set page(height: 150pt)

#lorem(20)

#block(height: 1fr, layout(size => [
  Remaining height: #size.height
]))

You can also use this function to resolve a ratio to a fixed length. 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.]
})

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

#layout(
  func
) -> content

Parameters

  • func:
    • description: 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, both of type length. 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.
    • type: function
    • default: None

Source: SKILL.md on GitHub

1 alert3mo3 checks · Risk SAFE
  • Gen Agent Trust Hub3mo

    This skill is a comprehensive Typst authoring assistant that provides a complete local mirror of the Typst documentation (tutorials, guides, and reference). It facilitates the generation, editing, and troubleshooting of Typst documents using standard ecosystem tools such as 'typst' and 'typstyle'. The instructions emphasize accuracy by directing the agent to prioritize local documentation and include safety checkpoints for formatting and editing tasks. No malicious patterns, data exfiltration risks, or other security threats were identified.

  • Socket3mo

    1 alert: obfuscatedFile

  • Snyk3mo

    Risk: LOW · No issues

Signed by skilld at 4a360cb. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 weeks ago.

Activeupdated 4 months ago

README badge

README badge for jihe520/mathmodelagent/typst-author