;(define ti (block '(measure 54 leading 18) "Meg is an ally."))
(define(ti2)(block'(leading10measure400size13x-alignleftx-align-last-lineleftfont"Equity Text B")(block#f"Foo-d"(word'(size13)"og ")"and "(box)"Zu"(word-break'(nb"c"bb"k-"))"kerman’s. Instead of a circle, the result is a picture of the code that, if it were used as an expression, would produce a circle. In other words, code is not a function, but instead a "(block'(styleitalic)"new syntactic form")" for creating pictures; the bit between the opening "(block'(weightbold)"parenthesis")" with code is not an expression, but instead manipulated by the code syntactic form. "(word'(font"Triplicate T4"size22.5color"Orchid"background"Yellow")"Bangazoom!")" This helps explain what we meant in the previous section when we said that racket provides require and the function-calling syntax.")(block-break)(block#f"Libraries are not restricted to exporting values, such as functions; they can also define new syntactic forms. In this sense, Racket isn’t exactly a language at all; it’s more of an idea for how to structure a language so that you can extend it or create entirely new ones.")))
@ -13,20 +12,22 @@
(define(ti5)(block'(measure240font"Equity Text B"leading16vmeasure300size13.5x-alignjustifyx-align-last-lineleft)(box'(width15))(block#f(block'(weightboldfont"Equity Caps B")"Hot"(word'(size22)"Z")"ogs, My Fellow Americans.")" This "(block'(no-break#t)"is some truly")" bullshit generated from my typesetting system, which is called Quad. I’m writing this in a source file in DrRacket. When I click [Run], a PDF pops out. Not bad\u200a—\u200aand no LaTeX needed. Quad, however, does use the fancy linebreaking algorithm developed for TeX. (It also includes a faster linebreaking algorithm for when speed is more important than quality.) Of course, it can also handle "(block'(font"Triplicate C4")"different fonts,")(block'(styleitalic)" styles, ")(word'(size14weightbold)"and sizes-")" within the same line. As you can see, it can also justify paragraphs."(block-break)(box'(width15))(block#f"“Each horizontal row represents an OS-level thread, and the colored dots represent important events in the execution of the program (they are color-coded to distinguish one event type from another). The upper-left blue dot in the timeline represents the future’s creation. The future executes for a brief period (represented by a green bar in the second line) on thread 1, and then pauses to allow the runtime thread to perform a future-unsafe operation.")(column-break)(box'(width15))(block#f"In the Racket implementation, future-unsafe operations fall into one of two categories. A blocking operation halts the evaluation of the future, and will not allow it to continue until it is touched. After the operation completes within touch, the remainder of the future’s work will be evaluated sequentially by the runtime thread. A synchronized operation also halts the future, but the runtime thread may perform the operation at any time and, once completed, the future may continue running in parallel. Memory allocation and JIT compilation are two common examples of synchronized operations."(page-break)"another page"))))
(define(ti6)(block'(font"Equity Text B"measure210leading14size20x-alignjustifyx-align-last-lineleft)
(applyblock'(font"Equity Text B"measure360leading14column-count1column-gutter10size11.5x-alignjustifyx-align-last-lineleft)(add-between(map(λ(jb)(block#f(box'(width10))(optical-kern)jb))(filter(λ(jb)(<0(string-lengthjb)))jude-blocks))(block-break))))
(applyblock'(font"Equity Text B"measure360leading14column-count1column-gutter10size11.5x-alignjustifyx-align-last-lineleft)(add-between(map(λ([jb:String])(block#f(box'(width10))(optical-kern)jb))(filter(λ([jb:String])(<0(string-lengthjb)))jude-blocks))(block-break))))
(define(jude1)(block'(font"Equity Text B"measure150leading14column-count4size11x-alignjustifyx-align-last-lineleft)"this—is—a—test—of—em—dashes—breakable—or—not?"))