{"id":15442541,"url":"https://github.com/beibingyangliuying/python-typst","last_synced_at":"2025-04-19T19:56:57.807Z","repository":{"id":257798448,"uuid":"861247797","full_name":"beibingyangliuying/python-typst","owner":"beibingyangliuying","description":"Python interface to generate Typst code.","archived":false,"fork":false,"pushed_at":"2025-01-16T03:30:54.000Z","size":489,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T12:35:21.242Z","etag":null,"topics":["python","typst"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beibingyangliuying.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-22T12:02:41.000Z","updated_at":"2025-03-15T20:38:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"44203146-5ca9-4355-99df-ff984e812d5b","html_url":"https://github.com/beibingyangliuying/python-typst","commit_stats":{"total_commits":16,"total_committers":1,"mean_commits":16.0,"dds":0.0,"last_synced_commit":"4fb9b67c6945c689c7bc5f6a61729b7196d624be"},"previous_names":["beibingyangliuying/python-typst"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beibingyangliuying%2Fpython-typst","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beibingyangliuying%2Fpython-typst/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beibingyangliuying%2Fpython-typst/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beibingyangliuying%2Fpython-typst/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beibingyangliuying","download_url":"https://codeload.github.com/beibingyangliuying/python-typst/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249787109,"owners_count":21325569,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","typst"],"created_at":"2024-10-01T19:28:25.216Z","updated_at":"2025-04-19T19:56:57.789Z","avatar_url":"https://github.com/beibingyangliuying.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# typstpy\n\n## Introduction\n\ntypstpy is a python package for generating executable [typst](https://typst.app/docs/) codes.\nThis package is written primarily in functional programming paradigm with some OOP contents.\nEach module in this package has greater than 90% unit test coverage.\n\nThis package provides interfaces which are as close as possible to typst's native functions.\nThrough typstpy and other data processing packages, you can generate data report instantly.\n\nRepository on GitHub: [python-typst](https://github.com/beibingyangliuying/python-typst).\nHomepage on PyPI: [python-typst](https://pypi.org/project/typstpy/).\nAny contributions are welcome.\n\n## Change logs\n\n- _1.1.1_:\n  - Fix: Fix the behavior of `with_`.\n- _1.1.0_: Provide `customizations` module to support custom functions.\n- _1.0.4_: Implement package `subpar`.\n- _1.0.3_:\n  - Fix: Fix the behavior of `show_`.\n  - Compatibility: The parameters' order of `show_` is flipped compared to previous version.\n- _1.0.2_: Improved type annotations.\n- _1.0.1_: Implement `set`, `show`, and `import`.\n- _1.0.0_: Completed documentation and test cases in `layout`, `model`, `text` and `visualize` modules. Improved functionality.\n- _1.0.0-beta.2_: Improved the implementation and documentation of functions in the `layout` module.\n- _1.0.0-beta.1_: Completely reconstructed the underlying implementation.\n\n## Installation\n\n```bash\npip install typstpy\n```\n\n## How to customize?\n\ntypstpy provides the `customizations` module to support defining functions that are not yet supported in typstpy.\nThe examples are:\n\n```python\n\u003e\u003e\u003e from typstpy.customizations import *\n\u003e\u003e\u003e pad = normal('pad')\n\u003e\u003e\u003e pad(\n...     '[Hello, world!]',\n...     left='4% + 0pt',\n...     top='4% + 0pt',\n...     right='4% + 0pt',\n...     bottom='4% + 0pt',\n... )\n'#pad([Hello, world!], left: 4% + 0pt, top: 4% + 0pt, right: 4% + 0pt, bottom: 4% + 0pt)'\n\u003e\u003e\u003e pagebreak = normal('pagebreak')\n\u003e\u003e\u003e pagebreak(weak=True)\n'#pagebreak(weak: true)'\n\u003e\u003e\u003e rgb = positional('rgb')\n\u003e\u003e\u003e color_lighten = instance('lighten')\n\u003e\u003e\u003e color_lighten(rgb(255, 255, 255), '50%')\n'#rgb(255, 255, 255).lighten(50%)'\n\u003e\u003e\u003e rgb = positional('rgb')\n\u003e\u003e\u003e rgb(255, 255, 255, '50%')\n'#rgb(255, 255, 255, 50%)'\n\u003e\u003e\u003e table = post_series('table')\n\u003e\u003e\u003e table(\n...     '[1]',\n...     '[2]',\n...     '[3]',\n...     columns=['1fr', '2fr', '3fr'],\n...     rows=['1fr', '2fr', '3fr'],\n...     gutter=['1fr', '2fr', '3fr'],\n...     column_gutter=['1fr', '2fr', '3fr'],\n...     row_gutter=['1fr', '2fr', '3fr'],\n...     fill='red',\n...     align=['center', 'center', 'center'],\n... )\n'#table(columns: (1fr, 2fr, 3fr), rows: (1fr, 2fr, 3fr), gutter: (1fr, 2fr, 3fr), column-gutter: (1fr, 2fr, 3fr), row-gutter: (1fr, 2fr, 3fr), fill: red, align: (center, center, center), [1], [2], [3])'\n\u003e\u003e\u003e subpar_grid = pre_series('subpar.grid')\n\u003e\u003e\u003e subpar_grid(\n...     '[]',\n...     '[]',\n...     columns=('1fr', '1fr'),\n...     caption='[A figure composed of two sub figures.]',\n...     label='\u003cfull\u003e',\n... )\n'#subpar.grid([], [], columns: (1fr, 1fr), caption: [A figure composed of two sub figures.], label: \u003cfull\u003e)'\n```\n\n## Current Supports\n\n| Package's function name             | Typst's function name | Documentation on typst                                                                                                                                       |\n| ----------------------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| std.visualize.circle                | circle                | [https://typst.app/docs/reference/visualize/circle/](https://typst.app/docs/reference/visualize/circle/)                                                     |\n| std.visualize._color_map            | color.map             | [https://typst.app/docs/reference/visualize/color/#predefined-color-maps](https://typst.app/docs/reference/visualize/color/#predefined-color-maps)           |\n| std.visualize.luma                  | luma                  | [https://typst.app/docs/reference/visualize/color/#definitions-luma](https://typst.app/docs/reference/visualize/color/#definitions-luma)                     |\n| std.visualize.oklab                 | oklab                 | [https://typst.app/docs/reference/visualize/color/#definitions-oklab](https://typst.app/docs/reference/visualize/color/#definitions-oklab)                   |\n| std.visualize.oklch                 | oklch                 | [https://typst.app/docs/reference/visualize/color/#definitions-oklch](https://typst.app/docs/reference/visualize/color/#definitions-oklch)                   |\n| std.visualize._color_linear_rgb     | color.linear-rgb      | [https://typst.app/docs/reference/visualize/color/#definitions-linear-rgb](https://typst.app/docs/reference/visualize/color/#definitions-linear-rgb)         |\n| std.visualize.rgb                   | rgb                   | [https://typst.app/docs/reference/visualize/color/#definitions-rgb](https://typst.app/docs/reference/visualize/color/#definitions-rgb)                       |\n| std.visualize.cmyk                  | cmyk                  | [https://typst.app/docs/reference/visualize/color/#definitions-cmyk](https://typst.app/docs/reference/visualize/color/#definitions-cmyk)                     |\n| std.visualize._color_hsl            | color.hsl             | [https://typst.app/docs/reference/visualize/color/#definitions-hsl](https://typst.app/docs/reference/visualize/color/#definitions-hsl)                       |\n| std.visualize._color_hsv            | color.hsv             | [https://typst.app/docs/reference/visualize/color/#definitions-hsv](https://typst.app/docs/reference/visualize/color/#definitions-hsv)                       |\n| std.visualize._color_components     | components            | [https://typst.app/docs/reference/visualize/color/#definitions-components](https://typst.app/docs/reference/visualize/color/#definitions-components)         |\n| std.visualize._color_space          | space                 | [https://typst.app/docs/reference/visualize/color/#definitions-space](https://typst.app/docs/reference/visualize/color/#definitions-space)                   |\n| std.visualize._color_to_hex         | to-hex                | [https://typst.app/docs/reference/visualize/color/#definitions-to-hex](https://typst.app/docs/reference/visualize/color/#definitions-to-hex)                 |\n| std.visualize._color_lighten        | lighten               | [https://typst.app/docs/reference/visualize/color/#definitions-lighten](https://typst.app/docs/reference/visualize/color/#definitions-lighten)               |\n| std.visualize._color_darken         | darken                | [https://typst.app/docs/reference/visualize/color/#definitions-darken](https://typst.app/docs/reference/visualize/color/#definitions-darken)                 |\n| std.visualize._color_saturate       | saturate              | [https://typst.app/docs/reference/visualize/color/#definitions-saturate](https://typst.app/docs/reference/visualize/color/#definitions-saturate)             |\n| std.visualize._color_desaturate     | desaturate            | [https://typst.app/docs/reference/visualize/color/#definitions-desaturate](https://typst.app/docs/reference/visualize/color/#definitions-desaturate)         |\n| std.visualize._color_negate         | negate                | [https://typst.app/docs/reference/visualize/color/#definitions-negate](https://typst.app/docs/reference/visualize/color/#definitions-negate)                 |\n| std.visualize._color_rotate         | rotate                | [https://typst.app/docs/reference/visualize/color/#definitions-rotate](https://typst.app/docs/reference/visualize/color/#definitions-rotate)                 |\n| std.visualize._color_mix            | color.mix             | [https://typst.app/docs/reference/visualize/color/#definitions-mix](https://typst.app/docs/reference/visualize/color/#definitions-mix)                       |\n| std.visualize._color_transparentize | transparentize        | [https://typst.app/docs/reference/visualize/color/#definitions-transparentize](https://typst.app/docs/reference/visualize/color/#definitions-transparentize) |\n| std.visualize._color_opacify        | opacify               | [https://typst.app/docs/reference/visualize/color/#definitions-opacify](https://typst.app/docs/reference/visualize/color/#definitions-opacify)               |\n| std.visualize.color                 | color                 | [https://typst.app/docs/reference/visualize/color/](https://typst.app/docs/reference/visualize/color/)                                                       |\n| std.visualize.ellipse               | ellipse               | [https://typst.app/docs/reference/visualize/ellipse/](https://typst.app/docs/reference/visualize/ellipse/)                                                   |\n| std.visualize._gradient_linear      | gradient.linear       | [https://typst.app/docs/reference/visualize/gradient/#definitions-linear](https://typst.app/docs/reference/visualize/gradient/#definitions-linear)           |\n| std.visualize._gradient_radial      | gradient.radial       | [https://typst.app/docs/reference/visualize/gradient/#definitions-radial](https://typst.app/docs/reference/visualize/gradient/#definitions-radial)           |\n| std.visualize._gradient_conic       | gradient.conic        | [https://typst.app/docs/reference/visualize/gradient/#definitions-conic](https://typst.app/docs/reference/visualize/gradient/#definitions-conic)             |\n| std.visualize._gradient_sharp       | sharp                 | [https://typst.app/docs/reference/visualize/gradient/#definitions-sharp](https://typst.app/docs/reference/visualize/gradient/#definitions-sharp)             |\n| std.visualize._gradient_repeat      | repeat                | [https://typst.app/docs/reference/visualize/gradient/#definitions-repeat](https://typst.app/docs/reference/visualize/gradient/#definitions-repeat)           |\n| std.visualize._gradient_kind        | kind                  | [https://typst.app/docs/reference/visualize/gradient/#definitions-kind](https://typst.app/docs/reference/visualize/gradient/#definitions-kind)               |\n| std.visualize._gradient_stops       | stops                 | [https://typst.app/docs/reference/visualize/gradient/#definitions-stops](https://typst.app/docs/reference/visualize/gradient/#definitions-stops)             |\n| std.visualize._gradient_space       | space                 | [https://typst.app/docs/reference/visualize/gradient/#definitions-space](https://typst.app/docs/reference/visualize/gradient/#definitions-space)             |\n| std.visualize._gradient_relative    | relative              | [https://typst.app/docs/reference/visualize/gradient/#definitions-relative](https://typst.app/docs/reference/visualize/gradient/#definitions-relative)       |\n| std.visualize._gradient_angle       | angle                 | [https://typst.app/docs/reference/visualize/gradient/#definitions-angle](https://typst.app/docs/reference/visualize/gradient/#definitions-angle)             |\n| std.visualize._gradient_sample      | sample                | [https://typst.app/docs/reference/visualize/gradient/#definitions-sample](https://typst.app/docs/reference/visualize/gradient/#definitions-sample)           |\n| std.visualize._gradient_samples     | samples               | [https://typst.app/docs/reference/visualize/gradient/#definitions-samples](https://typst.app/docs/reference/visualize/gradient/#definitions-samples)         |\n| std.visualize.gradient              | gradient              | [https://typst.app/docs/reference/visualize/gradient/](https://typst.app/docs/reference/visualize/gradient/)                                                 |\n| std.visualize._image_decode         | image.decode          | [https://typst.app/docs/reference/visualize/image/#definitions-decode](https://typst.app/docs/reference/visualize/image/#definitions-decode)                 |\n| std.visualize.image                 | image                 | [https://typst.app/docs/reference/visualize/image/](https://typst.app/docs/reference/visualize/image/)                                                       |\n| std.visualize.line                  | line                  | [https://typst.app/docs/reference/visualize/line/](https://typst.app/docs/reference/visualize/line/)                                                         |\n| std.visualize.path                  | path                  | [https://typst.app/docs/reference/visualize/path/](https://typst.app/docs/reference/visualize/path/)                                                         |\n| std.visualize.pattern               | pattern               | [https://typst.app/docs/reference/visualize/pattern/](https://typst.app/docs/reference/visualize/pattern/)                                                   |\n| std.visualize._polygon_regular      | polygon.regular       | [https://typst.app/docs/reference/visualize/polygon/#definitions-regular](https://typst.app/docs/reference/visualize/polygon/#definitions-regular)           |\n| std.visualize.polygon               | polygon               | [https://typst.app/docs/reference/visualize/polygon/](https://typst.app/docs/reference/visualize/polygon/)                                                   |\n| std.visualize.rect                  | rect                  | [https://typst.app/docs/reference/visualize/rect/](https://typst.app/docs/reference/visualize/rect/)                                                         |\n| std.visualize.square                | square                | [https://typst.app/docs/reference/visualize/square/](https://typst.app/docs/reference/visualize/square/)                                                     |\n| std.text.highlight                  | highlight             | [https://typst.app/docs/reference/text/highlight/](https://typst.app/docs/reference/text/highlight/)                                                         |\n| std.text.linebreak                  | linebreak             | [https://typst.app/docs/reference/text/linebreak/](https://typst.app/docs/reference/text/linebreak/)                                                         |\n| std.text.lorem                      | lorem                 | [https://typst.app/docs/reference/text/lorem/](https://typst.app/docs/reference/text/lorem/)                                                                 |\n| std.text.lower                      | lower                 | [https://typst.app/docs/reference/text/lower/](https://typst.app/docs/reference/text/lower/)                                                                 |\n| std.text.overline                   | overline              | [https://typst.app/docs/reference/text/overline/](https://typst.app/docs/reference/text/overline/)                                                           |\n| std.text._raw_line                  | raw.line              | [https://typst.app/docs/reference/text/raw/#definitions-line](https://typst.app/docs/reference/text/raw/#definitions-line)                                   |\n| std.text.raw                        | raw                   | [https://typst.app/docs/reference/text/raw/](https://typst.app/docs/reference/text/raw/)                                                                     |\n| std.text.smallcaps                  | smallcaps             | [https://typst.app/docs/reference/text/smallcaps/](https://typst.app/docs/reference/text/smallcaps/)                                                         |\n| std.text.smartquote                 | smartquote            | [https://typst.app/docs/reference/text/smartquote/](https://typst.app/docs/reference/text/smartquote/)                                                       |\n| std.text.strike                     | strike                | [https://typst.app/docs/reference/text/strike/](https://typst.app/docs/reference/text/strike/)                                                               |\n| std.text.subscript                  | sub                   | [https://typst.app/docs/reference/text/sub/](https://typst.app/docs/reference/text/sub/)                                                                     |\n| std.text.superscript                | super                 | [https://typst.app/docs/reference/text/super/](https://typst.app/docs/reference/text/super/)                                                                 |\n| std.text.text                       | text                  | [https://typst.app/docs/reference/text/text/](https://typst.app/docs/reference/text/text/)                                                                   |\n| std.text.underline                  | underline             | [https://typst.app/docs/reference/text/underline/](https://typst.app/docs/reference/text/underline/)                                                         |\n| std.text.upper                      | upper                 | [https://typst.app/docs/reference/text/upper/](https://typst.app/docs/reference/text/upper/)                                                                 |\n| std.layout.align                    | align                 | [https://typst.app/docs/reference/layout/align/](https://typst.app/docs/reference/layout/align/)                                                             |\n| std.layout.block                    | block                 | [https://typst.app/docs/reference/layout/block/](https://typst.app/docs/reference/layout/block/)                                                             |\n| std.layout.box                      | box                   | [https://typst.app/docs/reference/layout/box/](https://typst.app/docs/reference/layout/box/)                                                                 |\n| std.layout.colbreak                 | colbreak              | [https://typst.app/docs/reference/layout/colbreak/](https://typst.app/docs/reference/layout/colbreak/)                                                       |\n| std.layout.columns                  | columns               | [https://typst.app/docs/reference/layout/columns/](https://typst.app/docs/reference/layout/columns/)                                                         |\n| std.layout._grid_cell               | grid.cell             | [https://typst.app/docs/reference/layout/grid/#definitions-cell](https://typst.app/docs/reference/layout/grid/#definitions-cell)                             |\n| std.layout._grid_hline              | grid.hline            | [https://typst.app/docs/reference/layout/grid/#definitions-hline](https://typst.app/docs/reference/layout/grid/#definitions-hline)                           |\n| std.layout._grid_vline              | grid.vline            | [https://typst.app/docs/reference/layout/grid/#definitions-vline](https://typst.app/docs/reference/layout/grid/#definitions-vline)                           |\n| std.layout._grid_header             | grid.header           | [https://typst.app/docs/reference/layout/grid/#definitions-header](https://typst.app/docs/reference/layout/grid/#definitions-header)                         |\n| std.layout._grid_footer             | grid.footer           | [https://typst.app/docs/reference/layout/grid/#definitions-footer](https://typst.app/docs/reference/layout/grid/#definitions-footer)                         |\n| std.layout.grid                     | grid                  | [https://typst.app/docs/reference/layout/grid/](https://typst.app/docs/reference/layout/grid/)                                                               |\n| std.layout.hide                     | hide                  | [https://typst.app/docs/reference/layout/hide/](https://typst.app/docs/reference/layout/hide/)                                                               |\n| std.layout.layout                   | layout                | [https://typst.app/docs/reference/layout/layout/](https://typst.app/docs/reference/layout/layout/)                                                           |\n| std.layout.measure                  | measure               | [https://typst.app/docs/reference/layout/measure/](https://typst.app/docs/reference/layout/measure/)                                                         |\n| std.layout.move                     | move                  | [https://typst.app/docs/reference/layout/move/](https://typst.app/docs/reference/layout/move/)                                                               |\n| std.layout.padding                  | pad                   | [https://typst.app/docs/reference/layout/pad/](https://typst.app/docs/reference/layout/pad/)                                                                 |\n| std.layout.pad                      | pad                   | [https://typst.app/docs/reference/layout/pad/](https://typst.app/docs/reference/layout/pad/)                                                                 |\n| std.layout.page                     | page                  | [https://typst.app/docs/reference/layout/page/](https://typst.app/docs/reference/layout/page/)                                                               |\n| std.layout.pagebreak                | pagebreak             | [https://typst.app/docs/reference/layout/pagebreak/](https://typst.app/docs/reference/layout/pagebreak/)                                                     |\n| std.layout._place_flush             | place.flush           | [https://typst.app/docs/reference/layout/place/#definitions-flush](https://typst.app/docs/reference/layout/place/#definitions-flush)                         |\n| std.layout.place                    | place                 | [https://typst.app/docs/reference/layout/place/](https://typst.app/docs/reference/layout/place/)                                                             |\n| std.layout.repeat                   | repeat                | [https://typst.app/docs/reference/layout/repeat/](https://typst.app/docs/reference/layout/repeat/)                                                           |\n| std.layout.rotate                   | rotate                | [https://typst.app/docs/reference/layout/rotate/](https://typst.app/docs/reference/layout/rotate/)                                                           |\n| std.layout.scale                    | scale                 | [https://typst.app/docs/reference/layout/scale/](https://typst.app/docs/reference/layout/scale/)                                                             |\n| std.layout.skew                     | skew                  | [https://typst.app/docs/reference/layout/skew/](https://typst.app/docs/reference/layout/skew/)                                                               |\n| std.layout.hspace                   | h                     | [https://typst.app/docs/reference/layout/h/](https://typst.app/docs/reference/layout/h/)                                                                     |\n| std.layout.vspace                   | v                     | [https://typst.app/docs/reference/layout/v/](https://typst.app/docs/reference/layout/v/)                                                                     |\n| std.layout.stack                    | stack                 | [https://typst.app/docs/reference/layout/stack/](https://typst.app/docs/reference/layout/stack/)                                                             |\n| std.model.bibliography              | bibliography          | [https://typst.app/docs/reference/model/bibliography/](https://typst.app/docs/reference/model/bibliography/)                                                 |\n| std.model._bullet_list_item         | list.item             | [https://typst.app/docs/reference/model/list/#definitions-item](https://typst.app/docs/reference/model/list/#definitions-item)                               |\n| std.model.bullet_list               | list                  | [https://typst.app/docs/reference/model/list/](https://typst.app/docs/reference/model/list/)                                                                 |\n| std.model.cite                      | cite                  | [https://typst.app/docs/reference/model/cite/](https://typst.app/docs/reference/model/cite/)                                                                 |\n| std.model.document                  | document              | [https://typst.app/docs/reference/model/document/](https://typst.app/docs/reference/model/document/)                                                         |\n| std.model.emph                      | emph                  | [https://typst.app/docs/reference/model/emph/](https://typst.app/docs/reference/model/emph/)                                                                 |\n| std.model._figure_caption           | figure.caption        | [https://typst.app/docs/reference/model/figure/#definitions-caption](https://typst.app/docs/reference/model/figure/#definitions-caption)                     |\n| std.model.figure                    | figure                | [https://typst.app/docs/reference/model/figure/](https://typst.app/docs/reference/model/figure/)                                                             |\n| std.model._footnote_entry           | footnote.entry        | [https://typst.app/docs/reference/model/footnote/#definitions-entry](https://typst.app/docs/reference/model/footnote/#definitions-entry)                     |\n| std.model.footnote                  | footnote              | [https://typst.app/docs/reference/model/footnote/](https://typst.app/docs/reference/model/footnote/)                                                         |\n| std.model.heading                   | heading               | [https://typst.app/docs/reference/model/heading/](https://typst.app/docs/reference/model/heading/)                                                           |\n| std.model.link                      | link                  | [https://typst.app/docs/reference/model/link/](https://typst.app/docs/reference/model/link/)                                                                 |\n| std.model._numbered_list_item       | enum.item             | [https://typst.app/docs/reference/model/enum/#definitions-item](https://typst.app/docs/reference/model/enum/#definitions-item)                               |\n| std.model.numbered_list             | enum                  | [https://typst.app/docs/reference/model/enum/](https://typst.app/docs/reference/model/enum/)                                                                 |\n| std.model.numbering                 | numbering             | [https://typst.app/docs/reference/model/numbering/](https://typst.app/docs/reference/model/numbering/)                                                       |\n| std.model._outline_entry            | outline.entry         | [https://typst.app/docs/reference/model/outline/#definitions-entry](https://typst.app/docs/reference/model/outline/#definitions-entry)                       |\n| std.model.outline                   | outline               | [https://typst.app/docs/reference/model/outline/](https://typst.app/docs/reference/model/outline/)                                                           |\n| std.model._par_line                 | par.line              | [https://typst.app/docs/reference/model/par/#definitions-line](https://typst.app/docs/reference/model/par/#definitions-line)                                 |\n| std.model.par                       | par                   | [https://typst.app/docs/reference/model/par/](https://typst.app/docs/reference/model/par/)                                                                   |\n| std.model.parbreak                  | parbreak              | [https://typst.app/docs/reference/model/parbreak/](https://typst.app/docs/reference/model/parbreak/)                                                         |\n| std.model.quote                     | quote                 | [https://typst.app/docs/reference/model/quote/](https://typst.app/docs/reference/model/quote/)                                                               |\n| std.model.ref                       | ref                   | [https://typst.app/docs/reference/model/ref/](https://typst.app/docs/reference/model/ref/)                                                                   |\n| std.model.strong                    | strong                | [https://typst.app/docs/reference/model/strong/](https://typst.app/docs/reference/model/strong/)                                                             |\n| std.model._table_cell               | table.cell            | [https://typst.app/docs/reference/model/table/#definitions-cell](https://typst.app/docs/reference/model/table/#definitions-cell)                             |\n| std.model._table_hline              | table.hline           | [https://typst.app/docs/reference/model/table/#definitions-hline](https://typst.app/docs/reference/model/table/#definitions-hline)                           |\n| std.model._table_vline              | table.vline           | [https://typst.app/docs/reference/model/table/#definitions-vline](https://typst.app/docs/reference/model/table/#definitions-vline)                           |\n| std.model._table_header             | table.header          | [https://typst.app/docs/reference/model/table/#definitions-header](https://typst.app/docs/reference/model/table/#definitions-header)                         |\n| std.model._table_footer             | table.footer          | [https://typst.app/docs/reference/model/table/#definitions-footer](https://typst.app/docs/reference/model/table/#definitions-footer)                         |\n| std.model.table                     | table                 | [https://typst.app/docs/reference/model/table/](https://typst.app/docs/reference/model/table/)                                                               |\n| std.model._terms_item               | terms.item            | [https://typst.app/docs/reference/model/terms/#definitions-item](https://typst.app/docs/reference/model/terms/#definitions-item)                             |\n| std.model.terms                     | terms                 | [https://typst.app/docs/reference/model/terms/](https://typst.app/docs/reference/model/terms/)                                                               |\n| subpar.grid                         | subpar.grid           | [https://typst.app/universe/package/subpar](https://typst.app/universe/package/subpar)                                                                       |\n\n## Examples\n\n`std.visualize.circle`:\n\n```python\n\u003e\u003e\u003e circle('[Hello, world!]')\n'#circle([Hello, world!])'\n\u003e\u003e\u003e circle('[Hello, world!]', radius='10pt')\n'#circle([Hello, world!], radius: 10pt)'\n\u003e\u003e\u003e circle('[Hello, world!]', width='100%', height='100%')\n'#circle([Hello, world!], width: 100%, height: 100%)'\n```\n\n`std.visualize._color_map`:\n\n```python\n\u003e\u003e\u003e color.map('turbo')\n'#color.map.turbo'\n```\n\n`std.visualize.luma`:\n\n```python\n\u003e\u003e\u003e luma('50%')\n'#luma(50%)'\n\u003e\u003e\u003e luma('50%', '50%')\n'#luma(50%, 50%)'\n```\n\n`std.visualize.oklab`:\n\n```python\n\u003e\u003e\u003e oklab('50%', '0%', '0%')\n'#oklab(50%, 0%, 0%)'\n\u003e\u003e\u003e oklab('50%', '0%', '0%', '50%')\n'#oklab(50%, 0%, 0%, 50%)'\n```\n\n`std.visualize.oklch`:\n\n```python\n\u003e\u003e\u003e oklch('50%', '0%', '0deg')\n'#oklch(50%, 0%, 0deg)'\n\u003e\u003e\u003e oklch('50%', '0%', '0deg', '50%')\n'#oklch(50%, 0%, 0deg, 50%)'\n```\n\n`std.visualize._color_linear_rgb`:\n\n```python\n\u003e\u003e\u003e color.linear_rgb(255, 255, 255)\n'#color.linear-rgb(255, 255, 255)'\n\u003e\u003e\u003e color.linear_rgb('50%', '50%', '50%', '50%')\n'#color.linear-rgb(50%, 50%, 50%, 50%)'\n```\n\n`std.visualize.rgb`:\n\n```python\n\u003e\u003e\u003e rgb(255, 255, 255)\n'#rgb(255, 255, 255)'\n\u003e\u003e\u003e rgb('50%', '50%', '50%', '50%')\n'#rgb(50%, 50%, 50%, 50%)'\n\u003e\u003e\u003e rgb('\"#ffffff\"')\n'#rgb(\"#ffffff\")'\n```\n\n`std.visualize.cmyk`:\n\n```python\n\u003e\u003e\u003e cmyk('0%', '0%', '0%', '0%')\n'#cmyk(0%, 0%, 0%, 0%)'\n\u003e\u003e\u003e cmyk('50%', '50%', '50%', '50%')\n'#cmyk(50%, 50%, 50%, 50%)'\n```\n\n`std.visualize._color_hsl`:\n\n```python\n\u003e\u003e\u003e color.hsl('0deg', '50%', '50%', '50%')\n'#color.hsl(0deg, 50%, 50%, 50%)'\n\u003e\u003e\u003e color.hsl('0deg', '50%', '50%')\n'#color.hsl(0deg, 50%, 50%)'\n```\n\n`std.visualize._color_hsv`:\n\n```python\n\u003e\u003e\u003e color.hsv('0deg', '50%', '50%', '50%')\n'#color.hsv(0deg, 50%, 50%, 50%)'\n\u003e\u003e\u003e color.hsv('0deg', '50%', '50%')\n'#color.hsv(0deg, 50%, 50%)'\n```\n\n`std.visualize._color_components`:\n\n```python\n\u003e\u003e\u003e color.components(rgb(255, 255, 255))\n'#rgb(255, 255, 255).components()'\n```\n\n`std.visualize._color_space`:\n\n```python\n\u003e\u003e\u003e color.space(rgb(255, 255, 255))\n'#rgb(255, 255, 255).space()'\n```\n\n`std.visualize._color_to_hex`:\n\n```python\n\u003e\u003e\u003e color.to_hex(rgb(255, 255, 255))\n'#rgb(255, 255, 255).to-hex()'\n```\n\n`std.visualize._color_lighten`:\n\n```python\n\u003e\u003e\u003e color.lighten(rgb(255, 255, 255), '50%')\n'#rgb(255, 255, 255).lighten(50%)'\n```\n\n`std.visualize._color_darken`:\n\n```python\n\u003e\u003e\u003e color.darken(rgb(255, 255, 255), '50%')\n'#rgb(255, 255, 255).darken(50%)'\n```\n\n`std.visualize._color_saturate`:\n\n```python\n\u003e\u003e\u003e color.saturate(rgb(255, 255, 255), '50%')\n'#rgb(255, 255, 255).saturate(50%)'\n```\n\n`std.visualize._color_desaturate`:\n\n```python\n\u003e\u003e\u003e color.desaturate(rgb(255, 255, 255), '50%')\n'#rgb(255, 255, 255).desaturate(50%)'\n```\n\n`std.visualize._color_negate`:\n\n```python\n\u003e\u003e\u003e color.negate(rgb(255, 255, 255))\n'#rgb(255, 255, 255).negate()'\n\u003e\u003e\u003e color.negate(rgb(255, 255, 255), space='oklch')\n'#rgb(255, 255, 255).negate(space: oklch)'\n```\n\n`std.visualize._color_rotate`:\n\n```python\n\u003e\u003e\u003e color.rotate(rgb(255, 255, 255), '90deg')\n'#rgb(255, 255, 255).rotate(90deg)'\n```\n\n`std.visualize._color_mix`:\n\n```python\n\u003e\u003e\u003e color.mix(rgb(255, 255, 255), rgb(0, 0, 0), space='oklch')\n'#color.mix(rgb(255, 255, 255), rgb(0, 0, 0), space: oklch)'\n```\n\n`std.visualize._color_transparentize`:\n\n```python\n\u003e\u003e\u003e color.transparentize(rgb(255, 255, 255), '50%')\n'#rgb(255, 255, 255).transparentize(50%)'\n```\n\n`std.visualize._color_opacify`:\n\n```python\n\u003e\u003e\u003e color.opacify(rgb(255, 255, 255), '50%')\n'#rgb(255, 255, 255).opacify(50%)'\n```\n\n`std.visualize.color`:\n\n```python\n\u003e\u003e\u003e color()\n'#color'\n```\n\n`std.visualize.ellipse`:\n\n```python\n\u003e\u003e\u003e ellipse('[Hello, World!]')\n'#ellipse([Hello, World!])'\n\u003e\u003e\u003e ellipse('[Hello, World!]', width='100%')\n'#ellipse([Hello, World!], width: 100%)'\n```\n\n`std.visualize._gradient_linear`:\n\n```python\n\u003e\u003e\u003e gradient.linear(rgb(255, 255, 255), rgb(0, 0, 0))\n'#gradient.linear(rgb(255, 255, 255), rgb(0, 0, 0))'\n```\n\n`std.visualize.gradient`:\n\n```python\n\u003e\u003e\u003e gradient()\n'#gradient'\n```\n\n`std.visualize.image`:\n\n```python\n\u003e\u003e\u003e image('\"image.png\"')\n'#image(\"image.png\")'\n\u003e\u003e\u003e image('\"image.png\"', fit='\"contain\"')\n'#image(\"image.png\", fit: \"contain\")'\n```\n\n`std.visualize.line`:\n\n```python\n\u003e\u003e\u003e line()\n'#line()'\n\u003e\u003e\u003e line(end=('100% + 0pt', '100% + 0pt'))\n'#line(end: (100% + 0pt, 100% + 0pt))'\n\u003e\u003e\u003e line(angle='90deg')\n'#line(angle: 90deg)'\n\u003e\u003e\u003e line(stroke='1pt + red')\n'#line(stroke: 1pt + red)'\n```\n\n`std.visualize.path`:\n\n```python\n\u003e\u003e\u003e path(('0%', '0%'), ('100%', '0%'), ('100%', '100%'), ('0%', '100%'))\n'#path((0%, 0%), (100%, 0%), (100%, 100%), (0%, 100%))'\n\u003e\u003e\u003e path(('0%', '0%'), ('100%', '0%'), ('100%', '100%'), ('0%', '100%'), fill='red')\n'#path(fill: red, (0%, 0%), (100%, 0%), (100%, 100%), (0%, 100%))'\n\u003e\u003e\u003e path(\n...     ('0%', '0%'),\n...     ('100%', '0%'),\n...     ('100%', '100%'),\n...     ('0%', '100%'),\n...     fill='red',\n...     stroke='blue',\n... )\n'#path(fill: red, stroke: blue, (0%, 0%), (100%, 0%), (100%, 100%), (0%, 100%))'\n```\n\n`std.text.highlight`:\n\n```python\n\u003e\u003e\u003e highlight('\"Hello, world!\"', fill=rgb('\"#ffffff\"'))\n'#highlight(\"Hello, world!\", fill: rgb(\"#ffffff\"))'\n\u003e\u003e\u003e highlight('\"Hello, world!\"', fill=rgb('\"#ffffff\"'), stroke=rgb('\"#000000\"'))\n'#highlight(\"Hello, world!\", fill: rgb(\"#ffffff\"), stroke: rgb(\"#000000\"))'\n\u003e\u003e\u003e highlight(\n...     '\"Hello, world!\"',\n...     fill=rgb('\"#ffffff\"'),\n...     stroke=rgb('\"#000000\"'),\n...     top_edge='\"bounds\"',\n...     bottom_edge='\"bounds\"',\n... )\n'#highlight(\"Hello, world!\", fill: rgb(\"#ffffff\"), stroke: rgb(\"#000000\"), top-edge: \"bounds\", bottom-edge: \"bounds\")'\n```\n\n`std.text.linebreak`:\n\n```python\n\u003e\u003e\u003e linebreak()\n'#linebreak()'\n\u003e\u003e\u003e linebreak(justify=True)\n'#linebreak(justify: true)'\n```\n\n`std.text.lorem`:\n\n```python\n\u003e\u003e\u003e lorem(10)\n'#lorem(10)'\n```\n\n`std.text.lower`:\n\n```python\n\u003e\u003e\u003e lower('\"Hello, World!\"')\n'#lower(\"Hello, World!\")'\n\u003e\u003e\u003e lower('[Hello, World!]')\n'#lower([Hello, World!])'\n\u003e\u003e\u003e lower(upper('\"Hello, World!\"'))\n'#lower(upper(\"Hello, World!\"))'\n```\n\n`std.text.overline`:\n\n```python\n\u003e\u003e\u003e overline('\"Hello, World!\"')\n'#overline(\"Hello, World!\")'\n\u003e\u003e\u003e overline('[Hello, World!]')\n'#overline([Hello, World!])'\n\u003e\u003e\u003e overline(\n...     upper('\"Hello, World!\"'),\n...     stroke='red',\n...     offset='0pt',\n...     extent='0pt',\n...     evade=False,\n...     background=True,\n... )\n'#overline(upper(\"Hello, World!\"), stroke: red, offset: 0pt, evade: false, background: true)'\n```\n\n`std.text._raw_line`:\n\n```python\n\u003e\u003e\u003e raw.line(1, 1, '\"Hello, World!\"', '\"Hello, World!\"')\n'#raw.line(1, 1, \"Hello, World!\", \"Hello, World!\")'\n```\n\n`std.text.raw`:\n\n```python\n\u003e\u003e\u003e raw('\"Hello, World!\"')\n'#raw(\"Hello, World!\")'\n\u003e\u003e\u003e raw('\"Hello, World!\"', block=True, align='center')\n'#raw(\"Hello, World!\", block: true, align: center)'\n\u003e\u003e\u003e raw('\"Hello, World!\"', lang='\"rust\"')\n'#raw(\"Hello, World!\", lang: \"rust\")'\n\u003e\u003e\u003e raw('\"Hello, World!\"', tab_size=4)\n'#raw(\"Hello, World!\", tab-size: 4)'\n```\n\n`std.text.smallcaps`:\n\n```python\n\u003e\u003e\u003e smallcaps('\"Hello, World!\"')\n'#smallcaps(\"Hello, World!\")'\n\u003e\u003e\u003e smallcaps('[Hello, World!]')\n'#smallcaps([Hello, World!])'\n```\n\n`std.text.smartquote`:\n\n```python\n\u003e\u003e\u003e smartquote(double=False, enabled=False, alternative=True, quotes='\"()\"')\n'#smartquote(double: false, enabled: false, alternative: true, quotes: \"()\")'\n\u003e\u003e\u003e smartquote(quotes=('\"()\"', '\"{}\"'))\n'#smartquote(quotes: (\"()\", \"{}\"))'\n```\n\n`std.text.strike`:\n\n```python\n\u003e\u003e\u003e strike('\"Hello, World!\"')\n'#strike(\"Hello, World!\")'\n\u003e\u003e\u003e strike('[Hello, World!]')\n'#strike([Hello, World!])'\n\u003e\u003e\u003e strike(\n...     upper('\"Hello, World!\"'),\n...     stroke='red',\n...     offset='0.1em',\n...     extent='0.2em',\n...     background=True,\n... )\n'#strike(upper(\"Hello, World!\"), stroke: red, offset: 0.1em, extent: 0.2em, background: true)'\n```\n\n`std.text.subscript`:\n\n```python\n\u003e\u003e\u003e subscript('\"Hello, World!\"')\n'#sub(\"Hello, World!\")'\n\u003e\u003e\u003e subscript('[Hello, World!]')\n'#sub([Hello, World!])'\n\u003e\u003e\u003e subscript('[Hello, World!]', typographic=False, baseline='0.3em', size='0.7em')\n'#sub([Hello, World!], typographic: false, baseline: 0.3em, size: 0.7em)'\n```\n\n`std.text.superscript`:\n\n```python\n\u003e\u003e\u003e superscript('\"Hello, World!\"')\n'#super(\"Hello, World!\")'\n\u003e\u003e\u003e superscript('[Hello, World!]')\n'#super([Hello, World!])'\n\u003e\u003e\u003e superscript(\n...     '[Hello, World!]', typographic=False, baseline='-0.4em', size='0.7em'\n... )\n'#super([Hello, World!], typographic: false, baseline: -0.4em, size: 0.7em)'\n```\n\n`std.text.text`:\n\n```python\n\u003e\u003e\u003e text('\"Hello, World!\"')\n'#text(\"Hello, World!\")'\n\u003e\u003e\u003e text('[Hello, World!]')\n'#text([Hello, World!])'\n\u003e\u003e\u003e text('[Hello, World!]', font='\"Times New Roman\"')\n'#text([Hello, World!], font: \"Times New Roman\")'\n```\n\n`std.text.underline`:\n\n```python\n\u003e\u003e\u003e underline('\"Hello, World!\"')\n'#underline(\"Hello, World!\")'\n\u003e\u003e\u003e underline('[Hello, World!]')\n'#underline([Hello, World!])'\n\u003e\u003e\u003e underline(\n...     '[Hello, World!]',\n...     stroke='1pt + red',\n...     offset='0pt',\n...     extent='1pt',\n...     evade=False,\n...     background=True,\n... )\n'#underline([Hello, World!], stroke: 1pt + red, offset: 0pt, extent: 1pt, evade: false, background: true)'\n```\n\n`std.text.upper`:\n\n```python\n\u003e\u003e\u003e upper('\"Hello, World!\"')\n'#upper(\"Hello, World!\")'\n\u003e\u003e\u003e upper('[Hello, World!]')\n'#upper([Hello, World!])'\n\u003e\u003e\u003e upper(lower('\"Hello, World!\"'))\n'#upper(lower(\"Hello, World!\"))'\n```\n\n`std.layout.align`:\n\n```python\n\u003e\u003e\u003e align('\"Hello, World!\"', 'center')\n'#align(\"Hello, World!\", center)'\n\u003e\u003e\u003e align('[Hello, World!]', 'center')\n'#align([Hello, World!], center)'\n\u003e\u003e\u003e align(lorem(20), 'center')\n'#align(lorem(20), center)'\n```\n\n`std.layout.block`:\n\n```python\n\u003e\u003e\u003e block('\"Hello, World!\"')\n'#block(\"Hello, World!\")'\n\u003e\u003e\u003e block('[Hello, World!]')\n'#block([Hello, World!])'\n\u003e\u003e\u003e block(lorem(20))\n'#block(lorem(20))'\n\u003e\u003e\u003e block(lorem(20), width='100%')\n'#block(lorem(20), width: 100%)'\n```\n\n`std.layout.box`:\n\n```python\n\u003e\u003e\u003e box('\"Hello, World!\"')\n'#box(\"Hello, World!\")'\n\u003e\u003e\u003e box('[Hello, World!]')\n'#box([Hello, World!])'\n\u003e\u003e\u003e box(lorem(20))\n'#box(lorem(20))'\n\u003e\u003e\u003e box(lorem(20), width='100%')\n'#box(lorem(20), width: 100%)'\n```\n\n`std.layout.colbreak`:\n\n```python\n\u003e\u003e\u003e colbreak()\n'#colbreak()'\n\u003e\u003e\u003e colbreak(weak=True)\n'#colbreak(weak: true)'\n```\n\n`std.layout.columns`:\n\n```python\n\u003e\u003e\u003e columns(lorem(20))\n'#columns(lorem(20))'\n\u003e\u003e\u003e columns(lorem(20), 3)\n'#columns(lorem(20), 3)'\n\u003e\u003e\u003e columns(lorem(20), 3, gutter='8% + 0pt')\n'#columns(lorem(20), 3, gutter: 8% + 0pt)'\n```\n\n`std.layout.grid`:\n\n```python\n\u003e\u003e\u003e grid(lorem(20), lorem(20), lorem(20), align=('center',) * 3)\n'#grid(align: (center, center, center), lorem(20), lorem(20), lorem(20))'\n```\n\n`std.layout.hide`:\n\n```python\n\u003e\u003e\u003e hide(lorem(20))\n'#hide(lorem(20))'\n```\n\n`std.layout.move`:\n\n```python\n\u003e\u003e\u003e move(lorem(20), dx='50% + 10pt', dy='10% + 5pt')\n'#move(lorem(20), dx: 50% + 10pt, dy: 10% + 5pt)'\n```\n\n`std.layout.padding`:\n\n```python\n\u003e\u003e\u003e padding(\n...     lorem(20),\n...     left='4% + 0pt',\n...     top='4% + 0pt',\n...     right='4% + 0pt',\n...     bottom='4% + 0pt',\n... )\n'#pad(lorem(20), left: 4% + 0pt, top: 4% + 0pt, right: 4% + 0pt, bottom: 4% + 0pt)'\n\n.. deprecated:: 1.0.2\nThe function will be removed since version 1.1.x. Use `pad`\ninstead.\n```\n\n`std.layout.pad`:\n\n```python\n\u003e\u003e\u003e pad(\n...     lorem(20),\n...     left='4% + 0pt',\n...     top='4% + 0pt',\n...     right='4% + 0pt',\n...     bottom='4% + 0pt',\n... )\n'#pad(lorem(20), left: 4% + 0pt, top: 4% + 0pt, right: 4% + 0pt, bottom: 4% + 0pt)'\n```\n\n`std.layout.page`:\n\n```python\n\u003e\u003e\u003e page(lorem(20))\n'#page(lorem(20))'\n\u003e\u003e\u003e page(lorem(20), paper='\"a0\"', width='8.5in', height='11in')\n'#page(lorem(20), paper: \"a0\", width: 8.5in, height: 11in)'\n```\n\n`std.layout.pagebreak`:\n\n```python\n\u003e\u003e\u003e pagebreak()\n'#pagebreak()'\n\u003e\u003e\u003e pagebreak(weak=True)\n'#pagebreak(weak: true)'\n\u003e\u003e\u003e pagebreak(to='\"even\"')\n'#pagebreak(to: \"even\")'\n```\n\n`std.layout._place_flush`:\n\n```python\n\u003e\u003e\u003e place.flush()\n'#place.flush()'\n```\n\n`std.layout.place`:\n\n```python\n\u003e\u003e\u003e place(lorem(20))\n'#place(lorem(20))'\n\u003e\u003e\u003e place(lorem(20), 'top')\n'#place(lorem(20), top)'\n```\n\n`std.layout.repeat`:\n\n```python\n\u003e\u003e\u003e repeat(lorem(20), gap='0.5em')\n'#repeat(lorem(20), gap: 0.5em)'\n\u003e\u003e\u003e repeat(lorem(20), gap='0.5em', justify=False)\n'#repeat(lorem(20), gap: 0.5em, justify: false)'\n```\n\n`std.layout.rotate`:\n\n```python\n\u003e\u003e\u003e rotate(lorem(20), '20deg')\n'#rotate(lorem(20), 20deg)'\n\u003e\u003e\u003e rotate(lorem(20), '20deg', origin='left + horizon')\n'#rotate(lorem(20), 20deg, origin: left + horizon)'\n```\n\n`std.layout.scale`:\n\n```python\n\u003e\u003e\u003e scale(lorem(20), '50%')\n'#scale(lorem(20), 50%)'\n\u003e\u003e\u003e scale(lorem(20), x='50%', y='50%')\n'#scale(lorem(20), x: 50%, y: 50%)'\n\u003e\u003e\u003e scale(lorem(20), '50%', x='50%', y='50%')\n'#scale(lorem(20), 50%, x: 50%, y: 50%)'\n```\n\n`std.layout.skew`:\n\n```python\n\u003e\u003e\u003e skew(lorem(20), ax='10deg', ay='20deg')\n'#skew(lorem(20), ax: 10deg, ay: 20deg)'\n```\n\n`std.layout.hspace`:\n\n```python\n\u003e\u003e\u003e hspace('1em')\n'#h(1em)'\n\u003e\u003e\u003e hspace('1em', weak=True)\n'#h(1em, weak: true)'\n```\n\n`std.layout.vspace`:\n\n```python\n\u003e\u003e\u003e vspace('1em')\n'#v(1em)'\n\u003e\u003e\u003e vspace('1em', weak=True)\n'#v(1em, weak: true)'\n```\n\n`std.layout.stack`:\n\n```python\n\u003e\u003e\u003e stack(rect(width='40pt'), rect(width='120pt'), rect(width='90pt'), dir='btt')\n'#stack(dir: btt, rect(width: 40pt), rect(width: 120pt), rect(width: 90pt))'\n\u003e\u003e\u003e stack((rect(width='40pt'), rect(width='120pt'), rect(width='90pt')), dir='btt')\n'#stack(dir: btt, ..(rect(width: 40pt), rect(width: 120pt), rect(width: 90pt)))'\n```\n\n`std.model.bibliography`:\n\n```python\n\u003e\u003e\u003e bibliography('\"bibliography.bib\"', style='\"cell\"')\n'#bibliography(\"bibliography.bib\", style: \"cell\")'\n```\n\n`std.model.bullet_list`:\n\n```python\n\u003e\u003e\u003e bullet_list(lorem(20), lorem(20), lorem(20))\n'#list(lorem(20), lorem(20), lorem(20))'\n\u003e\u003e\u003e bullet_list(lorem(20), lorem(20), lorem(20), tight=False)\n'#list(tight: false, lorem(20), lorem(20), lorem(20))'\n```\n\n`std.model.cite`:\n\n```python\n\u003e\u003e\u003e cite('\u003clabel\u003e')\n'#cite(\u003clabel\u003e)'\n\u003e\u003e\u003e cite('\u003clabel\u003e', supplement='[Hello, World!]')\n'#cite(\u003clabel\u003e, supplement: [Hello, World!])'\n\u003e\u003e\u003e cite('\u003clabel\u003e', form='\"prose\"')\n'#cite(\u003clabel\u003e, form: \"prose\")'\n\u003e\u003e\u003e cite('\u003clabel\u003e', style='\"annual-reviews\"')\n'#cite(\u003clabel\u003e, style: \"annual-reviews\")'\n```\n\n`std.model.emph`:\n\n```python\n\u003e\u003e\u003e emph('\"Hello, World!\"')\n'#emph(\"Hello, World!\")'\n\u003e\u003e\u003e emph('[Hello, World!]')\n'#emph([Hello, World!])'\n```\n\n`std.model._figure_caption`:\n\n```python\n\u003e\u003e\u003e figure.caption('[Hello, World!]')\n'#figure.caption([Hello, World!])'\n\u003e\u003e\u003e figure.caption('[Hello, World!]', position='top', separator='[---]')\n'#figure.caption([Hello, World!], position: top, separator: [---])'\n```\n\n`std.model.figure`:\n\n```python\n\u003e\u003e\u003e figure(image('\"image.png\"'))\n'#figure(image(\"image.png\"))'\n\u003e\u003e\u003e figure(image('\"image.png\"'), caption='[Hello, World!]')\n'#figure(image(\"image.png\"), caption: [Hello, World!])'\n```\n\n`std.model.footnote`:\n\n```python\n\u003e\u003e\u003e footnote('[Hello, World!]')\n'#footnote([Hello, World!])'\n\u003e\u003e\u003e footnote('[Hello, World!]', numbering='\"a\"')\n'#footnote([Hello, World!], numbering: \"a\")'\n```\n\n`std.model.heading`:\n\n```python\n\u003e\u003e\u003e heading('[Hello, World!]')\n'#heading([Hello, World!])'\n\u003e\u003e\u003e heading('[Hello, World!]', level=1)\n'#heading([Hello, World!], level: 1)'\n\u003e\u003e\u003e heading('[Hello, World!]', level=1, depth=2)\n'#heading([Hello, World!], level: 1, depth: 2)'\n\u003e\u003e\u003e heading('[Hello, World!]', level=1, depth=2, offset=10)\n'#heading([Hello, World!], level: 1, depth: 2, offset: 10)'\n\u003e\u003e\u003e heading('[Hello, World!]', level=1, depth=2, offset=10, numbering='\"a\"')\n'#heading([Hello, World!], level: 1, depth: 2, offset: 10, numbering: \"a\")'\n\u003e\u003e\u003e heading(\n...     '[Hello, World!]',\n...     level=1,\n...     depth=2,\n...     offset=10,\n...     numbering='\"a\"',\n...     supplement='\"Supplement\"',\n... )\n'#heading([Hello, World!], level: 1, depth: 2, offset: 10, numbering: \"a\", supplement: \"Supplement\")'\n```\n\n`std.model.link`:\n\n```python\n\u003e\u003e\u003e link('\"https://typst.app\"')\n'#link(\"https://typst.app\")'\n\u003e\u003e\u003e link('\"https://typst.app\"', '\"Typst\"')\n'#link(\"https://typst.app\", \"Typst\")'\n```\n\n`std.model._numbered_list_item`:\n\n```python\n\u003e\u003e\u003e numbered_list.item('[Hello, World!]', number=2)\n'#enum.item([Hello, World!], number: 2)'\n```\n\n`std.model.numbered_list`:\n\n```python\n\u003e\u003e\u003e numbered_list(lorem(20), lorem(20), lorem(20))\n'#enum(lorem(20), lorem(20), lorem(20))'\n\u003e\u003e\u003e numbered_list(lorem(20), lorem(20), lorem(20), tight=False)\n'#enum(tight: false, lorem(20), lorem(20), lorem(20))'\n```\n\n`std.model.numbering`:\n\n```python\n\u003e\u003e\u003e numbering('\"1.1)\"', 1, 2)\n'#numbering(\"1.1)\", 1, 2)'\n```\n\n`std.model.outline`:\n\n```python\n\u003e\u003e\u003e outline()\n'#outline()'\n\u003e\u003e\u003e outline(title='\"Hello, World!\"', target=heading.where(outlined=False))\n'#outline(title: \"Hello, World!\", target: heading.where(outlined: false))'\n```\n\n`std.model.par`:\n\n```python\n\u003e\u003e\u003e par('\"Hello, World!\"')\n'#par(\"Hello, World!\")'\n\u003e\u003e\u003e par('[Hello, World!]')\n'#par([Hello, World!])'\n\u003e\u003e\u003e par(\n...     '[Hello, World!]',\n...     leading='0.1em',\n...     spacing='0.5em',\n...     justify=True,\n...     linebreaks='\"simple\"',\n...     first_line_indent='0.2em',\n...     hanging_indent='0.3em',\n... )\n'#par([Hello, World!], leading: 0.1em, spacing: 0.5em, justify: true, linebreaks: \"simple\", first-line-indent: 0.2em, hanging-indent: 0.3em)'\n```\n\n`std.model.parbreak`:\n\n```python\n\u003e\u003e\u003e parbreak()\n'#parbreak()'\n```\n\n`std.model.quote`:\n\n```python\n\u003e\u003e\u003e quote('\"Hello, World!\"')\n'#quote(\"Hello, World!\")'\n\u003e\u003e\u003e quote('\"Hello, World!\"', block=True)\n'#quote(\"Hello, World!\", block: true)'\n\u003e\u003e\u003e quote('\"Hello, World!\"', quotes=False)\n'#quote(\"Hello, World!\", quotes: false)'\n\u003e\u003e\u003e quote('\"Hello, World!\"', attribution='\"John Doe\"')\n'#quote(\"Hello, World!\", attribution: \"John Doe\")'\n```\n\n`std.model.ref`:\n\n```python\n\u003e\u003e\u003e ref('\u003clabel\u003e')\n'#ref(\u003clabel\u003e)'\n\u003e\u003e\u003e ref('\u003clabel\u003e', supplement='[Hello, World!]')\n'#ref(\u003clabel\u003e, supplement: [Hello, World!])'\n```\n\n`std.model.strong`:\n\n```python\n\u003e\u003e\u003e strong('\"Hello, World!\"')\n'#strong(\"Hello, World!\")'\n\u003e\u003e\u003e strong('[Hello, World!]', delta=400)\n'#strong([Hello, World!], delta: 400)'\n```\n\n`std.model.table`:\n\n```python\n\u003e\u003e\u003e table('[1]', '[2]', '[3]')\n'#table([1], [2], [3])'\n\u003e\u003e\u003e table(\n...     '[1]',\n...     '[2]',\n...     '[3]',\n...     columns=['1fr', '2fr', '3fr'],\n...     rows=['1fr', '2fr', '3fr'],\n...     gutter=['1fr', '2fr', '3fr'],\n...     column_gutter=['1fr', '2fr', '3fr'],\n...     row_gutter=['1fr', '2fr', '3fr'],\n...     fill='red',\n...     align=['center', 'center', 'center'],\n... )\n'#table(columns: (1fr, 2fr, 3fr), rows: (1fr, 2fr, 3fr), gutter: (1fr, 2fr, 3fr), column-gutter: (1fr, 2fr, 3fr), row-gutter: (1fr, 2fr, 3fr), fill: red, align: (center, center, center), [1], [2], [3])'\n```\n\n`std.model._terms_item`:\n\n```python\n\u003e\u003e\u003e terms.item('\"term\"', '\"description\"')\n'#terms.item(\"term\", \"description\")'\n```\n\n`std.model.terms`:\n\n```python\n\u003e\u003e\u003e terms(('[1]', lorem(20)), ('[1]', lorem(20)))\n'#terms(([1], lorem(20)), ([1], lorem(20)))'\n\u003e\u003e\u003e terms(('[1]', lorem(20)), ('[1]', lorem(20)), tight=False)\n'#terms(tight: false, ([1], lorem(20)), ([1], lorem(20)))'\n\u003e\u003e\u003e terms(terms.item('[1]', lorem(20)), terms.item('[1]', lorem(20)))\n'#terms(terms.item([1], lorem(20)), terms.item([1], lorem(20)))'\n```\n\n`subpar.grid`:\n\n```python\n\u003e\u003e\u003e grid(\n...     figure(image('\"image.png\"')),\n...     '\u003ca\u003e',\n...     figure(image('\"image.png\"')),\n...     '\u003cb\u003e',\n...     columns=('1fr', '1fr'),\n...     caption='[A figure composed of two sub figures.]',\n...     label='\u003cfull\u003e',\n... )\n'#subpar.grid(figure(image(\"image.png\")), \u003ca\u003e, figure(image(\"image.png\")), \u003cb\u003e, columns: (1fr, 1fr), caption: [A figure composed of two sub figures.], label: \u003cfull\u003e)'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeibingyangliuying%2Fpython-typst","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeibingyangliuying%2Fpython-typst","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeibingyangliuying%2Fpython-typst/lists"}