@@ -4,6 +4,31 @@ This book describes the Tectonic typesetting system. The goal of the Tectonic
4
4
project is to empower people to create beautiful, effective technical
5
5
documents.
6
6
7
+ ## Technical documents
8
+
9
+ What do we mean by “technical documents”? While the Tectonic project seeks to
10
+ cast its net as widely as possible, common examples might be software manuals,
11
+ scientific papers, or analytical reports. What features do such documents
12
+ include that traditional authoring frameworks have trouble supporting?
13
+
14
+ - ** Mathematics** . Any kind of mathematical typesetting is challenging.
15
+ * Beautiful* mathematical typesetting is * extremely hard* and requires deep
16
+ integration with the overall typesetting system.
17
+ - ** Abundant cross-references** . Technical documents often involve extensive
18
+ internal and external cross-references (links), and managing such links is a
19
+ nightmare without extremely good tooling support.
20
+ - ** Rich content** . Technical documents also generally include a great deal of
21
+ rich content beyond their text, such as figures, tables, and code. In the
22
+ best documents, this content is seamlessly integrated into the document
23
+ presentation, with precise author control over that presentation.
24
+ - ** Integrated computation** . In the 21st century, it is finally possible to
25
+ integrate computation — runnable code samples, interactive graphics,
26
+ live-updating data, and so on — into documents, and it is becoming clear
27
+ that this is new capability is not just evolutionary, but revolutionary.
28
+ - ** Hackability** . Finally, we also believe that technical documents should
29
+ ideally be “hackable,” meaning that people should be able to see how they
30
+ work “under the hood” and use them as a basis for their own creations.
31
+
7
32
## Tectonic and TeX
8
33
9
34
At the core of Tectonic is a modernized, complete, self-contained
@@ -14,32 +39,20 @@ At the core of Tectonic is a modernized, complete, self-contained
14
39
[ XeTeX ] : http://xetex.sourceforge.net/
15
40
[ TeXLive ] : https://www.tug.org/texlive/
16
41
17
- For those new to it, [ TeX] is a programming language that you use to create
18
- typeset documents rather than computer software. TeX is quite archaic in some
19
- ways, but it’s still the tool of choice for what we call * technical
20
- documents * . What makes a document technical?
42
+ For those new to it, [ TeX] is a programming language. While most programming
43
+ languages create software, [ TeX ] creates typeset documents. [ TeX] is quite
44
+ archaic in some ways, but in many fields it’s still the tool of choice for
45
+ authoring the kinds of documents described above.
21
46
22
- - * Mathematics* . Some documents are technical because they involve
23
- mathematical equations. Beautiful mathematical typesetting is * extremely
24
- hard* and requires deep integration with the overall typesetting system. The
25
- absolutely unique feature of [ TeX] is its unparalleled ability to typeset
26
- math.
27
- - * Cross-references* . Technical documents often involve extensive internal and
28
- external cross-references (links), and managing such links is a nightmare
29
- without extremely good tooling support. The [ TeX] ecosystem provides
30
- infrastructure for deep and rich cross-referencing with programs like
31
- [ bibtex] .
32
- - * Rich content* . Technical documents also generally include a great deal of
33
- rich content beyond their text, such as figures, tables, and code. In order
34
- to be useful, all of this content needs to be seamlessly integrated into the
35
- document presentation, with precise author control over that presentation.
36
- This is another hallmark of the [ TeX] ecosystem.
37
- - * Hackability* . Finally, we also believe that the ideal technical documents
38
- is “hackable,” meaning that people should be able to see how it works “under
39
- the hood” and use it as a basis for their own experiments. Because [ TeX] is
40
- a programming language for creating documents, [ TeX] -based documents can be
41
- hackable in exactly the same way as the open-source programs that underly so
42
- much of the modern software ecosystem.
47
+ - [ TeX] is absolutely unparalleled in its ability to typeset math. Workers in
48
+ virtually every mathematics-heavy field use [ TeX] to create documents.
49
+ - The [ TeX] ecosystem provides infrastructure for deep and rich
50
+ cross-referencing with programs like [ bibtex] .
51
+ - Another hallmark of the [ TeX] ecosystem is longstanding support for complex
52
+ figures, tables, and other forms of rich content included in the document.
53
+ - Because [ TeX] is a programming language for creating documents, [ TeX] -based
54
+ documents can be hackable in exactly the same way as the open-source
55
+ programs that underly so much of the modern software ecosystem.
43
56
44
57
[ bibtex ] : http://www.bibtex.org/
45
58
@@ -49,8 +62,8 @@ beautiful, effective technical documents that the world deserves. The [TeX]
49
62
language is an amazingly clever piece of engineering, and the fact that it’s
50
63
still in use 40 years (!) after its creation speaks for itself. But by the
51
64
same token, there is a * lot* about the [ TeX] software ecosystem that is
52
- archaic and outdated. The goal of Tectonic is to take the good stuff and leave
53
- behind the things that don’t make sense anymore.
65
+ archaic and outdated. The goal of Tectonic is to build on the good stuff and
66
+ leave behind the things that don’t make sense anymore.
54
67
55
68
In particular, Tectonic is derived from the source code that powers the
56
69
[ XeTeX] engine, and the bulk of its code is the same core engine that
@@ -67,16 +80,16 @@ upon:
67
80
68
81
- * User experience* . Many aspects of the classic [ TeX] user experience (UX)
69
82
are bizarre and unpleasant to modern users. In particular, its error
70
- messages and diagnostic output can be utterly mystifying to new users.
71
- Tectonic chooses to break compatibility with classic [ TeX] when doing so
72
- offers the chance to improve the UX.
83
+ messages and diagnostic output can be utterly mystifying. Tectonic chooses
84
+ to break compatibility with classic [ TeX] when doing so offers the chance to
85
+ improve the UX.
73
86
- * Embeddability* . The modern [ TeX] software system consists of a suite of
74
87
interacting command-line programs modifying a complex tree of thousands of
75
88
support files. This makes it extremely unpleasant to embed the [ TeX] engine
76
89
within other software systems, which prevents a whole host of exciting use
77
90
cases. Tectonic delivers its engine as a reusable software library and aims
78
91
to make that library easy to embed and reuse anywhere code can run.
79
- - * Reproducibility* . For the same reason that the classic [ TeX] experience is
92
+ - * Reproducibility* . For the same reasons that the classic [ TeX] experience is
80
93
difficult to embed, it is difficult to guarantee reproducible document
81
94
builds. For many technical documents, reproducibility is a highly-respected
82
95
virtue if not an outright requirement. Tectonic aims to enable easy,
0 commit comments