Skip to content

Commit 1b32993

Browse files
author
cranko
committed
Release commit created with Cranko.
+++ cranko-release-info-v1 [[projects]] qnames = ["tectonic_xdv", "cargo"] version = "0.1.10" age = 5 [[projects]] qnames = ["tectonic_cfg_support", "cargo"] version = "0.1.1" age = 5 [[projects]] qnames = ["tectonic", "cargo"] version = "0.4.0" age = 0 +++
2 parents 932fe3e + ccea5ea commit 1b32993

37 files changed

+2252
-411
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@
33
/target
44
/tests/plain.fmt
55
/tests/00*00-latex-*.fmt
6-
/tests/00*00-plain-*.fmt
6+
/tests/*-plain-*.fmt
77
/tests/xenia/paper.pdf

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# tectonic 0.4.0 (2020-12-28)
2+
3+
- Introduce a prototype new “V2” command line interface, accessible by running
4+
Tectonic with an initial `-X` argument: `tectonic -X new`. This interface is
5+
oriented around a new document model defined by a `Tectonic.toml` definition
6+
file. Documentation is under development in [the
7+
book](https://tectonic-typesetting.github.io/book/latest/). Eventually, this
8+
new interface will become the default, after a migration period. It is
9+
currently fairly basic, but will be fleshed out in the 0.4.x release series.
10+
- Handle USV 0xFFFF in `print()` (#678, #682, @burrbull, @pkgw)
11+
- Update the Arch Linux `makedepends` definitions (#691, @snowinmars)
12+
- Update various Cargo dependencies.
13+
14+
115
# tectonic 0.3.3 (2020-11-16)
216

317
- When testing whether the engine needs rerunning, compare the new file to the

Cargo.lock

Lines changed: 23 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
[package]
66
name = "tectonic"
7-
version = "0.3.3"
7+
version = "0.4.0"
88
authors = ["Peter Williams <[email protected]>"]
99
build = "build.rs"
1010
description = """
@@ -34,13 +34,13 @@ name = "tectonic"
3434
crate-type = ["rlib"]
3535

3636
[build-dependencies]
37-
cc = "^1.0.62"
37+
cc = "^1.0.66"
3838
pkg-config = "^0.3"
3939
regex = "^1.4"
4040
sha2 = "^0.9"
4141
tectonic_cfg_support = { path = "cfg_support", version ="^0.1.0"}
42-
vcpkg = "0.2.10"
43-
cbindgen = "0.15.0"
42+
vcpkg = "0.2.11"
43+
cbindgen = "0.16.0"
4444

4545
[dependencies]
4646
app_dirs = { version = "2", package = "app_dirs2" }

dist/arch/PKGBUILD.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ pkgdesc='Modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX
1717
url=https://tectonic-typesetting.github.io/
1818
license=('MIT')
1919
depends=('fontconfig' 'harfbuzz-icu' 'openssl')
20-
makedepends=('rust')
20+
makedepends=('rust' 'gcc' 'pkg-config')
2121
source=("$pkgname-$pkgver.tar.gz::https://crates.io/api/v1/crates/$pkgname/$pkgver/download")
2222
sha512sums=('@sha512@')
2323

dist/azure-build-and-test-pkgconfig.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,13 @@ steps:
5151
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
5252

5353
- bash: |
54+
set -xeuo pipefail
5455
pacman -S --noconfirm \
5556
mingw-w64-x86_64-fontconfig \
5657
mingw-w64-x86_64-freetype \
57-
mingw-w64-x86_64-icu \
58-
mingw-w64-x86_64-pkg-config
58+
mingw-w64-x86_64-icu
5959
# Format file locking issue workaround:
60+
set +x # `set -x` messes up setvariable
6061
echo "##vso[task.setvariable variable=RUST_TEST_THREADS;]1"
6162
displayName: "Install pkg-config dependencies (Windows)"
6263
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))

docs/src/SUMMARY.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,26 @@
44

55
- [Introduction](introduction/index.md)
66
- [Getting Started](getting-started/index.md)
7-
- [Tectonic’s Command Line Interface](cli/index.md)
7+
- [Install Tectonic](getting-started/install.md)
8+
- [Build Your First Document](getting-started/first-document.md)
9+
- [Use a Unicode Font](getting-started/unicode.md)
810
- [The Tectonic Implementation of the TeX Language](lang-impl/index.md)
9-
- [Cookbook](cookbook/index.md)
10-
_ [detailed way to build tectonic with vcpkg on macOS](cookbook/vcpkg.md)
11-
_ [a simpler way to build tectonic with vcpkg on macOS, Linux or Windows](cookbook/cargo-vcpkg.md)
11+
12+
# “V2” Command-Line Interface
13+
14+
- [`tectonic -X build`](v2cli/build.md)
15+
- [`tectonic -X new`](v2cli/new.md)
16+
17+
# Concept Reference
18+
19+
- [Documents](ref/documents.md)
20+
- [The `Tectonic.toml` File](ref/tectonic-toml.md)
21+
- [“V1” Command-Line Interface](ref/v1cli.md)
22+
- [“V2” Command-Line Interface](ref/v2cli.md)
23+
- [Workspaces](ref/workspaces.md)
24+
25+
# Appendices
26+
27+
- [Installation Guide](installation/index.md)
28+
- [Building Tectonic with `cargo vcpkg`](cookbook/cargo-vcpkg.md)
29+
- [Building Tectonic with manual vcpkg on macOS](cookbook/vcpkg.md)

docs/src/cookbook/index.md

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
# Getting Started: Build Your First Document
2+
3+
Now that [you’ve installed Tectonic][install], let’s create and build your first
4+
[document].
5+
6+
[install]: ./install.md
7+
[document]: ../ref/documents.md
8+
9+
**Important:** *From here on out, this [Getting Started][gs-index] guide will
10+
use what we call the [“V2” interface][v2cli] to the Tectonic program. The V2
11+
interface coexists with, but has a fairly different approach than, the [“V1”
12+
interface][v1cli]. We are gradually migrating from V1 to V2. Neither interface
13+
(V1 or V2) is the same as the one exposed by classic TeX tools such as
14+
`pdflatex`.*
15+
16+
[gs-index]: ./index.md
17+
[v2cli]: ../ref/v2cli.md
18+
[v1cli]: ../ref/v1cli.md
19+
20+
21+
## Create a new document
22+
23+
The Tectonic [V2 interface][v2cli] has a “multitool” structure similar to that
24+
of other powerful tools such as [git] and [cargo]. To create a new document, we
25+
use a [`new`][cli-new] subcommand that looks like this:
26+
27+
```sh
28+
$ tectonic -X new myfirstdoc
29+
```
30+
31+
[git]: https://git-scm.com/
32+
[cargo]: https://doc.rust-lang.org/cargo/
33+
[cli-new]: ../v2cli/new.md
34+
35+
This will create a new [Tectonic workspace][workspace] directory named
36+
`myfirstdoc` containing a file `Tectonic.toml` and a sub-directory named `src`.
37+
Enter this new directory in your command prompt.
38+
39+
[workspace]: ../ref/workspaces.md
40+
41+
```sh
42+
$ cd myfirstdoc
43+
```
44+
45+
**Note:** *The `-X` flag activates the V2 interface. Don’t forget it! Eventually
46+
it will become unnecessary and you’ll just be able to write `tectonic new`, but
47+
that changeover hasn’t happened yet.*
48+
49+
50+
## Basic document source structure
51+
52+
The source code to your document is stored in the `src` subdirectory of your new
53+
document. Check it out:
54+
55+
```sh
56+
$ ls src
57+
```
58+
59+
You’ll see three files that were created by the [`new`][cli-new] command:
60+
61+
- `_preamble.tex`
62+
- `index.tex`
63+
- `_postamble.tex`
64+
65+
These files are pre-populated with extremely basic contents following this
66+
suggested source structure:
67+
68+
- The “preamble” file should contain all of your (La)TeX initialization
69+
boilerplate, up to and including the LaTeX `\begin{document}` command.
70+
- The “index” file contains all of your actual document content, without any of
71+
the annoying boilerplate. When you create a new Tectonic document, it just
72+
contains the text `Hello, world.`
73+
- The “postamble” file should contain all of your cleanup code, starting with
74+
the LaTeX `\end{document}` command. There will almost never need to be any
75+
other content in this file.
76+
77+
When Tectonic builds your document, it processes these files in the order listed
78+
above, so all three of them need to be available. But the breakdown suggested
79+
above is only a suggestion, nothing more. If you want all of your boilerplate
80+
and content to be in a single file, we recommend putting it all in `index.tex`
81+
and making your preamble and postamble be empty.
82+
83+
The motivation for this separation is partially stylistic, but not entirely so.
84+
In the future, we anticipate that there might be different ways to build the
85+
same document that invoke different preamble or postamble contents.
86+
87+
88+
## Building your document
89+
90+
To compile your document, run:
91+
92+
```sh
93+
$ tectonic -X build
94+
```
95+
96+
If you haven’t run Tectonic on your computer before, this command will take a
97+
minute or two as it downloads the support files that it needs and generates the
98+
LaTeX “format file” storing the default macro collection. Tectonic will cache
99+
these files and avoid downloading them again. Test it out by running the build
100+
again:
101+
102+
```sh
103+
$ tectonic -X build
104+
```
105+
106+
This time the command should finish much more quickly, with no messages about
107+
downloading files. The output PDF document will be placed at the path
108+
`build/default/default.pdf` relative to your document directory:
109+
110+
```sh
111+
$ ls -l build/default/
112+
```
113+
114+
If you’re familiar with traditional TeX engines, you’ll have noticed that
115+
Tectonic’s “user experience” is substantially different from those engines:
116+
117+
1. Tectonic doesn’t print out the usual chatter — unless there’s an error.
118+
2. Tectonic automatically reruns the TeX stage until its output stabilizes.
119+
3. By default, Tectonic doesn’t write out intermediate files such as
120+
(`texput.aux`, `texput.log`).
121+
4. You ought not have seen this yet, but if you make a mistake in your TeX,
122+
Tectonic will quit with an error message, rather than asking you to type `X2`
123+
or whatever.
124+
125+
We hope that you’ll agree that these changes make for a program that is much
126+
more pleasant to use than the traditional tools.

docs/src/getting-started/index.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
11
# Getting Started
22

3-
TODO: installation; quick demonstration of how Tectonic is different from traditional TeX engines.
3+
This chapter of the book will introduce you to Tectonic, with a special emphasis
4+
on the ways that it’s different from the TeX systems that you might have seen
5+
before. We’ll assume a very basic familiarity with TeX and LaTeX, and that you
6+
know how to use a command-line interface on your computer.
7+
8+
The sections in this chapter are:
9+
10+
1. [Install Tectonic](./install.md)
11+
2. [Build your first document](./first-document.md)
12+
3. [Use a Unicode font](./unicode.md)

0 commit comments

Comments
 (0)