mirror of
https://github.com/typst/typst
synced 2025-05-13 20:46:23 +08:00
A few tutorial improvements
This commit is contained in:
parent
2d16f9434f
commit
c8b0be21f5
@ -30,3 +30,14 @@
|
|||||||
title={An Insight into Bibliographical Distress},
|
title={An Insight into Bibliographical Distress},
|
||||||
author={Aldrin, Buzz}
|
author={Aldrin, Buzz}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@article{glacier-melt,
|
||||||
|
author = {Regine Hock},
|
||||||
|
title ={Glacier melt: a review of processes and their modelling},
|
||||||
|
journal = {Progress in Physical Geography: Earth and Environment},
|
||||||
|
volume = {29},
|
||||||
|
number = {3},
|
||||||
|
pages = {362-391},
|
||||||
|
year = {2005},
|
||||||
|
doi = {10.1191/0309133305pp453ra},
|
||||||
|
}
|
||||||
|
@ -55,9 +55,9 @@ items.
|
|||||||
+ The geology
|
+ The geology
|
||||||
```
|
```
|
||||||
|
|
||||||
If we wanted to add a bulleted list, we would use the `-` character instead of the
|
If we wanted to add a bulleted list, we would use the `-` character instead of
|
||||||
`+` character. We can also nest lists: For example, we can add a sub-list to the
|
the `+` character. We can also nest lists: For example, we can add a sub-list to
|
||||||
first item of the list above by indenting it.
|
the first item of the list above by indenting it.
|
||||||
|
|
||||||
```example
|
```example
|
||||||
+ The climate
|
+ The climate
|
||||||
@ -67,7 +67,7 @@ first item of the list above by indenting it.
|
|||||||
+ The geology
|
+ The geology
|
||||||
```
|
```
|
||||||
|
|
||||||
## Adding images
|
## Adding a figure
|
||||||
You think that your report would benefit from a figure. Let's add one. Typst
|
You think that your report would benefit from a figure. Let's add one. Typst
|
||||||
supports images in the formats PNG, JPEG, GIF, and SVG. To add an image file to
|
supports images in the formats PNG, JPEG, GIF, and SVG. To add an image file to
|
||||||
your project, first open the _file panel_ by clicking the box icon in the left
|
your project, first open the _file panel_ by clicking the box icon in the left
|
||||||
@ -83,9 +83,9 @@ We have seen before that specific symbols (called _markup_) have specific
|
|||||||
meaning in Typst. We can use `=`, `-`, `+`, and `_` to create headings, lists
|
meaning in Typst. We can use `=`, `-`, `+`, and `_` to create headings, lists
|
||||||
and emphasized text, respectively. However, having a special symbol for
|
and emphasized text, respectively. However, having a special symbol for
|
||||||
everything we want to insert into our document would soon become cryptic and
|
everything we want to insert into our document would soon become cryptic and
|
||||||
unwieldy. For this reason, Typst reserves markup symbols only for the most common
|
unwieldy. For this reason, Typst reserves markup symbols only for the most
|
||||||
things. Everything else is inserted with _functions._ For our image to show up
|
common things. Everything else is inserted with _functions._ For our image to
|
||||||
on the page, we use Typst's [`image`]($func/image) function.
|
show up on the page, we use Typst's [`image`]($func/image) function.
|
||||||
|
|
||||||
```example
|
```example
|
||||||
#image("glacier.jpg")
|
#image("glacier.jpg")
|
||||||
@ -95,11 +95,11 @@ In general, a function produces some output for a set of _arguments_. When you
|
|||||||
_call_ a function within markup, you provide the arguments and Typst inserts the
|
_call_ a function within markup, you provide the arguments and Typst inserts the
|
||||||
result (the function's _return value_) into the document. In our case, the
|
result (the function's _return value_) into the document. In our case, the
|
||||||
`image` function takes one argument: The path to the image file. To call a
|
`image` function takes one argument: The path to the image file. To call a
|
||||||
function, we first need to type the `#` character, immediately followed by the
|
function in markup, we first need to type the `#` character, immediately
|
||||||
name of the function. Then, we enclose the arguments in parentheses. Typst
|
followed by the name of the function. Then, we enclose the arguments in
|
||||||
recognizes many different data types within argument lists. Our file path is a
|
parentheses. Typst recognizes many different data types within argument lists.
|
||||||
short [string of text]($type/string), so we need to enclose it
|
Our file path is a short [string of text]($type/string), so we need to enclose
|
||||||
in double quotes.
|
it in double quotes.
|
||||||
|
|
||||||
The inserted image uses the whole width of the page. To change that, pass the
|
The inserted image uses the whole width of the page. To change that, pass the
|
||||||
`width` argument to the `image` function. This is a _named_ argument and
|
`width` argument to the `image` function. This is a _named_ argument and
|
||||||
@ -110,40 +110,52 @@ they are separated by commas, so we first need to put a comma behind the path.
|
|||||||
#image("glacier.jpg", width: 70%)
|
#image("glacier.jpg", width: 70%)
|
||||||
```
|
```
|
||||||
|
|
||||||
The `width` argument is a
|
The `width` argument is a [relative length]($type/relative-length). In our case,
|
||||||
[relative length]($type/relative-length). In our case, we specified a
|
we specified a percentage, determining that the image shall take up `{70%}` of
|
||||||
percentage, determining that the image shall take up `{70%}` of the page's
|
the page's width. We also could have specified an absolute value like `{1cm}` or
|
||||||
width. We also could have specified an absolute value like `{1cm}` or `{0.7in}`.
|
`{0.7in}`.
|
||||||
|
|
||||||
Just like text, the image is aligned at the left side of the page by default.
|
Just like text, the image is now aligned at the left side of the page by
|
||||||
That looks a bit awkward. Let's center it and add a caption. We achieve this by
|
default. It's also lacking a caption. Let's fix that by using the
|
||||||
using the [`align`]($func/align) function. This function takes an `alignment` as
|
[figure]($func/figure) function. This function takes the figure's contents as a
|
||||||
its first argument and then the content that we want to align as the second
|
positional argument and an optional caption as a named argument.
|
||||||
argument:
|
|
||||||
|
Within the argument list of the `figure` function, Typst is already in code mode. This means, you can now remove the hashtag before the image function call.
|
||||||
|
The hashtag is only needed directly in markup (to disambiguate text from function calls).
|
||||||
|
|
||||||
|
The caption consists of arbitrary markup. To give markup to a function, we
|
||||||
|
enclose it in square brackets. This construct is called a _content block._
|
||||||
|
|
||||||
```example
|
```example
|
||||||
#align(center)[
|
#figure(
|
||||||
#image("glacier.jpg", width: 70%)
|
image("glacier.jpg", width: 70%),
|
||||||
|
caption: [
|
||||||
_Glaciers form an important
|
_Glaciers_ form an important part
|
||||||
part of the earth's climate
|
of the earth's climate system.
|
||||||
system._
|
],
|
||||||
]
|
)
|
||||||
```
|
```
|
||||||
|
|
||||||
Did you spot the closing bracket `]` at the end of the example? Both the
|
You continue to write your report and now want to reference the figure. To do
|
||||||
argument and the caption are enclosed in the same square brackets. Therefore,
|
that, first attach a label to figure. A label uniquely identifies an element in
|
||||||
the `align` function centers both of them.
|
your document. Add one after the figure by enclosing some name in angle
|
||||||
|
brackets. You can then reference the figure in your text by writing an `[@]`
|
||||||
|
symbol followed by that name. Headings and equations can also be labelled to
|
||||||
|
make them referencable.
|
||||||
|
|
||||||
But wait, shouldn't the arguments of a function be specified within parentheses?
|
```example
|
||||||
Why is there a second set of square brackets with the aligned content after the
|
Glaciers as the one shown in
|
||||||
parentheses?
|
@glaciers will cease to exist if
|
||||||
|
we don't take action soon!
|
||||||
|
|
||||||
The answer is that, as passing content to a function is such a common thing
|
#figure(
|
||||||
to do in Typst, there is special syntax for it: Instead of putting the content
|
image("glacier.jpg", width: 70%),
|
||||||
inside of the argument list, you can write it in square brackets directly after
|
caption: [
|
||||||
the normal arguments, saving on punctuation. We call markup in square brackets
|
_Glaciers_ form an important part
|
||||||
a _content block._
|
of the earth's climate system.
|
||||||
|
],
|
||||||
|
) <glaciers>
|
||||||
|
```
|
||||||
|
|
||||||
<div class="info-box">
|
<div class="info-box">
|
||||||
|
|
||||||
@ -159,11 +171,37 @@ For example, the image function expects a path to an image file.
|
|||||||
It would not make sense to pass, e.g., a paragraph of text or a another image as
|
It would not make sense to pass, e.g., a paragraph of text or a another image as
|
||||||
the image's path parameter. That's why only strings are allowed here.
|
the image's path parameter. That's why only strings are allowed here.
|
||||||
On the contrary, strings work wherever content is expected because text is a
|
On the contrary, strings work wherever content is expected because text is a
|
||||||
kind of valid content.
|
valid kind of content.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
## Adding a bibliography
|
||||||
|
As you write up your report, you need to back up some of your claims. You can
|
||||||
|
add a bibliography to your document with the
|
||||||
|
[`bibliography`]($func/bibliography) function. This function expects a path
|
||||||
|
to a bibliography file.
|
||||||
|
|
||||||
|
Typst's native bibliography format is
|
||||||
|
[Hayagriva](https://github.com/typst/hayagriva/blob/main/docs/file-format.md),
|
||||||
|
but for compatibility you can also use BibLaTeX files. As your classmate has
|
||||||
|
already done a literature survey and sent you a `.bib` file, you'll use that
|
||||||
|
one. Upload the file through the final panel to access it in Typst.
|
||||||
|
|
||||||
|
Once the document contains a bibliography, you can start citing from it.
|
||||||
|
Citations use the same syntax as references to a label. As soon as you cite a
|
||||||
|
source for the first time, it will appear in the bibliography section of your
|
||||||
|
document. Typst supports different citation and bibliography styles. Consult the
|
||||||
|
[reference]($func/bibliography.style) for more details.
|
||||||
|
|
||||||
|
```example
|
||||||
|
= Methods
|
||||||
|
We follow the glacier melting models
|
||||||
|
established in @glacier-melt.
|
||||||
|
|
||||||
|
#bibliography("works.bib")
|
||||||
|
```
|
||||||
|
|
||||||
## Maths
|
## Maths
|
||||||
After fleshing out the introduction, you move on to the meat of the document:
|
After fleshing out the methods section, you move on to the meat of the document:
|
||||||
Your equations. Typst has built-in mathematical typesetting and uses its own
|
Your equations. Typst has built-in mathematical typesetting and uses its own
|
||||||
math notation. Let's start with a simple equation. We wrap it in `[$]` signs
|
math notation. Let's start with a simple equation. We wrap it in `[$]` signs
|
||||||
to let Typst know it should expect a mathematical expression:
|
to let Typst know it should expect a mathematical expression:
|
||||||
@ -194,8 +232,8 @@ If you want to have a variable that consists of multiple letters, you can
|
|||||||
enclose it in quotes:
|
enclose it in quotes:
|
||||||
|
|
||||||
```example
|
```example
|
||||||
The flow rate of a glacier is given by
|
The flow rate of a glacier is given
|
||||||
the following equation:
|
by the following equation:
|
||||||
|
|
||||||
$ Q = rho A v + "time offset" $
|
$ Q = rho A v + "time offset" $
|
||||||
```
|
```
|
||||||
|
@ -31,6 +31,13 @@ complete document in it.
|
|||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Wait, shouldn't all arguments of a function be specified within parentheses? Why
|
||||||
|
is there a second set of square brackets with content _after_ the parentheses?
|
||||||
|
The answer is that, as passing content to a function is such a common thing to
|
||||||
|
do in Typst, there is special syntax for it: Instead of putting the content
|
||||||
|
inside of the argument list, you can write it in square brackets directly after
|
||||||
|
the normal arguments, saving on punctuation.
|
||||||
|
|
||||||
As seen above, that works. The [`par`]($func/par) function justifies all
|
As seen above, that works. The [`par`]($func/par) function justifies all
|
||||||
paragraphs within it. However, wrapping the document in countless functions and
|
paragraphs within it. However, wrapping the document in countless functions and
|
||||||
applying styles selectively and in-situ can quickly become cumbersome.
|
applying styles selectively and in-situ can quickly become cumbersome.
|
||||||
@ -100,9 +107,12 @@ Let's add a few more styles to our document. We want larger margins and a serif
|
|||||||
font. For the purposes of the example, we'll also set another page size.
|
font. For the purposes of the example, we'll also set another page size.
|
||||||
|
|
||||||
```example
|
```example
|
||||||
#set text(font: "New Computer Modern", 10pt)
|
#set text(
|
||||||
|
font: "New Computer Modern",
|
||||||
|
size: 10pt
|
||||||
|
)
|
||||||
#set page(
|
#set page(
|
||||||
"a6",
|
paper: "a6",
|
||||||
margin: (x: 1.8cm, y: 1.5cm),
|
margin: (x: 1.8cm, y: 1.5cm),
|
||||||
)
|
)
|
||||||
#set par(
|
#set par(
|
||||||
|
@ -50,9 +50,6 @@ to learn some new tricks.
|
|||||||
Let's start by writing some set rules for the document.
|
Let's start by writing some set rules for the document.
|
||||||
|
|
||||||
```example
|
```example
|
||||||
#set text(font: "Linux Libertine", 11pt)
|
|
||||||
#set par(justify: true)
|
|
||||||
|
|
||||||
#set page(
|
#set page(
|
||||||
>>> margin: auto,
|
>>> margin: auto,
|
||||||
paper: "us-letter",
|
paper: "us-letter",
|
||||||
@ -62,6 +59,11 @@ Let's start by writing some set rules for the document.
|
|||||||
],
|
],
|
||||||
numbering: "1",
|
numbering: "1",
|
||||||
)
|
)
|
||||||
|
#set par(justify: true)
|
||||||
|
#set text(
|
||||||
|
font: "Linux Libertine",
|
||||||
|
size: 11pt,
|
||||||
|
)
|
||||||
|
|
||||||
#lorem(600)
|
#lorem(600)
|
||||||
```
|
```
|
||||||
|
@ -86,8 +86,6 @@ previous chapter.
|
|||||||
|
|
||||||
```example
|
```example
|
||||||
#let conf(title, doc) = {
|
#let conf(title, doc) = {
|
||||||
set text(font: "Linux Libertine", 11pt)
|
|
||||||
set par(justify: true)
|
|
||||||
set page(
|
set page(
|
||||||
paper: "us-letter",
|
paper: "us-letter",
|
||||||
>>> margin: auto,
|
>>> margin: auto,
|
||||||
@ -97,6 +95,11 @@ previous chapter.
|
|||||||
),
|
),
|
||||||
<<< ...
|
<<< ...
|
||||||
)
|
)
|
||||||
|
set par(justify: true)
|
||||||
|
set text(
|
||||||
|
font: "Linux Libertine",
|
||||||
|
size: 11pt,
|
||||||
|
)
|
||||||
|
|
||||||
// Heading show rules.
|
// Heading show rules.
|
||||||
<<< ...
|
<<< ...
|
||||||
@ -324,7 +327,6 @@ path of the file after the `{from}` keyword.
|
|||||||
>>> columns(2, doc)
|
>>> columns(2, doc)
|
||||||
>>>}
|
>>>}
|
||||||
<<< #import "conf.typ": conf
|
<<< #import "conf.typ": conf
|
||||||
|
|
||||||
#show: doc => conf(
|
#show: doc => conf(
|
||||||
title: [
|
title: [
|
||||||
Towards Improved Modelling
|
Towards Improved Modelling
|
||||||
|
Loading…
x
Reference in New Issue
Block a user