head 1.15; access; symbols pkgsrc-2025Q2:1.15.0.4 pkgsrc-2025Q2-base:1.15 pkgsrc-2025Q1:1.15.0.2 pkgsrc-2025Q1-base:1.15 pkgsrc-2024Q4:1.13.0.2 pkgsrc-2024Q4-base:1.13 pkgsrc-2024Q3:1.11.0.4 pkgsrc-2024Q3-base:1.11 pkgsrc-2024Q2:1.11.0.2 pkgsrc-2024Q2-base:1.11 pkgsrc-2024Q1:1.10.0.2 pkgsrc-2024Q1-base:1.10 pkgsrc-2023Q4:1.9.0.2 pkgsrc-2023Q4-base:1.9 pkgsrc-2023Q3:1.6.0.2 pkgsrc-2023Q3-base:1.6 pkgsrc-2023Q2:1.4.0.2 pkgsrc-2023Q2-base:1.4; locks; strict; comment @# @; 1.15 date 2025.03.12.13.29.13; author pin; state Exp; branches; next 1.14; commitid KkzL50izZ8YIuMMF; 1.14 date 2025.02.21.14.36.35; author pin; state Exp; branches; next 1.13; commitid 02EwgICJvc3HtlKF; 1.13 date 2024.10.19.21.09.21; author pin; state Exp; branches; next 1.12; commitid 9HTIop9ELBvxFjuF; 1.12 date 2024.10.16.22.10.55; author wiz; state Exp; branches; next 1.11; commitid ZhfBa7hEaXyv6WtF; 1.11 date 2024.05.18.07.03.55; author pin; state Exp; branches; next 1.10; commitid XZVgFJFJHN3qWraF; 1.10 date 2024.03.18.09.04.32; author pin; state Exp; branches; next 1.9; commitid LC3gycFeX0OmzC2F; 1.9 date 2023.12.09.22.01.45; author pin; state Exp; branches; next 1.8; commitid YGs3eOeAtR4i5QPE; 1.8 date 2023.11.05.08.38.39; author pin; state Exp; branches; next 1.7; commitid ZPtim1HG44oxJoLE; 1.7 date 2023.10.07.18.44.56; author pin; state Exp; branches; next 1.6; commitid CI27EVLxuoyj1JHE; 1.6 date 2023.08.17.02.49.19; author pin; state Exp; branches; next 1.5; commitid B5SE260hfm57n5BE; 1.5 date 2023.07.10.19.43.05; author pin; state Exp; branches; next 1.4; commitid 6cQJtxnYzPGDciwE; 1.4 date 2023.05.24.12.17.49; author pin; state Exp; branches; next 1.3; commitid UyJJHHEDx2iwfdqE; 1.3 date 2023.04.27.12.26.35; author wiz; state Exp; branches; next 1.2; commitid JGtvPWM0GIRmaKmE; 1.2 date 2023.04.23.20.14.35; author wiz; state Exp; branches; next 1.1; commitid kD3VXen8dyNTSgmE; 1.1 date 2023.04.05.23.12.59; author nikita; state Exp; branches; next ; commitid j0Trwcz8BVLDrYjE; desc @@ 1.15 log @textproc/typst: update to 0.13.1 Command Line Interface - Fixed high CPU usage for typst watch on Linux. Depending on the project size, CPU usage would spike for varying amounts of time. This bug appeared with 0.13.0 due to a behavioral change in the inotify file watching backend. HTML export - Fixed export of tables with gutters - Fixed usage of and element within context - Fixed querying of metadata next to and element Visualization - Fixed curves with multiple non-closed components Introspection - Fixed a regression where labelled symbols could not be queried by label Deprecations - Fixed false positives in deprecation warnings for type/str comparisons @ text @# $NetBSD: Makefile,v 1.14 2025/02/21 14:36:35 pin Exp $ DISTNAME= typst-0.13.1 CATEGORIES= textproc MASTER_SITES= ${MASTER_SITE_GITHUB:=typst/} GITHUB_PROJECT= typst GITHUB_TAG= v${PKGVERSION_NOREV} MAINTAINER= pkgsrc-users@@NetBSD.org HOMEPAGE= https://typst.app/ COMMENT= Markup-based typesetting system LICENSE= apache-2.0 .include "cargo-depends.mk" RUST_REQ= 1.80.1 # Depends on an unpublished crate. Can't use cargo.mk to fetch it. TYPST-DEV-ASSETS_REV= 9879589f4b3247b12c5e694d0d7fa86d4d8a198e DISTFILES= ${DEFAULT_DISTFILES} DISTFILES+= typst-dev-assets-${TYPST-DEV-ASSETS_REV}.tar.gz SITES.typst-dev-assets-${TYPST-DEV-ASSETS_REV}.tar.gz+= -${MASTER_SITE_GITHUB:=typst/}typst-dev-assets/archive/${TYPST-DEV-ASSETS_REV}.tar.gz USE_TOOLS+= pkg-config perl gmake MAKE_ENV+= OPENSSL_DIR=${BUILDLINK_PREFIX.openssl:Q} RUSTFLAGS+= -C link-arg=${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.openssl}/lib INSTALLATION_DIRS= bin post-extract: mv ${WRKDIR}/typst-dev-assets-* ${WRKSRC} do-install: ${INSTALL_PROGRAM} ${WRKSRC}/target/release/typst \ ${DESTDIR}${PREFIX}/bin .include "../../lang/rust/cargo.mk" .include "../../security/openssl/buildlink3.mk" .include "../../mk/bsd.pkg.mk" @ 1.14 log @textproc/typst: update to 0.13.0 For more information read: https://typst.app/blog/2025/typst-0.13/ Highlights There is now a distinction between proper paragraphs and just inline-level content. This is important for future work on accessibility and means that first line indent can now be enabled for all paragraphs instead of just consecutive ones. The outline has a better out-of-the-box look and is more customizable The new curve function (that supersedes the path function) provides a simpler and more flexible interface for creating Bézier curves The image function now supports raw pixel raster formats for generating images from within Typst Functions that accept file paths now also accept raw bytes, for full flexibility WebAssembly plugins are more flexible and automatically run multi-threaded Fixed a long-standing bug where single-letter strings in math ($"a"$) would be displayed in italics You can now specify which charset should be covered by which font family The pdf.embed function lets you embed arbitrary files in the exported PDF HTML export is currently under active development. The feature is still very incomplete, but already available for experimentation behind a feature flag. Model There is now a distinction between proper paragraphs and just inline-level content (Breaking change) All text at the root of a document is wrapped in paragraphs. Meanwhile, text in a container (like a block) is only wrapped in a paragraph if the container holds any block-level content. If all of the content is inline-level, no paragraph is created. In the laid-out document, it's not immediately visible whether text became part of a paragraph. However, it is still important for accessibility, HTML export, and for properties like first-line-indent. Show rules on par now only affect proper paragraphs The first-line-indent and hanging-indent properties also only affect proper paragraphs Creating a par[..] with body content that is not fully inline-level will result in a warning The default show rules of various built-in elements like lists, quotes, etc. were adjusted to ensure they produce/don't produce paragraphs as appropriate Removed support for booleans and content in outline.indent The outline function was fully reworked to improve its out-of-the-box behavior (Breaking change) Outline entries are now blocks and are thus affected by block spacing The auto indentation mode now aligns numberings and titles outline-wide for a grid-like look Automatic indentation now also indents entries without a numbering Titles wrapping over multiple lines now have hanging indent The page number won't appear alone on its own line anymore The link now spans the full entry instead of just the title and page number The default spacing between outline leader dots was increased The fill parameter was moved from outline to outline.entry and can thus be configured through show-set rules Removed body and page fields from outline entry Added indented, prefix, inner, body, and page methods on outline entries to simplify writing of show rules Added configuration to par.first-line-indent for indenting all paragraphs instead of just consecutive ones Added form parameter to ref function. Setting the form to "page" will produce a page reference instead of a textual one. Added document.description field, which results in corresponding PDF and HTML metadata Added enum.reversed parameter Added support for Greek numbering When the link function wraps around a container like a block, it will now generate only one link for the whole block instead of individual links for all the visible leaf elements. This significantly reduces PDF file sizes when combining link and repeat. The link function will now only strip one prefix (like mailto: or tel:) instead of multiple The link function now suppresses hyphenation via a built-in show-set rule rather than through its default show rule Displaying the page counter without a specified numbering will now take the page numbering into account Visualization Added new curve function that supersedes the path function and provides a simpler and more flexible interface. The path function is now deprecated. The image function now supports raw pixel raster formats. This can be used to generate images from within Typst without the need for encoding in an image exchange format. Added image.scaling parameter for configuring how an image is scaled by PNG export and PDF viewers (smooth or pixelated) Added image.icc parameter for providing or overriding the ICC profile of an image Renamed pattern to tiling. The name pattern remains as a deprecated alias. Added gradient.center, gradient.radius, gradient.focal-center, and gradient.focal-radius methods Fixed interaction of clipping and outset on box and block Fixed panic with path of infinite length Fixed non-solid (e.g. tiling) text fills in clipped blocks Fixed a crash for images with a DPI value of zero Fixed floating-point error in gradient.repeat Auto-detection of image formats from a raw buffer now has support for SVGs Scripting Functions that accept file paths now also accept raw bytes image, cbor, csv, json, toml, xml, and yaml now support a path string or bytes and their .decode variants are deprecated plugin, bibliography, bibliography.style, cite.style, raw.theme, and raw.syntaxes now accept bytes in addition to path strings. These did not have .decode variants, so this adds new flexibility. The path argument/field of image and bibliography was renamed to source and sources, respectively (Minor breaking change) Improved WebAssembly plugins The plugin type is replaced by a plugin function that returns a module containing normal Typst functions. This module can be used with import syntax. (Breaking change) Plugins now automatically run in multiple threads without any changes by plugin authors A new plugin.transition API is introduced which allows plugins to run impure initialization in a way that doesn't break Typst's purity guarantees The variable name bound by a bare import (no renaming, no import list) is now determined statically and dynamic imports without as renaming (e.g. import "ot" + "her.typ") are a hard error (Breaking change) Values of the arguments type can now be added with + and joined in curly-braced code blocks Functions in an element function's scope can now be called with method syntax, bringing elements and types closer (in anticipation of a future full unification of the two). Currently, this is only useful for outline.entry as no other element function defines methods. Added calc.norm function Added support for 32-bit floats in float.from-bytes and float.to-bytes The decimal constructor now also accepts decimal values Improved repr of symbols, arguments, and types Duplicate symbol variants and modifiers are now a hard error (Breaking change) Math Fixed a bug where single letter strings in math ($"a"$) would be displayed in italics Math function calls can now have hyphenated named arguments and support argument spreading Better looking accents thanks to support for the flac (Flattened Accent Forms) and dtls (Dotless Forms) OpenType features Added lcm text operator The bold function now works with ϝ and Ϝ The italic function now works with ħ Fixed a bug where the extent of a math equation was wrongly affected by internal metadata Fixed interaction of lr and context expressions Fixed weak spacing being unconditionally ignored in lr Fixed sub/superscripts sometimes being in the wrong position with lr Fixed multi-line annotations (e.g. overbrace) changing the math baseline Fixed merging of attachments when the base is a nested equation Fixed resolving of contextual (em-based) text sizes within math Fixed spacing around up tacks (⊥) Bibliography Prose and author-only citations now use editor names if the author names are unavailable Some non-standard but widely used BibLaTeX editortypes like producer, writer, scriptwriter, and none (defined by widespread style biblatex-chicago to mean performers within music and video entries) are now recognized CSL styles can now render affixes around the bibliography For BibTeX entries with eprinttype = {pubmed}, the PubMed ID will now be correctly processed Whitespace handling for strings delimiting initialized names has been improved Uppercase spelling after apostrophes used as quotation marks is now possible Fixed bugs around the handling of CSL delimiting characters Fixed a problem with parsing multibyte characters in page ranges that could prevent Hayagriva from parsing some BibTeX page ranges Updated CSL APA style Updated CSL locales for Finnish, Swiss German, Austrian German, German, and Arabic Text Added support for specifying which charset should be covered by which font family Added all parameter to smallcaps function that also enables small capitals on uppercase letters Added basic i18n for Basque and Bulgarian Justification does not affect raw blocks anymore CJK-Latin-spacing does not affect raw text anymore Fixed wrong language codes being used for Greek and Ukrainian Fixed default quotes for Croatian and Bulgarian Fixed crash in RTL text handling Added support for raw syntax highlighting for a few new languages: CFML, NSIS, and WGSL New font metadata exception for New Computer Modern Sans Math Updated bundled New Computer Modern fonts to version 7.0.1 Layout Fixed various bugs with footnotes Fixed footnotes getting lost when multiple footnotes were nested within another footnote Fixed endless loops with empty and overlarge footnotes Fixed crash with overlarge footnotes within a floating placement Fixed sizing of quadratic shapes (square and circle) Fixed block.sticky not working properly at the top of a container Fixed crash due to consecutive weak spacing Fixed crash when a block or text have negative sizes Fixed unnecessary hyphenations occurring in rare scenarios due to a bad interaction between padding and paragraph optimization Fixed lone citations in align not becoming their own paragraph Syntax Top-level closing square brackets that do not have a matching opening square bracket are now a hard error (Minor breaking change) Adding a space between the identifier and the parentheses in a set rule is not allowed anymore (Minor breaking change) Numbers with a unit cannot have a base prefix anymore, e.g. 0b100000pt is not allowed anymore. Previously, it was syntactically allowed but always resolved to a value of zero. (Minor breaking change) Using is as an identifier will now warn as it might become a keyword in the future Fixed minor whitespace handling bugs in math mode argument lists at the end of headings between a term list's term and description Fixed parsing of empty single line raw blocks with 3+ backticks and a language tag Fixed minor bug with parentheses parsing in math Markup that can only appear at the start of the line (headings, lists) can now also appear at the start of a list item A shebang #! at the very start of a file is now ignored PDF export Added pdf.embed function for embedding arbitrary files in the exported PDF Added support for PDF/A-3b export The PDF timestamp will now contain the timezone by default HTML export Note: HTML export is currently under active development. The feature is still very incomplete, but already available for experimentation behind a feature flag. Added HTML output support for some (but not all) of the built-in elements Added html.elem function for outputting an arbitrary HTML element Added html.frame function for integrating content that requires layout into HTML (by embedding an SVG) Added target function which returns either "paged" or "html" depending on the export target Tooling and Diagnostics Autocompletion improvements Added autocompletion for file paths Smarter autocompletion of variables: Completing rect(fill: |) will now only show variables which contain a valid fill (either directly or nested, e.g. a dictionary containing a valid fill) Different functions will now autocomplete with different brackets (round vs square) depending on which kind is more useful Positional parameters which are already provided aren't autocompleted again anymore Fixed variable autocompletion not considering parameters Added autocompletion snippets for common figure usages Fixed autocompletion after half-completed import item Fixed autocompletion for cite function Added warning when an unconditional return in a code block discards joined content Fixed error message when accessing non-existent label Fixed handling of nested imports in IDE functionality Command Line Interface Added --features argument and TYPST_FEATURES environment variable for opting into experimental features. The only feature so far is html. Added a live reloading HTTP server to typst watch when targeting HTML Fixed self-update not being aware about certain target architectures Fixed crash when piping typst fonts output to another command Fixed handling of relative paths in --make-deps output Fixed handling of multipage SVG and PNG export in --make-deps output Colons in filenames are now correctly escaped in --make-deps output Symbols New inter, inter.and, inter.big, inter.dot, inter.double, inter.sq, inter.sq.big, inter.sq.double, integral.inter asymp, asymp.not mapsto, mapsto.long divides.not.rev, divides.struck interleave, interleave.big, interleave.struck eq.triple.not, eq.dots, eq.dots.down, eq.dots.up smt, smt.eq, lat, lat.eq colon.tri, colon.tri.op dagger.triple, dagger.l, dagger.r, dagger.inv hourglass.stroked, hourglass.filled die.six, die.five, die.four, die.three, die.two, die.one errorbar.square.stroked, errorbar.square.filled, errorbar.diamond.stroked, errorbar.diamond.filled, errorbar.circle.stroked, errorbar.circle.filled numero Omega.inv Renamed ohm.inv to Omega.inv Changed codepoint (Breaking change) angle.l.double from 《 to ⟪ angle.r.double from 》 to ⟫ angstrom from U+212B (Å) to U+00C5 (Å) Deprecated sect and all its variants in favor of inter integral.sect in favor of integral.inter Removed (Breaking change) degree.c in favor of °C ($upright(°C)$ or $upright(degree C)$ in math) degree.f in favor of °F ($upright(°F)$ or $upright(degree F)$ in math) kelvin in favor of just K ($upright(K)$ in math) Deprecations The path function in favor of the curve function The name pattern for tiling patterns in favor of the new name tiling image.decode, cbor.decode, csv.decode, json.decode, toml.decode, xml.decode, yaml.decode in favor of the top-level functions directly accepting both paths and bytes The sect and its variants in favor of inter, and integral.sect in favor of integral.inter The compatibility behavior of type/str comparisons (e.g. int == "integer") which was temporarily introduced in Typst 0.8 now emits warnings. It will be removed in Typst 0.14. Removals Removed style function and styles argument of measure, use a context expression instead (Breaking change) Removed state.display function, use state.get instead (Breaking change) Removed location argument of state.at, counter.at, and query (Breaking change) Removed compatibility behavior where counter.display worked without context (Breaking change) Removed compatibility behavior of locate (Breaking change) Development The typst::compile function is now generic and can return either a PagedDocument or an HtmlDocument typst-timing now supports WebAssembly targets via web-sys when the wasm feature is enabled Increased minimum supported Rust version to 1.80 Fixed linux/arm64 Docker image @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.13 2024/10/19 21:09:21 pin Exp $ d3 1 a3 1 DISTNAME= typst-0.13.0 d19 1 a19 1 TYPST-DEV-ASSETS_REV= 61aebe9575a5abff889f76d73c7b01dc8e17e340 @ 1.13 log @textproc/typst: update to 0.12.0 Highlights Added support for multi-column floating placement and figures Added support for automatic line numbering (often used in academic papers) Typst's layout engine is now multithreaded. Typical speedups are 2-3x for larger documents. The multithreading operates on page break boundaries, so explicit page breaks are necessary for it to kick in. Paragraph justification was optimized with a new two-pass algorithm. Speedups are larger for shorter paragraphs and go up to 6x. Highly reduced PDF file sizes due to better font subsetting (thanks to @@LaurenzV) Emoji are now exported properly in PDF Added initial support for PDF/A. For now, only the PDF/A-2b profile is supported, but more is planned for the future. Added various options for configuring the CLI's environment (fonts, package paths, etc.) Text show rules now match across multiple text elements Block-level equations can now optionally break over multiple pages Fixed a bug where some fonts would not print correctly on professional printers Fixed a long-standing bug which could cause headings to be orphaned at the bottom of the page Layout Added support for multi-column floating placement and figures via place.scope and figure.scope. Two-column documents should now prefer set page(columns: 2) over show: column.with(2) (see the page setup guide). Added support for automatic line numbering (often used in academic papers) Added par.spacing property for configuring paragraph spacing. This should now be used instead of show par: set block(spacing: ..) (Breaking change) Block-level elements like lists, grids, and stacks now show themselves as blocks and are thus affected by all block properties (e.g. stroke) rather than just spacing (Breaking change) Added block.sticky property which prevents a page break after a block Added place.flush function which forces all floating figures to be placed before any further content Added skew function Added auto option for page.header and page.footer which results in an automatic header/footer based on the numbering (which was previously inaccessible after a change) Added gap and justify parameters to repeat function Added width and height parameters to the measure function to define the space in which the content should be measured. Especially useful in combination with layout. The height of a block, image, rect, square, ellipse, or circle can now be specified in fractional units The scale function now supports absolute lengths for x, y, factor. This way an element of unknown size can be scaled to a fixed size. The values of block.above and block.below can now be retrieved in context expressions. Increased accuracy of conversions between absolute units (pt, mm, cm, in) Fixed a bug which could cause headings to be orphaned at the bottom of the page Fixed footnotes within breakable blocks appearing on the page where the breakable block ends instead of at the page where the footnote marker is Fixed numbering of nested footnotes and footnotes in floats Fixed empty pages appearing when a context expression wraps whole pages Fixed set block(spacing: x) behaving differently from set block(above: x, below: x) Fixed behavior of rotate and scale with reflow: true Fixed interaction of align(horizon) and v(1fr) Fixed various bugs where floating placement would yield overlapping results Fixed a bug where widow/orphan prevention would unnecessarily move text into the next column Fixed weak spacing not being trimmed at the start and end of lines in a paragraph (only at the start and end of paragraphs) Fixed interaction of weak page break and pagebreak.to Fixed compilation output of a single weak page break Fixed crash when padding by 100% Text Tuned hyphenation: It is less eager by default and hyphenations close to the edges of words are now discouraged more strongly (May lead to larger layout reflows) New default font: Libertinus Serif. This is the maintained successor to the old default font Linux Libertine. (May lead to smaller reflows) Setting the font to an unavailable family will now result in a warning Implemented a new smart quote algorithm, fixing various bugs where smart quotes weren't all that smart Added text.costs parameter for tweaking various parameters that affect the choices of the layout engine during text layout Added typm highlighting mode for math in raw blocks Added basic i18n for Galician, Catalan, Latin, Icelandic, Hebrew Implemented hyphenation duplication for Czech, Croatian, Lower Sorbian, Polish, Portuguese, Slovak, and Spanish. The smallcaps function is now an element function and can thereby be used in show(-set) rules. The raw.theme parameter can now be set to none to disable highlighting even in the presence of a language tag, and to auto to reset to the default Multiple stylistic sets can now be enabled at once Fixed the Chinese translation for "Equation" Fixed that hyphenation could occur outside of words Fixed incorrect layout of bidirectional text in edge cases Fixed layout of paragraphs with explicit trailing whitespace Fixed bugs related to empty paragraphs created via #"" Fixed accidental trailing spaces for line breaks immediately preceding an inline equation Fixed text.historical-ligatures not working correctly Fixed accidental repetition of Thai characters around line breaks in some circumstances Fixed smart quotes for Swiss French New font metadata exceptions for Archivo, Kaiti SC, and Kaiti TC Updated bundled New Computer Modern fonts to version 6.0 Math Block-level equations can now break over multiple pages if enabled via show math.equation: set block(breakable: true). Matrix and vector sizing is now more consistent across different cell contents Added stretch function for manually or automatically stretching characters like arrows or parentheses horizontally or vertically Improved layout of attachments on parenthesized as well as under- or overlined expressions Improved layout of nested attachments resulting from code like #let a0 = $a_0$; $a0^1$ Improved layout of primes close to superscripts Improved layout of fractions Typst now makes use of math-specific height-dependent kerning information in some fonts for better attachment layout The floor and ceil functions in math are now callable symbols, such that $ floor(x) = lr(floor.l x floor.r) $ The mat.delim, vec.delim, and cases.delim parameters now allow any character that is considered a delimiter or "fence" (e.g. |) by Unicode. The delim: "||" notation is not supported anymore and should be replaced by delim: bar.double (Minor breaking change) Added vec.align and mat.align parameters Added underparen, overparen, undershell, and overshell Added ~ shorthand for tilde.op in math mode (Minor breaking change) Fixed baseline alignment of equation numbers Fixed positioning of corner brackets (⌜, ⌝, ⌞, ⌟) Fixed baseline of large roots Fixed multiple minor layout bugs with attachments Fixed that alignment points could affect line height in math Fixed that spaces could show up between text and invisible elements like metadata in math Fixed a crash with recursive show rules in math Fixed lr.size not affecting characters enclosed in mid in some cases Fixed resolving of em units in sub- and superscripts Fixed bounding box of inline equations when a text edge is set to "bounds" Introspection Implemented a new system by which Typst tracks where elements end up on the pages. This may lead to subtly different behavior in introspections. (Breaking change) Fixed various bugs with wrong counter behavior in complex layout situations, through a new, more principled implementation Counter updates can now be before the first, in between, and after the last page when isolated by weak page breaks. This allows, for instance, updating a counter before the first page header and background. Fixed logical ordering of introspections within footnotes and figures Fixed incorrect here().position() when place was used in a context expression Fixed resolved positions of elements (in particular, headings) whose show rule emits an invisible element (like a state update) before a page break Fixed behavior of stepping a counter at a deeper level than its current state has Fixed citation formatting not working in table headers and a few other places Displaying the footnote counter will now respect the footnote numbering style Model Document set rules do not need to be at the very start of the document anymore. The only restriction is that they must not occur inside of layout containers. The spacing property of lists, enumerations, and term lists is now also respected for tight lists Tight lists now only attach (with tighter spacing) to preceding paragraphs, not arbitrary blocks The quote element is now locatable (can be used in queries) The bibliography heading now uses depth instead of level so that its level can still be configured via a show-set rule Added support for more numbering formats: Devanagari, Eastern Arabic, Bengali, and circled numbers Added hanging-indent parameter to heading function to tweak the appearance of multi-line headings and improved default appearance of multi-line headings Improved handling of bidirectional text in outline entry Fixed document set rules being ignored in an otherwise empty document Fixed document set rules not being usable in context expressions Fixed bad interaction between set document and set page Fixed show figure: set align(..). Since the default figure alignment is now a show-set rule, it is not revoked by show figure: it => it.body anymore. (Minor breaking change) Fixed numbering of footnote references Fixed spacing after bibliography heading Bibliography The Hayagriva YAML publisher field can now accept a dictionary with a location key. The top-level location key is now primarily intended for event and item locations. Multiple page ranges with prefixes and suffixes are now allowed Added director and catch-all editor types to BibLaTeX parsing Added support for disambiguation to alphanumeric citation style The year 0 will now render as 1BC Fixes for sorting of bibliography entries Fixed pluralization of page range labels Fixed sorting of citations by their number Fixed how citation number ranges collapse Fixed when the short form of a title is used Fixed parsing of unbalanced dollars in BibLaTeX url field Updated built-in citation styles Visualization Added fill-rule parameter to path and polygon functions Fixed color mixing and gradients for Luma colors Fixed conversion from Luma to CMYK colors Fixed offset gradient strokes in PNG export Fixed unintended cropping of some SVGs SVGs with foreign objects now produce a warning as they will likely not render correctly in Typst Syntax Added support for nested imports like import "file.typ": module.item Added support for parenthesized imports like import "file.typ": (a, b, c). With those, the import list can break over multiple lines. Fixed edge case in parsing of reference syntax Fixed edge case in parsing of heading, list, enum, and term markers immediately followed by comments Fixed rare crash in parsing of parenthesized expressions Scripting Added new fixed-point decimal number type for highly precise arithmetic on numbers in base 10, as needed for finance Added std module for accessing standard library definitions even when a variable with the same name shadows/overwrites it Added array.to-dict, array.reduce, array.windows methods Added exact argument to array.zip Added arguments.at method Added int.from-bytes, int.to-bytes, float.from-bytes, and float.to-bytes Added proper support for negative values of the digits parameter of calc.round (the behaviour existed before but was subtly broken) Conversions from int to float will now error instead of saturating if the float is too large (Minor breaking change) Added float.nan and float.inf, removed calc.nan (Minor breaking change) Certain symbols are now generally callable like functions and not only specifically in math. Examples are accents or floor and ceil. Improved repr of relative values, sequences, infinities, NaN, type(none) and type(auto) Fixed crash on whole packages (rather than just files) cyclically importing each other Fixed return type of calc.round on integers when a non-zero value is provided for digits Styling Text show rules now match across multiple text elements The string " in a text show rule now matches smart quotes Fixed a long-standing styling bug where the header and footer would incorrectly inherit styles from a lone element on the page (e.g. a heading) Fixed set page not working directly after a counter/state update Page fields configured via an explicit page(..)[..] call can now be properly retrieved in context expressions Export Highly reduced PDF file sizes due to better font subsetting Emoji are now exported properly in PDF Added initial support for PDF/A. For now, only the standard PDF/A-2b is supported, but more is planned for the future. Enabled via --pdf-standard a-2b in the CLI and via the UI in File > Export as > PDF in the web app. Setting page.fill to none will now lead to transparent pages instead of white ones in PNG and SVG. The new default of auto means transparent for PDF and white for PNG and SVG. Improved text copy-paste from PDF in complex scenarios Exported SVGs now contain the data-typst-label attribute on groups resulting from labelled boxes and blocks Fixed a bug where some fonts would not print correctly on professional printers Fixed a bug where transparency could leak from one PDF object to another Fixed a bug with CMYK gradients in PDF Fixed various bugs with export of Oklab gradients in PDF Fixed crashes related to rendering of non-outline glyphs Two small fixes for PDF standard conformance Performance Typst's layout engine is now multithreaded. Typical speedups are 2-3x for larger documents. The multithreading operates on page break boundaries, so explicit page breaks are necessary for it to kick in. Paragraph justification was optimized with a new two-pass algorithm. Speedups are larger for shorter paragraphs and range from 1-6x. Command Line Interface Added --pages option to select specific page ranges to export Added --package-path and --package-cache-path as well as TYPST_PACKAGE_PATH and TYPST_PACKAGE_CACHE_PATH environment variables for configuring where packages are loaded from and cached in, respectively Added --ignore-system-fonts flag to disable system fonts fully for better reproducibility Added --make-deps argument for outputting the dependencies of the current compilation as a Makefile Added --pretty option to typst query, with the default now being to minify (only applies to JSON format) Added --backup-path to typst update to configure where the previous version is backed up Added useful links to help output The CLI will now greet users who invoke just typst for the first time The document can now be written to stdout by passing - as the output filename (for PDF or single-page image export) Typst will now emit a proper error message instead of failing silently when the certificate specified by --cert or TYPST_CERT could not be loaded The CLI now respects the SOURCE_DATE_EPOCH environment variable for better reproducibility When exporting multiple images, you can now use t (total pages), p (current page), and 0p (zero-padded current page, same as current n) in the output path The input and output paths now allow non-UTF-8 values Times are now formatted more consistently across the CLI Fixed a bug related to the --open flag Fixed path completions for typst not working in zsh Tooling and Diagnostics The "compiler" field for specifying the minimum Typst version required by a package now supports imprecise bounds like 0.11 instead of 0.11.0 Added warning when a label is ignored by Typst because no preceding labellable element exists Added hint when trying to apply labels in code mode Added hint when trying to call a standard library function that has been shadowed/overwritten by a local definition Added hint when trying to set both the language and the region in the lang parameter Added hints when trying to compile non-Typst files (e.g. after having typed typst c file.pdf by accident) Added hint when a string is used where a label is expected Added hint when a stray end of a block comment (*/) is encountered Added hints when destructuring arrays with the wrong number of elements Improved error message when trying to use a keyword as an identifier in a let binding Improved error messages when accessing nonexistent fields Improved error message when a package exists, but not the specified version Improved hints for unknown variables Improved hint when trying to convert a length with non-zero em component to an absolute unit Fixed a crash that could be triggered by certain hover tooltips Fixed an off-by-one error in to-source jumps when first-line-indent is enabled Fixed suggestions for . after the end of an inline code expressions Fixed autocompletions being duplicated in a specific case Symbols New: parallelogram, original, image, crossmark, rest, natural, flat, sharp, tiny, miny, copyleft, trademark, emoji.beet, emoji.fingerprint, emoji.harp, emoji.shovel, emoji.splatter, emoji.tree.leafless, New variants: club.stroked, diamond.stroked, heart.stroked, spade.stroked, gt.neq, lt.neq, checkmark.heavy, paren.double, brace.double, shell.double, arrow.turn, plus.double, plus.triple, infinity.bar, infinity.incomplete, infinity.tie, multimap.double, ballot.check, ballot.check.heavy, emptyset.bar, emptyset.circle, emptyset.arrow.l, emptyset.arrow.r, parallel.struck, parallel.eq, parallel.equiv, parallel.slanted, parallel.tilde, angle.l.curly, angle.l.dot, angle.r.curly, angle.r.dot, angle.oblique, angle.s, em.two, em.three Renamed: turtle to shell, notes to note, ballot.x to ballot.cross, succ.eq to succ.curly.eq, prec.eq to prec.curly.eq, servicemark to trademark.service, emoji.face.tired to emoji.face.distress (Breaking change) Changed codepoint: prec.eq, prec.neq, succ.eq, succ.neq, triangle from ▷ to △, emoji.face.tired (Breaking change) Removed: lt.curly in favor of prec, gt.curly in favor of succ (Breaking change) Deprecations counter.display without an established context counter.final with a location state.final with a location state.display query with a location as the second argument locate with a callback function measure with styles style Development Added typst-kit crate which provides useful APIs for World implementors Added go-to-definition API in typst-ide Added package manifest parsing APIs to typst-syntax As the compiler is now capable of multithreading, World implementations must satisfy Send and Sync Changed signature of World::main to allow for the scenario where the main file could not be loaded Removed Tracer in favor of Warned and typst::trace function The xz2 dependency used by the self-updater is now statically linked The Dockerfile now has an ENTRYPOINT directive @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.12 2024/10/16 22:10:55 wiz Exp $ d3 1 a3 1 DISTNAME= typst-0.12.0 d16 2 d19 1 a19 1 TYPST-DEV-ASSETS_REV= b07d1560143d6883887358d30edb25cb12fcf5b9 @ 1.12 log @typst: fix build with rust 1.80 Using upstream backport of crate update: https://github.com/typst/typst/commit/b49a8ffd505e05a2f24cf69c868215f72a833230 Bump PKGREVISION. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.11 2024/05/18 07:03:55 pin Exp $ d3 1 a3 2 DISTNAME= typst-0.11.1 PKGREVISION= 1 d17 1 a17 1 TYPST-DEV-ASSETS_REV= ee8ae61cca138dc92f9d818fc7f2fc046d0148c5 @ 1.11 log @textproc/typst: update to 0.11.1 Version 0.11.1 (May 17, 2024) Security Fixed a vulnerability where image files at known paths could be embedded into the PDF even if they were outside of the project directory Bibliography Fixed et-al handling in subsequent citations Fixed suppression of title for citations and bibliography references with no author Fixed handling of initials in citation styles without a delimiter Fixed bug with citations in footnotes Text and Layout Fixed interaction of first-line-indent and outline Fixed compression of CJK punctuation marks at line start and end Fixed handling of rectangles with negative dimensions Fixed layout of path in explicitly sized container Fixed broken raw text in right-to-left paragraphs Fixed tab rendering in raw text with language typ or typc Fixed highlighting of multi-line raw text enclosed by single backticks Fixed indentation of overflowing lines in raw blocks Fixed extra space when raw text ends with a backtick Math Fixed broken equations in right-to-left paragraphs Fixed missing blackboard bold letters Fixed error on empty arguments in 2D math argument list Fixed stretching via mid for various characters Fixed that alignment points in equations were affected by set align(..) Export Fixed smart quotes in PDF outline Fixed patterns with spacing in PDF Fixed wrong PDF page labels when page numbering was disabled after being previously enabled Scripting Fixed overflow for large numbers in external data files (by converting to floats instead) Fixed str.trim(regex, at: end) when the whole string is matched Miscellaneous Fixed deformed strokes for specific shapes and thicknesses Fixed newline handling in code mode: There can now be comments within chained method calls and between an if branch and the else keyword Fixed inefficiency with incremental reparsing Fixed autocompletions for relative file imports Fixed crash in autocompletion handler Fixed a bug where the path and entrypoint printed by typst init were not properly escaped Fixed various documentation errors @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.10 2024/03/18 09:04:32 pin Exp $ d4 1 @ 1.10 log @textproc/typst: update to 0.11.0 Version 0.11.0 (March 15, 2024) Tables (thanks to @@PgBiel) - Tables are now much more flexible, read the new table guide to get started - Added table.cell element for per-cell configuration - Cells can now span multiple columns or rows - The stroke of individual cells can now be customized - The align and inset arguments of the table function now also take (x, y) => .. functions - Added table.hline and table.vline for convenient line customization - Added table.header element for table headers that repeat on every page - Added table.footer element for table footers that repeat on every page - All the new table functionality is also available for grids - Fixed gutter-related bugs Templates - You can now use template packages to get started with new projects. Click Start from template on the web app's dashboard and choose your preferred template or run the typst init