From 68ba1e550fc36fa6c44528c8c5a564abd93ec796 Mon Sep 17 00:00:00 2001 From: Anshul Singhvi Date: Tue, 5 Nov 2024 14:53:43 -0800 Subject: [PATCH] Update Typstry.jl to v0.3.0 (#55) (#62) * Update Typstry.jl to v0.3.0 (#55) * Update typst.jl --------- Co-authored-by: Jakob Peters --- Project.toml | 2 +- docs/src/formats.md | 2 +- src/rendering/typst.jl | 12 ++++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Project.toml b/Project.toml index 1c43a7d..69b9ca6 100644 --- a/Project.toml +++ b/Project.toml @@ -35,7 +35,7 @@ Makie = "0.21.2" Poppler_jll = "21.9, 22, 23" Rsvg = "1" julia = "1.9" -Typstry = "0.2, 0.3" +Typstry = "0.3" tectonic_jll = "0" [extras] diff --git a/docs/src/formats.md b/docs/src/formats.md index 0c7c12a..2652c00 100644 --- a/docs/src/formats.md +++ b/docs/src/formats.md @@ -63,7 +63,7 @@ fig ```@example main using MakieTeX, CairoMakie -typst_string = typst"$ integral_0^pi sin(x)^2 diff x $"; +typst_string = typst"$ integral_0^pi sin(x)^2 dif x $"; typst_document = TypstDocument(typst_string); cached_typst = CachedTypst(typst_document); diff --git a/src/rendering/typst.jl b/src/rendering/typst.jl index 2df9acf..70633da 100644 --- a/src/rendering/typst.jl +++ b/src/rendering/typst.jl @@ -14,12 +14,13 @@ Compile the given document as a String and return the resulting PDF (also as a S """ function compile_typst(document::AbstractString) #= - Typst_jll v0.11+ supports compiling from `stdin`. - It does not yet support compiling to `stdout`. + Typst_jll v0.11+ supports reading from `stdin`. + Typst_jll v0.12+ will likely support writing to `stdout`. See also: https://github.com/typst/typst/issues/410 https://github.com/typst/typst/pull/3339 + https://github.com/typst/typst/pull/3632 =# return mktempdir() do dir cd(dir) do @@ -37,9 +38,12 @@ function compile_typst(document::AbstractString) err = Pipe() try - # `pipeline` is not yet supported for `TypstCommand` + # `pipeline` is not yet supported for `TypstCommand`. + # We need to add Julia Mono as a typst font, but don't want to override user env specs. + _separator = Sys.iswindows() ? ";" : ":" + TYPST_FONT_PATHS = haskey(ENV, "TYPST_FONT_PATHS") ? "$(ENV["TYPST_FONT_PATHS"])$(_separator)$(Typstry.julia_mono)" : Typstry.julia_mono redirect_stdio(stdout=out, stderr=err) do - run(ignorestatus(typst`compile temp.typ`)) + run(ignorestatus(addenv(typst`compile temp.typ`, "TYPST_FONT_PATHS" => TYPST_FONT_PATHS))) end close(out.in)