diff options
| author | Laurenz <laurmaedje@gmail.com> | 2023-07-02 19:59:52 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2023-07-02 20:07:43 +0200 |
| commit | ebfdb1dafa430786db10dad2ef7d5467c1bdbed1 (patch) | |
| tree | 2bbc24ddb4124c4bb14dec0e536129d4de37b056 /docs/reference/details.yml | |
| parent | 3ab19185093d7709f824b95b979060ce125389d8 (diff) | |
Move everything into `crates/` directory
Diffstat (limited to 'docs/reference/details.yml')
| -rw-r--r-- | docs/reference/details.yml | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/docs/reference/details.yml b/docs/reference/details.yml new file mode 100644 index 00000000..8e9af3a0 --- /dev/null +++ b/docs/reference/details.yml @@ -0,0 +1,174 @@ +types: | + To style your document, you need to work with values of different kinds: Lengths + specifying the size of your elements, colors for your text and shapes, and more. + Typst categorizes these into clearly defined _types_ and tells you where it + expects which type of value. + + Apart from very basic types for numeric values and typical types known from + programming languages, Typst provides a special type for _content._ A value of + this type can hold anything that you can enter into your document: Text, + elements like headings and shapes, and style information. + + In some places of Typst more specialized data types are used. Instead of listing + all of them here, they are explained where they are relevant. + +text: | + Text styling. + + The [text function]($func/text) is of particular interest. + +math: | + Typst has special [syntax]($syntax/#math) and library functions + to typeset mathematical formulas. Math formulas can be displayed inline with + text or as separate blocks. They will be typeset into their own block if they + start and end with at least one space (e.g. `[$ x^2 $]`). + + In math, single letters are always displayed as is. Multiple letters, however, + are interpreted as variables and functions. To display multiple letters + verbatim, you can place them into quotes and to access single letter + variables, you can use the + [hashtag syntax]($scripting/#expressions). + + ```example + $ A = pi r^2 $ + $ "area" = pi dot "radius"^2 $ + $ cal(A) := + { x in RR | x "is natural" } $ + #let x = 5 + $ #x < 17 $ + ``` + + Math mode makes a wide selection of [symbols]($category/symbols/sym) like + `pi`, `dot`, or `RR` available. Many mathematical symbols are available in + different variants. You can select between different variants by applying + [modifiers]($type/symbol) to the symbol. Typst further recognizes a number of + shorthand sequences like `=>` that approximate a symbol. When such a shorthand + exists, the symbol's documentation lists it. + + ```example + $ x < y => x gt.eq.not y $ + ``` + + Formulas can also contain line breaks. Each line can contain one or multiple + _alignment points_ (`&`) which are then aligned. + ```example + $ sum_(k=0)^n k + &= 1 + ... + n \ + &= (n(n+1)) / 2 $ + ``` + + Math mode supports special function calls without the hashtag prefix. In these + "math calls", the argument list works a little differently than in code: + + - Within them, Typst is still in "math mode". Thus, you can write math directly + into them, but need to use hashtag syntax to pass code expressions (except + for strings, which are available in the math syntax). + - They support positional and named arguments, but don't support + trailing content blocks and argument spreading. + - They provide additional syntax for 2-dimensional argument lists. The + semicolon (`;`) merges preceding arguments separated by commas into an array + argument. + + ```example + $ frac(a^2, 2) $ + $ vec(1, 2, delim: "[") $ + $ mat(1, 2; 3, 4) $ + $ lim_x = + op("lim", limits: #true)_x $ + ``` + + To write a verbatim comma or semicolon in a math call, escape it with a + backslash. The colon on the other hand is only recognized in a special way if + directly preceded by an identifier, so to display it verbatim in those cases, + you can just insert a space before it. + + Functions calls preceded by a hashtag are normal code function calls and not + affected by these rules. + + All math functions are part of the `math` [module]($scripting/#modules), which + is available by default in equations. Outside of equations, they can be + accessed with the `math.` prefix. For example, to set the font used for + equations, write: + + ```example + #show math.equation: set text(font: "Fira Math") + $ sum_(i in NN) 1 + i $ + ``` + +layout: | + Arranging elements on the page in different ways. + + By combining layout functions, you can create complex and automatic layouts. + +visualize: | + Drawing and data visualization. + + _Note:_ Functions for plotting and diagrams are not yet available. They will + be in the future. + +meta: | + Document structuring, introspection, and metadata configuration. + + Here, you can find functions to structure your document and interact with that + structure. This includes section headings and figures, bibliography + management, cross-referencing and more. + + Moreover, this category is home to Typst's introspection capabilities: With + the `counter` function, you can access and manipulate page, section, figure, + and equation counters or create custom ones. And the `query` function lets you + search for elements in the document to construct things like a list of + figures or headers which show the current chapter title. + +symbols: | + These two modules give names to symbols and emoji to make them easy to insert + with a normal keyboard. Alternatively, you can also always directly enter + Unicode symbols into your text and formulas. In addition to the symbols listed + below, math mode defines `dif` and `Dif`. These are not normal symbol values + because they also affect spacing and font style. + +sym: | + Named general symbols. + + For example, `#sym.arrow` produces the → symbol. Within + [formulas]($category/math), these symbols can be used without the `#sym.` + prefix. + + The `d` in an integral's `dx` can be written as `[$dif x$]`. + Outside math formulas, `dif` can be accessed as `math.dif`. + +emoji: | + Named emoji. + + For example, `#emoji.face` produces the 😀 emoji. If you frequently use + certain emojis, you can also import them from the `emoji` module (`[#import + emoji: face]`) to use them without the `#emoji.` prefix. + +foundations: | + Foundational functions for computation. + +calculate: | + Calculations and processing of numeric values. + + These functions are part of the `calc` module and not imported by default. In + addition to the functions listed below, the `calc` module also defines the + constants `pi`, `e`, `inf`, and `nan`. + +construct: | + Construction of and conversions between values of different types. + +data-loading: | + Data loading from external files. + + These functions help you with embedding data from experiments in your + documents. + +utility: | + Useful utility functions. + +packages: | + Typst [packages]($scripting/#packages) encapsulate reusable building blocks + and make them reusable across projects. Below is a list of Typst packages + created by the community. Due to the early and experimental nature of Typst's + package management, they all live in a `preview` namespace. Click on a + package's name to view its documentation and use the copy button on the right + to get a full import statement for it. |
