Commit Graph

1679 Commits

Author SHA1 Message Date
Heinenen ad901c2cdb
Syntax error if function name is parenthesized (#3058)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-16 08:52:56 +00:00
Sébastien d'Herbais de Thun 1834ebc529
Added `int.signum`, `float.signum`, `float.is-nan`, and `float.is-infinite` (#3118) 2024-01-12 13:38:58 +00:00
astrale-sharp c20b6ec6e1
Test autocomplete (#2912)
Co-authored-by: oliver <151407407+kwfn@users.noreply.github.com>
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-09 09:05:57 +00:00
Wenzhuo Liu cc1f974164
Partially fix hide for line, polygon, table, grid (#3139) 2024-01-09 08:12:08 +00:00
Leedehai 23875a0483
Let type constructor/field access error report the name correctly (#3140)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-09 07:45:24 +00:00
Sébastien d'Herbais de Thun 712eaaa5f4
Fix CMYK on gradients (#3142) 2024-01-08 15:53:22 +00:00
Wenzhuo Liu 46053b62e5
Fix large operators in cambria math (#3115) 2024-01-05 19:30:45 +00:00
PgBiel 8fa573a9a2
Initial table per-cell customization [More Flexible Tables Pt.2a] (#3037)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-05 19:30:07 +00:00
Leedehai a124694f08
Ignore weak HElem at the beginning and end of an LR group (#2950) 2024-01-05 18:08:27 +00:00
emilylime 4a65c2115b
Fix typos (#3126) 2024-01-05 14:12:27 +00:00
Pol Dellaiera d651c6e0e6
Bump New Computer Modern fonts to version 5.02 (#3072)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-04 17:21:56 +00:00
Eric Biedert 55536e218d
Improve positioning of multiple accents and attachments (#3059) 2024-01-04 15:14:26 +00:00
Myriad-Dreamin 34e3bd52aa
Inline equations linebreak at appropriate places (#2938)
Co-authored-by: David Maxwell <damaxwell@alaska.edu>
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-03 12:04:36 +00:00
Sébastien d'Herbais de Thun 3aeb150c95
Added `to-absolute` method to length. (#3117)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-03 09:43:08 +00:00
Wenzhuo Liu 28a5069f95
Fix linebreak fallback tofu (#3123) 2024-01-03 09:41:41 +00:00
Leedehai 39e53fcdc9
Clarify the way to access functions from dictionaries (#3064)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-02 09:13:45 +00:00
Heinenen c27b9e2b0f
Don't allow nested line comment inside block comment (#3048) 2023-12-30 13:01:05 +00:00
Sébastien d'Herbais de Thun c4d9b0c3d8
New performance timings (#3096)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-12-30 12:36:15 +00:00
voidiz 4e5afa672f
Suggest accessing field if method doesn't exist (#2977) 2023-12-28 14:28:04 +00:00
Leedehai 99f32a45e5
Add a test to verify .with() applies to sinks (#3071) 2023-12-28 13:32:51 +00:00
Eric Biedert f94708d202
Make accent size adjustable (#3077) 2023-12-28 13:30:32 +00:00
k-84mo10 e215f22965
Fix the test image of numbering.png (#3070) 2023-12-26 10:38:46 +01:00
k-84mo10 9741885aaf
Contemporary Japanese numbering (#3012) 2023-12-25 22:28:00 +01:00
Wenzhuo Liu 81ff34d80d
Add stroke for text (#2970) 2023-12-19 10:36:18 +01:00
PgBiel 111a69f6aa
Grid and Table API Unification [More Flexible Tables Pt.1] (#3009) 2023-12-19 10:28:41 +01:00
PgBiel c361566cb2
Show which reference image was updated (#3008) 2023-12-19 10:19:20 +01:00
Emmett Rayes 6808e58a3b
Cycle list markers by default (#2788)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-12-18 18:25:28 +01:00
Niklas Ausborn 1f983ced90
Implement CSV file header rows support. (#2619)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-12-18 17:14:21 +01:00
Leedehai 47bb32809a
Expand the AttachElement frame so it encompasses its child center_frame (#2968) 2023-12-18 13:19:55 +01:00
CosmicHorror 56159997b7
Switch to `two-face` for extra syntect syntaxes (#2937) 2023-12-18 13:17:47 +01:00
Carson McManus 754e1788b2
Fix a parser bug causing `x.)` to be treated as a field access (#2962) 2023-12-18 12:33:29 +01:00
PgBiel eb9dd539aa
Fix unnamed sinks not capturing named args (#2984) 2023-12-18 12:30:03 +01:00
Laurenz 22ba6825db
Key/Value data from CLI (#2894) 2023-12-18 12:18:41 +01:00
Malo 356bdeba18
Do not create a block frame for out-of-flow items only (#2517) 2023-12-18 11:37:30 +01:00
Laurenz cf6ce9fd53 Make `World` thread-safe 2023-12-14 22:58:56 +01:00
Malo 7adeb49652
Improve number display (#2936) 2023-12-14 14:21:25 +01:00
Sébastien d'Herbais de Thun d869a07d2d
Remove HSV and HSL color spaces from PDF export (#2927)
Co-authored-by: EpicEricEE <github@ericbiedert.de>
2023-12-13 14:35:56 +01:00
Eric Biedert 077d6b5c54
Adjust color mixing for hue-based spaces (#2931) 2023-12-13 13:23:32 +01:00
Sébastien d'Herbais de Thun 231b96e5cf
Make layout account for transforms (#2555) 2023-12-13 12:44:28 +01:00
oliver 8d7d18c4d6
More consistent spelling of "behaviour" (#2923) 2023-12-12 15:34:46 +01:00
Sébastien d'Herbais de Thun 343a423e9f
Fix #2902 (#2913) 2023-12-11 17:03:59 +01:00
Malo ce9d420472
Mention `str(<label>)` feature in documentation for `label` (#2906) 2023-12-11 17:03:26 +01:00
Laurenz 0813e05a60 Add regression test for #1597 2023-12-07 17:37:18 +01:00
Sébastien d'Herbais de Thun 3e96f5f75f
Fix label in `.fields()` accessor (#2884) 2023-12-07 12:22:07 +01:00
Emanuel 9e333e5058
Add calc.root function (#2736)
Fixes #2522
2023-12-06 14:32:56 +01:00
Leedehai 9a62b21a25
Let test.rs --exact also accept file path of a typ file (#2817) 2023-12-06 11:02:27 +01:00
Leedehai d1835b418f
Use a rotating test progress printer (#2872) 2023-12-06 11:02:08 +01:00
Nathaniel Brough 9aadb18186
Add simple fuzz testing (#2581) 2023-12-05 19:26:58 +01:00
PgBiel 0ebce56b36
Implement lexicographic array comparison (#2827) 2023-12-05 19:15:03 +01:00
Andrew Voynov 4f6fecd606
Removed trailing whitespaces (#2852) 2023-12-05 12:55:36 +01:00
Laurenz 8a2ef9ea01 Enable workspace lints for tests 2023-12-04 14:58:11 +01:00
Sébastien d'Herbais de Thun f5c90c8714
Fix PDF transform (#2850) 2023-12-04 14:24:05 +01:00
Laurenz 962108d168 Fix zero-sized patterns 2023-12-04 12:50:07 +01:00
Sébastien d'Herbais de Thun 7f10d3282e
Fix defaults on `#[synthesized]` fields (#2825)
Fixes #2821
2023-12-04 11:44:34 +01:00
Laurenz 63c19a194c Bump hayagriva 2023-11-29 18:40:47 +01:00
Laurenz aa23198ad9 A little less route nesting 2023-11-29 13:09:00 +01:00
Leedehai b9d025de83
Update New Computer Modern fonts to version 4.7 (#2764) 2023-11-29 12:36:40 +01:00
Laurenz 2007f30b11 Better error message for named instead of positional argument 2023-11-28 18:55:03 +01:00
Laurenz 3b9acf5563 Bump dependencies 2023-11-27 17:16:42 +01:00
Laurenz 713cde1136 Make workspace inheriting consistent 2023-11-27 16:54:55 +01:00
T0mstone 76c5ca051e
Fix trailing comma of function call in math mode (#2772) 2023-11-27 16:03:11 +01:00
Leedehai 34862b7b27
Implement mid() for middle delimiters in lr() (#2760) 2023-11-27 12:02:51 +01:00
Leedehai c354f00f79
Add test cases to verify lexer's identifier validation (#2773) 2023-11-27 11:50:15 +01:00
Jakob Sachs 219c1c9ed0
Added vertical number alignment to enum (#2742)
Fixes #2441
2023-11-27 11:12:04 +01:00
Laurenz 85b1d1d4dd Rework `Vt` into `Engine`
- Moves as much data out of the `Vm`
- Removes duplication with call_vm and call_vt flavours
- Uses tracked chain instead of fixed int for determining max nesting depth
- This means that nesting checks now generalizes to layout and realization, to detect crashing show rules and overly nested layouts
2023-11-26 19:03:21 +01:00
Martin Haug 2f795b5c07 Bump Hayagriva
Fix #2572
2023-11-24 16:38:03 +01:00
Sébastien d'Herbais de Thun 1756718bab
Gradient Part 6 - Pattern fills (#2740) 2023-11-24 15:46:20 +01:00
Laurenz 7eebafa783 Merge `typst` and `typst-library` 2023-11-24 12:30:02 +01:00
frozolotl e5470401f4
Fix `has` on non-inherent fields (#2745) 2023-11-24 11:41:38 +01:00
frozolotl 55799f7395
Make `color.components`' alpha parameter named (#2734) 2023-11-21 18:05:12 +01:00
Laurenz c1bc529986 Support arbitrary content for document title
For PDF, they will be immediately turned into plain text. However, it's still useful because templates can now accept content titles (with math or such things) instead of forcing strings because of set document. Moreover, it will be useful with "get rules" in the future.
2023-11-20 18:31:29 +01:00
Laurenz c641044380 Workaround for show set propagation on citations
Fixes #2531
2023-11-19 18:57:28 +01:00
Laurenz 35d6a891bc Rename typeset function to layout 2023-11-19 18:17:06 +01:00
Laurenz ea987ef4a3 Fix linebreaking at the end of links
Fixes #2689
2023-11-19 15:53:48 +01:00
Laurenz e0d6526a53
Watching fixes (#2706) 2023-11-19 12:31:42 +01:00
frozolotl 43f90b2159
Implement euclidean division and remainder (#2678) 2023-11-17 19:55:57 +01:00
frozolotl b0e81d4b3f
Remove restrictions to chroma and improve clamping (#2690)
This PR does a few small things:
- Oklab's a*/b* and Oklch's chroma components can be as large as desired.
- In PDF, when encoding Oklab, the range is widened from [-0.4,0.4] to [-0.5,0.5].
- In PDF, clamping is now performed on Oklch's chroma instead of a* and b*.
  This causes hue not to be distorted when clamping.

SVG and PNG export remain unchanged:
- SVG itself never had any restrictions on chroma.
  We directly use the `oklab` and `oklch` CSS colors, which should work fine for the most part.
  In the future, embedded ICC profiles might be nice. Further research is likely necessary.
- While PNG does not support color spaces like Oklab or Oklch, certain useful features exist.
  One can define gamma (gAMA) and chromacities&whitepoint (cHRM) chunks and even embed ICC profiles.
  While `image` crate does not support these features for encoding, its backend crate `png` does support gAMA and cHRM.
  It does not allow embedding ICC profiles yet, though.

As it stands, to fully support wide gamuts and more accurate colors, more work is necessary.
This PR should help a bit though.
2023-11-17 10:41:45 +01:00
Sébastien d'Herbais de Thun 5aaaacbf47
Allow `elem` synthesized fields to take a default value (#2687) 2023-11-17 10:39:08 +01:00
Peng Guanwen f4a81091f7
Lexer change: Allow emphasis in CJK text without spaces (#2648) 2023-11-15 15:01:15 +01:00
frozolotl 7aef798658
Fix cmyk repr (#2682) 2023-11-15 14:49:45 +01:00
Dimitri Kokkonis 897447e859
Translate local names to Greek (#2684)
Additionally, add support for single and double quotes in Greek.
2023-11-14 15:59:30 +01:00
frozolotl 7d5f6a8b73
Improve color conversions (#2659) 2023-11-13 16:23:52 +01:00
frozolotl d16ab29068
Make Oklab and Oklch chroma ratios relative to 0.4 (#2642) 2023-11-13 15:48:54 +01:00
frozolotl 67422e664b
Allow non-string contents for math operators (#2663) 2023-11-13 12:26:58 +01:00
Wenzhuo Liu e07275163f
Filter out meta items when adding CJK-Latin (#2655)
spacing.
2023-11-13 12:13:05 +01:00
frozolotl 97bb0fbce3
Fix bug where inline equations were displayed in the outline (#2662) 2023-11-13 12:04:34 +01:00
TheJosefOlsson d25e6726e2
Add tests for shorthand (#2660) 2023-11-13 11:54:48 +01:00
Andrew Voynov a44141be2e
Changed default `image` Russian supplement to short form (#2637) 2023-11-11 10:46:25 +01:00
MALO 13f1a4386f
Improve French and Chinese localization for figures (#2542) 2023-11-10 17:17:39 +01:00
frozolotl d93ed1b3d8
Implement Oklch support (#2611) 2023-11-10 10:31:06 +01:00
Laurenz 7f0fcda376 Move some things out of `util` 2023-11-08 23:42:45 +01:00
Sébastien d'Herbais de Thun d7fea7077e
Gradient Part 5c: Fix gradient rotation on text & math (#2606) 2023-11-08 15:51:25 +01:00
Anton Wetzel ba05164bb6
Change rectangle clip to use the inside of the stroke, not the middle. (#2626) 2023-11-08 15:30:00 +01:00
Laurenz 46846a337e Extract `typst-pdf` crate 2023-11-08 15:09:55 +01:00
Laurenz 80b4ca4c04 Extract `typst-svg` crate 2023-11-08 13:21:47 +01:00
Laurenz ec04c3de2f Extract `typst-render` crate 2023-11-08 13:16:13 +01:00
Laurenz 4794bd35fa Switch to workspace dependencies 2023-11-08 12:56:35 +01:00
Joseph Wilson 2ce9d76025
Add constructor for `stroke`. (#2518) 2023-11-08 11:08:38 +01:00
tingerrr 5f922abfd8
Add hints for invalid identifier errors (#2583) 2023-11-07 12:14:20 +01:00
Sébastien d'Herbais de Thun 241a6d9e5a
Gradient Part 5b: Fix gradients in math (#2604) 2023-11-07 12:09:51 +01:00
Peng Guanwen 4a7d3585d9
Improve reshape condition (#2547) 2023-11-06 21:43:15 +01:00
Samuel Tardieu e550f0a8f7
Prevent silent swallowing of return expressions trailing arguments (#2545)
Fixes #2104
2023-11-06 21:42:38 +01:00
Matt Fellenz 8fd546760c
Implement dict key interpolation (#2559) 2023-11-02 17:08:08 +01:00
Laurenz c177a63c9b Fix citation grouping bug with spaces 2023-10-31 12:19:30 +01:00
Laurenz ab5dd2a1cb CSL support 2023-10-31 01:33:06 +01:00
Fritz Rehde c3114fa380
Fixed typos (#2524) 2023-10-30 23:25:28 +01:00
Laurenz 55296a9196 Say which label occurs never or multiple times in error message 2023-10-30 23:00:40 +01:00
Eric Biedert 64d3fd8a3f
Add missing gradient to stroke cast (#2527) 2023-10-30 22:24:39 +01:00
MALO 500468fd05
Improve "cannot apply '{+,-}'" error messages (#2510) 2023-10-29 11:15:53 +01:00
Laurenz 29130a26f8 Linebreaking for links 2023-10-29 00:52:15 +02:00
Laurenz 221609b11c Add regression test for #80 2023-10-28 20:35:28 +02:00
Laurenz aa62d05453 Fix justification with hanging indent and negative spacing
Fixes #2419
2023-10-28 20:05:51 +02:00
Laurenz c3b1e32d11 Fix justified linebreaking without justifiables 2023-10-28 18:02:16 +02:00
Martin Haug f78a8f5d48
Add IDs and creation date to PDFs (#2374) 2023-10-27 18:33:23 +02:00
Laurenz 24a0bd8cfb Fix error priority for function arguments
Errors about superfluous arguments are now thrown before errors of the function execution itself.

Fixes #1367
2023-10-27 15:38:08 +02:00
Laurenz cbfd9884a9 Fix argument parsing bug
Things like `luma(1, key: "val")` didn't produce an error before because `args.finish()?` wasn't called. This changes `args: Args` to `args: &mut Args` to make it impossible for that to happen.
2023-10-27 13:25:15 +02:00
Joseph Wilson e182777133
Implement unary `array.zip`, closing #2478 (#2491) 2023-10-27 12:58:55 +02:00
Laurenz e686a11ae7 Bump dependencies 2023-10-25 17:39:40 +02:00
Francisco J. Sanchez c29a31b6c5
Fix pagebreak.to check (#2475) 2023-10-25 17:16:34 +02:00
LU Jialin f81a8d00e3
Refactor `cancel`, now able to take absolute angle or functions (#2466) 2023-10-22 14:07:30 +02:00
Wenzhuo Liu b97ee93b8f
Support adjustment of more CJK punctuation (#2456) 2023-10-22 13:45:51 +02:00
MALO cf9ca6cb59
Fix compiler panic for float with no vertical alignment (#2437) 2023-10-22 13:43:24 +02:00
MALO aaac1dbd68
Adapt default figure separator to the current locale (#2390) 2023-10-22 13:33:00 +02:00
SekoiaTree 7f185f21e0
Add date to document (#2371) 2023-10-22 13:29:48 +02:00
SekoiaTree 3faad6bc5d
Add support for negative augment indexes (#2372) 2023-10-22 13:22:34 +02:00
Sébastien d'Herbais de Thun c0dbb900e8
Cached export for incremental (#2400) 2023-10-17 20:53:01 +02:00
Sébastien d'Herbais de Thun 37a988af83
Replace `Vec` with `EcoVec`, removed `Box` (#2420) 2023-10-17 20:50:36 +02:00
Peng Guanwen e4d9db83ea
Automatically add spacing between CJK and Latin characters (#2334) 2023-10-17 11:14:09 +02:00
Sébastien d'Herbais de Thun a59666369b
Part 5a: Gradients on text with `relative: auto` or `relative: "parent"` (#2364) 2023-10-12 18:03:52 +02:00
bluebear94 d3b62bd02e
MathAttach::primes: account for possible hash before base (#2363)
Fixes #2358.
2023-10-12 10:19:07 +02:00
tingerrr 0f24990579
Add `quote` element (#2252) 2023-10-10 11:59:11 +02:00
Sébastien d'Herbais de Thun 0dd79bbad2
Add `raw.line` (#2341) 2023-10-10 11:56:16 +02:00
Sébastien d'Herbais de Thun 9bca0bce73
Fix clipping when a box/block has a `radius` (#2338) 2023-10-10 11:51:22 +02:00
Sébastien d'Herbais de Thun a8af6b449a
Adds a default value to `.remove()` on `dict` and `array` (#2346) 2023-10-10 11:44:59 +02:00
Sébastien d'Herbais de Thun cef2d3afca
Gradient Part 4 - Conic gradients (#2325) 2023-10-10 11:29:05 +02:00
HydroH 7b61d722dd
Adjust table inset behavior to the same as container's (#1979) (#2323) 2023-10-09 15:52:04 +02:00
MALO 0804a9e25d
Use/allow U+2212 MINUS SIGN instead of U+002D HYPHEN MINUS everywhere (#2318) 2023-10-09 15:30:40 +02:00
Laurenz 2a19e7f4dc Bump ecow 2023-10-09 15:00:07 +02:00
TheJosefOlsson 6dab95473b
Multinomial coefficients (#2237) 2023-10-09 13:46:16 +02:00
Sébastien d'Herbais de Thun e7443abfe6
Gradient Part 3 - Radial gradients (#2312) 2023-10-06 16:47:20 +02:00
bluebear94 6bb776029e
Fix crashes with infinite lengths (part 2) (#2298) 2023-10-05 10:26:36 +02:00
MALO 333e4037fc
Add `Repr` trait (#2269) 2023-10-04 12:08:56 +02:00
Sébastien d'Herbais de Thun 57bc614cf4
Gradient Part 2a - Fix sharp gradients in SVG (#2307) 2023-10-04 10:58:17 +02:00
Eric Biedert 55095246bf
Fix `extent` for text decoration (#2308) 2023-10-04 10:56:55 +02:00
Sébastien d'Herbais de Thun a4e357fb37
Gradient Part 2 - Linear gradients (#2279) 2023-10-03 19:31:02 +02:00
Laurenz 6b1233e127 Fix test failure
Before we tested with an unavailable font, but the hyphens were still visible. But now the hyphens respect fallback too, so it's really hard to test it. I am removing the test for now.
2023-10-03 16:22:10 +02:00
bluebear94 ce658db2f3
ShapedText::push_hyphen: Use self.base for default hyphen range (#2299)
In the unlikely chance that we hyphenate after an empty line, we
set the glyph range to self.base..self.base so that subtracting

Fixes #2283.
2023-10-03 15:02:27 +02:00
T0mstone cf9bde3245
Add capability to get current compiler version (#2016) 2023-10-02 20:28:19 +02:00
LU Jialin 34ebbaeb10
Passing color to the augment line in matrix (#2281) 2023-10-02 16:22:33 +02:00
Sébastien d'Herbais de Thun 62f37ad4ab
Color fixes (#2262) 2023-09-29 15:04:08 +02:00
bluebear94 553da642bd
Handle compiler panics when handling infinite lengths (#2215) 2023-09-28 11:15:09 +02:00
Eric Biedert 0d39fa021f
Prevent block spacing with placed elements (#2244) 2023-09-26 16:59:51 +02:00
Arnaud Golfouse 962071619d
Avoid plugin panics (#2232) 2023-09-26 16:21:21 +02:00
Eric Biedert c8ebcd70d6
Resolve spacing before comparing (#2235) 2023-09-26 11:42:05 +02:00
tingerrr 0710d1c118
Add `background` parameter to `overline`, `underline` and `strike` (#2219) 2023-09-25 16:19:48 +02:00
tingerrr 063e9afccf
Add custom smart quotes (#2209) 2023-09-25 16:19:22 +02:00
LU Jialin 079ccd5e5b
Fixing the styling issues of the empty pages caused by pagebreak (#2182) 2023-09-25 14:13:54 +02:00
Anton Wetzel 98e5d97509
Better rect edges (#1956) 2023-09-25 13:54:58 +02:00
LU Jialin 04b4536772
Fixing the baseline in math content (#2220) 2023-09-25 13:13:16 +02:00
SekoiaTree 3dcbe859fb
Add gaps for matrix, case, and vector (#2186) 2023-09-21 10:26:47 +02:00
Peng Guanwen 50f354e989
Correct the consecutive hyphen cost (#2190)
This just fixes a mistake previously made. `0.3` is the correct number that is proportional to the parameters in Knuth's paper. The previously choosed value `300` is due to my calculation mistake and is too large that essentially prevent any consecutive hyphens.
2023-09-19 17:05:32 +02:00
Laurenz 7a46a85d3e Improve span stability after incremental parsing 2023-09-19 16:53:59 +02:00
Sébastien d'Herbais de Thun 163c2e1aa2
Gradient Part 1 - Color rework (#2171) 2023-09-19 15:48:33 +02:00
Eric Biedert 13758b9c97
Allow multiple fallback fonts in SVGs (#2122) 2023-09-19 10:28:50 +02:00
Eric Biedert b10f9ae7b7
Fix "set align" for block equations (#2157) 2023-09-18 14:51:34 +02:00
Laurenz 25613cfaf3 Fix missing capturing of assignments
The previous commit was a bit overambitious. The left-hand side of assignments should actually be fully captured: Argument lists in `at` calls can contain captured variables. And if the assigned variable itself is captured, then the function is faulty anyway. (And we ensure the correct error message by capturing it.)

Fixes #2169
2023-09-16 20:41:44 +02:00
Laurenz 94380f4457 Remove 64-bit-specific test
Fixes #2139
2023-09-15 12:34:35 +02:00
Laurenz 3dd12d13f8
Fix invisibles on final page (#2141) 2023-09-14 13:36:39 +02:00
Laurenz Stampfl a5e39d814c
Update to usvg 0.35 (#2113) 2023-09-13 16:41:45 +02:00
Laurenz ff2650373c Fix floating placement within containers
Fixes #1879
2023-09-13 15:26:23 +02:00
Laurenz f9feea3f29 Bump dependencies 2023-09-13 14:44:45 +02:00
Laurenz e77d935014 Bump oxipng
The released version of oxipng has a deadlock issue with rayon. So we switch to a git dependency for now.
2023-09-13 13:46:01 +02:00
Laurenz 68b365b351 Fix newline in text in math
Fixes #1948
2023-09-13 13:45:05 +02:00
Laurenz 8fb225feb4 Fix box in 100% width block
Fixes #2128
2023-09-13 13:44:28 +02:00
Kevin K 8927f3d572
Add logical numbering support for PDF export (#1933)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-09-13 10:18:08 +02:00
Dmitrij 6275dfd062
Add figure separator field (#1791) 2023-09-12 15:01:59 +02:00
MALO 976abdfe7d
Add `figure.caption` element (#1704)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-09-12 14:47:36 +02:00
Laurenz e39be71a54 Fix newline parsing behaviour in markup 2023-09-12 11:45:24 +02:00
Laurenz 2dc000daeb Type compatibility
For now, types can be used like strings in operations to prevent breakage of many packages. Hopefully, we can get rid of this in the future.
2023-09-11 17:38:03 +02:00
Laurenz 305524d005 Update tests for type system changes 2023-09-11 14:42:43 +02:00
Laurenz 921b40cf9c Forward third-party errors
Better to know something even if it isn't always formatted in the prettiest way
2023-09-11 12:04:37 +02:00
LU Jialin d056280165
Wrap into an equation when a Math expr is evaluated (#2081) 2023-09-11 10:47:08 +02:00
LU Jialin 71dccde031
Provide `highlight` function for setting the background color of text (#2076) 2023-09-11 10:46:39 +02:00
Laurenz 073effc740 Fix font family mismatch between Typst and usvg
Fixes #2051
2023-09-09 22:33:17 +02:00
Laurenz 65aeea3142 Fix spacing after number in math
Fixes #1052
2023-09-06 12:15:27 +02:00
Laurenz fe402759c0 Don't automatically match fences
Fixes #306
2023-09-06 12:07:37 +02:00
Laurenz b76e8d5db9 Interpret vertical page number alignment differently
The vertical alignment of `number-align` now selects header or footer instead of aligning within the footer. This is a minor breaking change because
- top behaves differently now
- horizon is now forbidden
- bottom (the new default) behaves differently, too
Typical number-align usage will likely not use the vertical component at all, though.

Fixes #645
2023-09-06 10:32:54 +02:00
Laurenz 87c0a5171a Bump hayagriva 2023-09-05 12:17:30 +02:00
Laurenz 2f672b4e2e Allow packages to specify their minimum compiler version 2023-09-04 16:29:57 +02:00
bluebear94 499c5f2444
Fix improper line wrapping in the presence of medial newlines (#2056)
Fixes #2019.
2023-09-04 11:46:17 +02:00
Laurenz 8c9c959f4f Rename test
The name `empty` shall not appear in any test but `empty.typ`.
2023-09-01 11:48:57 +02:00
Anton Wetzel ca1096de78
Replace tabs with spaces in raw elements. (#2042) 2023-08-31 10:06:31 +02:00
Reid Johnson 5c1db0c4b8
Add regular polygons to visualize (#1215) 2023-08-31 09:51:00 +02:00
Laurenz a6f347fbb7 Add test for ends-with fix 2023-08-30 17:19:25 +02:00
Laurenz 5b36b46230 Fix data loading display names 2023-08-30 17:15:49 +02:00
Pg Biel 19b91d59d1
Allow renaming imports with `as` (#1923) 2023-08-30 13:36:02 +02:00
Sébastien d'Herbais de Thun 8a0dd88f10
Make zip variadic (#2041) 2023-08-30 13:31:37 +02:00
Beiri22 e1558268f9
Introduce second variant of Ignorant Behaviour and prevent weak page breaks at basically empty pages (#1929) 2023-08-30 12:58:16 +02:00
Beiri22 f616302496
Duration type, simple date-duration-calculations and comparisons (#1843) 2023-08-30 12:28:53 +02:00
Laurenz 0e5c48ad0d Add a bit more docs to `compile` 2023-08-29 18:01:18 +02:00
Laurenz a71a2057f2 More type safety for spans 2023-08-29 17:35:35 +02:00
sitandr b2d6cb58dc
Fix weak spacing broken in math (#1966) 2023-08-26 17:36:52 +02:00
Kevin K 45bd58fbaa
Implement `rev()` method on string (#2013) 2023-08-26 17:35:52 +02:00
Sébastien d'Herbais de Thun cd13e55dd1
Fixed numbering hint (#2012) 2023-08-26 16:02:28 +02:00
Beiri22 22b5959608
separate decode from string/bytes for all data functions; and encode for json, toml, yaml via serde (#1935) 2023-08-25 14:31:03 +02:00
lolstork c00fc14905
Initial support for augmented matrices (#1679) 2023-08-25 11:16:03 +02:00
bluebear94 3fcb5ea73c
Render opening smart quote after another opening quote of a different type (#1559) 2023-08-23 14:55:43 +02:00
bluebear94 b59b8bfb35
linebreak_optimized: Handle breakpoints separated only by spaces (#1821) 2023-08-23 13:39:22 +02:00
Laurenz afc95ed19d Virtual path type
Fixes #1937
2023-08-22 14:21:04 +02:00
damaxwell 756bdb623c
Support selectors with and/or followed by before/after (#1883)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-08-22 12:23:55 +02:00
Simon Rask 046029b1e2
Add hint for missing method error for dictionary where a field with a function is present (#1922) 2023-08-21 16:26:05 +02:00
bluebear94 877df549aa
Check for control flow event before let binding (#1912)
Fixes #1906 (trying to destructure the result of `continue`).
2023-08-21 16:21:37 +02:00
Gokul Soumya 5c6434d4ce
Add intersperse() method for arrays (#1897) 2023-08-21 16:01:27 +02:00
Laurenz d52493938e Make bytes joinable 2023-08-21 15:33:03 +02:00
astrale-sharp 99ddbafc09
Wasm plugin system (#1555) 2023-08-21 15:17:16 +02:00
sitandr 2f81089995
Fix single prime in subscript (#1909)
* Fix single prime in subscript (a_' producing wrong result)

* Clippy
2023-08-10 21:36:05 +02:00
sitandr 1e21fac2ce
Fix crashing on empty regexps (#1870) 2023-08-08 14:42:04 +02:00
Laurenz 2ea451b83b Refactor SVG export a bit 2023-08-08 13:00:47 +02:00
Wenzhuo Liu 61e4ad6bba
Add SVG export (#1729) 2023-08-08 12:54:13 +02:00
Matt Fellenz f56060c1b3
Penalize runts (#1858) 2023-08-08 11:27:15 +02:00
Mathias Fischler 800744ed9d
Show warning to user if they use double/empty underscores (italic) (#1871) 2023-08-07 13:47:29 +02:00
Matt Fellenz 823fc5e5c4
Fix incomplete line endings (#1866) 2023-08-06 00:15:29 +02:00
Beiri22 e3115336bf
Decode image (#1810) 2023-08-05 13:58:28 +02:00
damaxwell ba0990f189
Period and slash are ordinary characters in math (#1855) 2023-08-05 12:02:38 +02:00
damaxwell ad55755f33
Correct spacing between closing delimiter and large operators (#1857) 2023-08-05 12:01:53 +02:00
Laurenz b8b0137504 Bytes type
- Moves `Bytes` from `util` to `eval` module
- Accepts bytes in `str` function for bytes -> str conversion
- Adds `bytes` function for str | array -> bytes conversion
- Adds `array` function for bytes -> array conversion
- Adds `len`, `at`, and `slice` methods for bytes
- Adds `encoding` parameter to `read` function
2023-08-04 15:46:46 +02:00
bluebear94 c5a103867d
layout::par::finalize: Bound allotted width when fitting to width (#1828)
Sometimes, optimized line breaking outputs lines that are wider
than the allotted width so that spacing between words can be
narrowed to fit. However, the width calculation for the fit-to-width
case does not account for this, causing the resulting width to exceed
the width of the region. This commit takes the minimum of the
calculated width with the width of the region. Fixes #1825.
2023-08-03 00:45:40 +02:00
damaxwell 20eb284318
Ensure normal weight math font face is consistent (#1774) 2023-08-03 00:34:54 +02:00
damaxwell cd163868f5
large operators have limits in displays; relations have limits always (#1748) 2023-08-03 00:27:33 +02:00
bluebear94 3c94e05ced
Warn if layout doesn't stabilize (#1684) 2023-08-03 00:24:25 +02:00
bluebear94 66df130ca4
Add start parameter to array enumerate (#1818) 2023-07-29 23:11:21 +02:00
Pg Biel 5bd97e218b
Update field mutation error message (#1742) 2023-07-26 23:03:33 +02:00
damaxwell 51a21403ba
Improved #box baselines in math (#1755)
* Improved #box baselines in math

* add a test
2023-07-20 12:59:22 +02:00
damaxwell c72952b512
Center delimiters vertically about the axis (#1756) 2023-07-20 12:50:12 +02:00
damaxwell 6a396ae214
Center large operators on axis (#1735) 2023-07-20 09:47:29 +02:00
Laurenz fc90b72355 Identify state by key only 2023-07-19 13:11:54 +02:00
Laurenz fa9e2c6237 Resolve `place` deltas relative to real container size 2023-07-19 12:59:34 +02:00
Laurenz 3dcd8e6e6b
Positions placed elements relative to real container size (#1745)
This positions placed elements relative to the real container size instead of relative to the base size of the region. This makes its usage more versatile.

Fixes #82
Fixes #685
Fixes #1705
2023-07-19 12:53:36 +02:00
lolstork b37c1e2731
Add infrastructure for compiler warnings (#1731) 2023-07-19 12:52:47 +02:00
damaxwell 8a57395ee4
Support OpenType writing script (#1697) 2023-07-19 12:25:24 +02:00
Laurenz 803ae9309f Support `scope` argument for `eval` 2023-07-18 21:53:42 +02:00
Laurenz f5953887c9 Extract syntax module into typst-syntax crate 2023-07-18 21:04:46 +02:00
damaxwell 7dc605307c
Improved math root layout (#1743) 2023-07-18 15:41:35 +02:00
Sébastien d'Herbais de Thun 0c94d2b34e
Adding `dedup` to `array` (#1738) 2023-07-18 15:23:56 +02:00
damaxwell e43903d625
split attach test (#1744) 2023-07-18 10:26:20 +02:00
damaxwell 7a1cd362aa
Support for bounding box text edges (#1626) 2023-07-17 18:19:46 +02:00
Myriad-Dreamin 9b72ee4d22
Load theme for raw code (#1675) 2023-07-17 16:43:33 +02:00
Liam Murphy e0e797c27d
Classify `dots.c`, `dots.down`, `dots.up` and `dots.v` as normal (#1726)
Fixes #713. They were previously classified by Unicode as relations, which caused a '+' sign after one of them to be treated as a unary operator rather than a binary operator. This PR overrides the Unicode classification and classifies them as normal instead, which causes a '+' sign after one of them to be properly treated as a binary operator.
2023-07-17 16:08:19 +02:00
KG 31efd542cb
Rename math symbols (#1124)
Co-authored-by: Ryan Pitasky <111201305+rpitasky@users.noreply.github.com>
Co-authored-by: Daniel Csillag <15617291+dccsillag@users.noreply.github.com>
2023-07-17 15:54:26 +02:00
Pg Biel 9b1a2b41f0
Add fields and methods to several primitives (#790) 2023-07-11 16:11:18 +02:00
MALO 507efc3a1c
Do not take empty lines into account when computing `raw` block dedent (#1676) 2023-07-10 18:23:14 +02:00
Laurenz 78f96f844b Basic floating placement 2023-07-10 18:16:59 +02:00
sitandr dfe361ec6a
Better primes in math (#1614) 2023-07-10 12:09:09 +02:00
Eric Biedert be0f8fe6d7
Customizable math classes (#1681) 2023-07-10 11:00:12 +02:00
Laurenz db09a5a712 Better error messages for `#` expressions 2023-07-06 16:01:23 +02:00
Laurenz adcc6e5506 Better error messages for keywords in place of identifiers
Fixes #1123
2023-07-06 15:16:41 +02:00
Sébastien d'Herbais de Thun 07553cbe71
Raw syntax definition loading (#1655) 2023-07-06 13:51:28 +02:00
bluebear94 cba200d4ec
Handle single and alternate substs for single glyphs in math mode (#1592) 2023-07-06 10:11:42 +02:00
bluebear94 a4756d8576
Add support for weak elements in math (#1633) 2023-07-06 09:37:19 +02:00
Mathias Fischler 5bdad06d92
Parser hints infrastructure (#1570) 2023-07-05 16:25:26 +02:00
Pg Biel d37217aaa4
Add heading `bookmarked` toggle (#1566) 2023-07-05 16:16:00 +02:00
Lynn 9a9da80665
Color mixing function (#1332)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-07-05 11:26:50 +02:00
LingMan 224e1df8e5
Disable `binary` feature of `oxipng` (#1640)
The `oxipng` crate contains a binary target in addition to the library target. Said binary has
additional dependencies which are not needed by users of the library. Since Cargo unfortunately
doesn't currently offer a good way to express such binary-only dependencies, they are enabled by
default via the `binary` feature. Avoid downloading and building these unnecessary crates by disabling the `binary` feature.
2023-07-04 15:51:18 +02:00
Laurenz ebfdb1dafa Move everything into `crates/` directory 2023-07-02 20:07:43 +02:00
Laurenz 65f11dc364 Minor improvements 2023-06-30 09:59:58 +02:00
Laurenz 04bffc4f12 Reintroduce `--root` 2023-06-28 10:36:53 +02:00
Laurenz 7b92bd7c34 Basic package management 2023-06-27 18:40:17 +02:00
damaxwell 9eb350d7de
support optical sizes for script/scriptscript when available (#1580) 2023-06-26 13:51:27 +02:00
damaxwell 1861ceb179
math under/overline now draws simple lines based on parameters in math font table (#1568) 2023-06-26 13:42:38 +02:00
MALO 33803b1614
Make footnotes referenceable (#1546) 2023-06-26 13:40:52 +02:00
bluebear94 9ef4643ba1
shape_tofus: respect text direction when inserting tofus (#1519)
This ensures that the ranges of the shaped glyphs are monotonically
decreasing in right-to-left-text, thus avoiding nonsensical results
in find_safe_to_break that later causes a panic (see #1373).
Additionally, debug assertions have been added to catch non-monotonic
glyph ranges.
2023-06-26 13:40:21 +02:00
Laurenz f1025071ed Tidy up 2023-06-24 15:05:59 +02:00
MALO b96b7b7ee1
Use third person in documentation (#1560) 2023-06-24 14:33:17 +02:00
sitandr c5e82b3fa8
Added argument to disable limits in inline math, closes #1522 (#1552) 2023-06-24 14:28:36 +02:00
Tom Binford fa42a26f6f
Improve image rendering under rotation when exporting to PNG (#1547) 2023-06-24 14:28:02 +02:00
bluebear94 622cef8e00
layout::par::collect: Treat linebreak element as whitespace (#1542)
Fixes #1540.
2023-06-24 14:26:06 +02:00
Mathias Fischler 2e03fb34cb
Add infrastructure to enrich errors with hints (#1486) 2023-06-24 14:18:21 +02:00
bluebear94 ececd07424
Make factorial take precedence over fraction in math expressions (#1487)
Fixes #1475.
2023-06-20 16:59:42 +02:00
sitandr 03675fc429
Created new system for limits (fixes #1443) (#1452) 2023-06-20 16:58:22 +02:00
Laurenz c5cdbaeaf8 Fix bug with extra table lines
Fixes #183
2023-06-12 17:48:30 +02:00
Laurenz 6720d8c301 Fix bug with missing table row
Fixes #1388
2023-06-12 17:20:54 +02:00
Laurenz 378ebe5f56 Delayed errors
Fixes #785. Thanks to @Dherse for the idea!
2023-06-12 15:42:01 +02:00
Zachary Capalbo 19bf1f5894
Clear page to Even Or Odd (#1427)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-06-12 14:28:25 +02:00
Luis David Licea Torres 3284e7fac7
Support for inside and outside margins (#1308)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-06-12 12:46:34 +02:00
Mathias Fischler 93e6638bfe
Resolve #1141: Add hint for missing numbering, improve hint format consistency (#1456) 2023-06-12 12:46:08 +02:00
Pg Biel c58a8fbd1d
Add `outline.entry` (#1423) 2023-06-12 11:50:59 +02:00
Laurenz c65aaa9137 Undo regex type rename
Unnecessary breaking change for now
2023-06-09 15:52:31 +02:00
Laurenz 3bedf8d0d1 Translate TOML datetime properly 2023-06-09 15:45:16 +02:00
Laurenz 7ece53ae0c Adjust outline indent option 2023-06-09 14:50:29 +02:00
Laurenz 903f440b28 Rename `cramp` to `cramped` 2023-06-09 14:48:23 +02:00
Alex Saveau 635ef03273
Treat function-looking code in attachment as function (#985) 2023-06-09 11:36:44 +02:00
Alex Saveau 61effc350a
Don't type check matrices (#1442) 2023-06-09 10:25:12 +02:00
Laurenz 56f7ede964 Improve footnote handling for multi-page blocks 2023-06-08 15:51:22 +02:00
Laurenz 2b812259c2 Fix footnote in columns
Fixes #1433
2023-06-08 12:24:47 +02:00
Laurenz a1b0a41883 Fix a bug with footnotes in blocks/lists/etc.
This still not gives the "footnote and entry" are on same page invariant for blocks, but at least we do not get random extraneous page breaks anymore.

Relevant issues: #1275, #1433
2023-06-08 11:51:42 +02:00
Laurenz f3e3061a7f Fix a bug in footnote together-keeping logic 2023-06-08 11:21:35 +02:00
Laurenz 10ae0a2c2b Fix line alignment
Fixes #1398. How this works for the other shapes is a hack, but the line was missing from that hack.
2023-06-08 10:20:24 +02:00
Jett Chen c87f802cf6
add calc.exp, calc.ln (#1299)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-06-07 14:44:07 +02:00
Yang Hau 0dc1776202
refactor: Replace once_cell to std lib (#1402) 2023-06-07 14:42:58 +02:00
Laurenz fd417da04f Improve value casting infrastructure 2023-06-06 22:06:16 +02:00
Laurenz 219f14355b Rename `into_u16` to `as_u16` 2023-06-06 19:06:56 +02:00
Peng Guanwen a54cde71cb
Bugfix of CJK punctuation adjustment (#1384) 2023-06-01 15:14:56 +02:00
Sung Jeon 08b49291bc
Add NumberingKind variants for Korean (#1360)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-05-30 18:42:24 +02:00
Erik Bünnig b805c5f100
Unicode code point conversion (#1068) (#1132) 2023-05-30 18:11:30 +02:00
Lynn 7e07b61046
Add a base parameter to str() (#1362) 2023-05-30 18:05:15 +02:00
Peng Guanwen e2bf2327b5
Use icu4x for linebreaking algorithm (#1355) 2023-05-30 17:53:10 +02:00
Laurenz 25e94cef03 Fix doc links 2023-05-30 14:50:43 +02:00
Laurenz f90fcd664b Fix pagebreak before `place`
Fixes #1368
2023-05-30 14:36:34 +02:00
Gabriel Wu 87ee97ae5e
Support syntax highlighting for more languages (#771)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-05-30 10:46:56 +02:00
Pg Biel 47f81f0da5
Custom outline indenting (#1157) 2023-05-30 10:46:39 +02:00
MALO 644bbf9914
Add `fields` method to content (#1340) 2023-05-30 10:13:27 +02:00
Pg Biel e4557f6639
Fix `.at(default: ...)` for strings and content (#1339) 2023-05-29 20:15:32 +02:00
Leedehai 31dfe32242
Add regression test for fix 3eb1f31 (#1320) 2023-05-29 20:14:31 +02:00
Laurenz 017027bf39 Rework delimiter errors
Fixes #572
2023-05-24 16:58:51 +02:00
Laurenz 363836a28e Fix layout panic in rounded rectangle
Fixes #1216 both by hardening the rounded rectangle against negative size and by ensuring that the negative size doesn't occur in the first place for this case.
2023-05-23 15:30:28 +02:00
Eric Biedert ff903674f9
Fix tests on windows (#1222) 2023-05-23 12:36:54 +02:00
sitandr 5dbc15ef0c
Forced size command in math (#1128) 2023-05-23 11:22:27 +02:00
Laurenz Stampfl 752817ae74
Add support for date & time handling (#435) 2023-05-23 10:41:20 +02:00
Laurenz f4fd6855e7 Fix and simplify reference supplements
- Fixes #873 by properly handling `none` supplement for`ref`.
- Fixes #523 by adding a `supplement` parameter to `math.equation`
- In the future, we can remove supplement functions in favor of show-set rules with fine-grained selectors. Currently, this is not possible because show-set + synthesis doesn't play well together
2023-05-22 20:56:30 +02:00
Laurenz 183997d5fe Don't hide introspection metadata
Fixes #622
2023-05-22 16:45:23 +02:00
Laurenz 8aa0ae197d Fix field access on styled element
Fixes #1197
2023-05-22 13:49:09 +02:00
Laurenz 3d83960322 Fix removal order for dictionary
Switches to `shift_remove` for now. In the future, we should look into a more efficient implementation. Fixes #1258.
2023-05-22 13:10:48 +02:00
Laurenz 08870d4a4c Clearer error messages for failed comparisons
Fixes #1231
2023-05-22 13:06:33 +02:00
Laurenz 1321862cd5 Footnotes 2023-05-20 21:36:24 +02:00
Laurenz 7bb69c0902 Check crate docs in CI 2023-05-20 10:48:25 +02:00
Naim A d61a839188
resolve #510: reverse quote direction in RTL languages (#1183) 2023-05-19 16:49:16 +02:00
sitandr 42c3a6fa72
Fixed symbol style reset in stretching (#1195) 2023-05-19 15:33:15 +02:00
Leedehai 84b9d9c990
Print the string that is not castable to number (#1207) 2023-05-19 14:54:44 +02:00
Leedehai 8d4f9304c0
Update string doc: index can be negative (#1198) 2023-05-19 14:41:58 +02:00
Laurenz 551ea99d05 Show default values in documentation
Fixes #169
Fixes #1102
2023-05-17 14:41:46 +02:00
Laurenz d14d1e867f Fix figure detection 2023-05-17 12:55:25 +02:00
Laurenz 88cb8c2626 Bump comemo 2023-05-16 16:43:35 +02:00
Peng Guanwen 659f27bf6a
Do not hang CJK punctuation (#1211) 2023-05-15 08:57:17 +02:00
sitandr 4b17c3f5c6
Show rules for symbols (fixes #1130) (#1175) 2023-05-12 12:26:26 +02:00
jassler fd84d23ade
Support for align parameter in table to take an array (#1087) (#1149) 2023-05-12 12:26:14 +02:00
Pg Biel a8728be9b0
Initial support for breakable figures (#1121) 2023-05-12 11:00:55 +02:00
Leedehai e8de8a49c5
Adjust attach() per TeXbook Appendix G 18a (#1129) 2023-05-11 17:38:04 +02:00
Pg Biel 1a6224f566
Default enum number alignment to 'end' (#1042) 2023-05-11 16:36:41 +02:00
Pg Biel b5ad2468ad
Improve alignment of text inside raw blocks (#1034) 2023-05-11 16:32:46 +02:00
Peng Guanwen d19a4124de
Implement sophisticated CJK punctuation adjustment (#954) 2023-05-11 15:02:52 +02:00
Alex Saveau e472b0347f
Alternate between right/left alignment in equations (#936) 2023-05-11 14:56:17 +02:00
Laurenz 2f0b5eeae0 More efficient introspection
Switches from a mutable locator to one based on tracked chains and optimizes query performance.
2023-05-11 11:27:00 +02:00
Laurenz 47dff3765d Remove 'static bound on `World`
Thanks to improvements in comemo, tracked types don't need to be 'static anymore. This means that the 'static bound on the `World` is now lifted and that the `Route` doesn't need to use unsafe code anymore to manage its lifetime.
2023-05-11 10:50:30 +02:00
Pg Biel f88ef45ee6
Function scopes (#1032) 2023-05-03 14:20:53 +02:00
Marmare314 db6a710638
Parameter pattern bug (#1062) 2023-05-03 12:42:26 +02:00
Michael Lohr ffad8516af
Implement default values for at() (#995) 2023-05-03 12:34:35 +02:00
dvdvgt be3c4d7876
[Feature] Allow function as argument for string.replace (#944) 2023-05-03 11:41:50 +02:00
Marmare314 edc0632d8c
Add shorthand for root operation (#929) 2023-05-03 11:16:38 +02:00
HarmoGlace 856557353b
Add rust minimum version in `Cargo.toml` (#902) 2023-05-03 10:37:44 +02:00
Laurenz ad347632ab Make ligatures copyable and searchable
Fixes #479
Fixes #1040
2023-05-03 10:33:18 +02:00
Alberto Vilches bcc014c4e1
fix: typos (#1074) 2023-05-02 20:45:18 +02:00
Martin Haug 17cef8dcee
Add ICC profiles to images in PDF and update `usvg`, `svg2pdf` (#822) 2023-05-02 13:53:20 +02:00
chris-02 407d8a3ab2
Fix smartquotes in outline (#1047)
Fixes #1041.
2023-05-01 13:29:40 +02:00
Leedehai ecd589a84f
Add a test checking equations can embed function-built pieces (#1033) 2023-04-29 20:51:29 +02:00
Marmare314 8fa1af8ac8
check index on placeholder (#1005) 2023-04-28 18:49:21 +02:00
Pg Biel 0d8c3254b7
Initial fix for spacing on decorated math operators (#1023) 2023-04-28 18:49:02 +02:00
Alex Saveau 1235d52c52
Make ast == ast.op (fixes #1004) (#1017) 2023-04-27 22:34:46 +02:00
Leedehai 605b0b5f73
Remove trailing blankspaces (#1001) 2023-04-27 11:27:38 +02:00
Alexander Seiler c941baa7ee
Correct some typos (#987) 2023-04-27 11:26:43 +02:00
Laurenz b1e0de0078 Version bump 2023-04-26 15:54:05 +02:00
Laurenz 3680c854a2 Touch up docs 2023-04-26 15:37:21 +02:00
Marmare314 59957746e9
Pattern as parameter (#854) 2023-04-26 11:32:11 +02:00
HarmoGlace 6134e3f4ee
Add toml support (#807) 2023-04-26 11:31:32 +02:00
HarmoGlace 7cb63d1aae
Fix overflows with operators (#904) 2023-04-26 11:30:16 +02:00
pan93412 a6df909a8d
Allow passing `region` to LocalName (#926) 2023-04-26 11:30:03 +02:00
Alex Saveau 1d42d6674c
Upgrade a bunch of deps and remove two unused ones (#968) 2023-04-26 11:22:43 +02:00
jdierkes 249d5fe515
Fix grid-cell misalignment bug (#963) (#978)
Having a table span multiple pages can cause an alignment bug in the
table itself. If the first region in a cell in a grid row is empty, all
other cells in this row will skip the first region. A misalignment bug
can occur, since the calculation of all region sizes happen before the
skip. The overall size allocated for the content of a cell with multiple
regions and content in the first region thus is too little.
Fixes #963
2023-04-26 11:22:35 +02:00
Pg Biel ae4accc071
Fix alignment of list markers & enum numbers (#988) 2023-04-26 10:03:34 +02:00
Alex Saveau f740c0b03f
Support picking the last subtest by using a random big number (#970) 2023-04-26 10:02:17 +02:00
Leedehai 62361b4127
Support indices preceding the base symbol, revamping #699 (#825)
Breaking change: abbreviate attach() attachment params, top -> t, bottom -> b
2023-04-25 11:24:07 +02:00
Alex Saveau fb99090208
Support implicit alignment (#749) 2023-04-25 11:22:32 +02:00
Laurenz Stampfl f38989358e
Add a zip method to arrays (#947) 2023-04-25 11:22:20 +02:00
Marmare314 d5d98b67a8
Destructuring assign (#703) 2023-04-25 11:22:12 +02:00
SekoiaTree efad1e71fa
Add sum and product to arrays (#966) 2023-04-25 11:18:27 +02:00
Marmare314 12129f0170
hint for unknown variable containing dash (#924) 2023-04-24 19:08:07 +02:00
Alex Saveau bc802bd8fb
Fix broken matrices with alignment and optimize code while we're at it (#935) 2023-04-24 11:16:13 +02:00
Alex Saveau 5ccc687619
Obey alignment in matrices (#892) 2023-04-24 11:04:04 +02:00
Luis David Licea Torres e5ea3ecbbb
Spanish quote marks (#941) 2023-04-24 10:33:56 +02:00
Laurenz ff1e4049d1 Support show-set for outline and bibliography headings 2023-04-23 15:06:42 +02:00
Pg Biel e9a0cf9741
Fix 0pt strokes (#923) 2023-04-23 14:38:12 +02:00
Alex Saveau b75cad2d3b
Parallelize tests (#900) 2023-04-23 14:35:18 +02:00
Pg Biel a4075f8b9b
Implement math `cancel` function (#793) 2023-04-21 11:28:46 +02:00
astrale-sharp 4cea7007d0
use clap for parsing tests. (#876) 2023-04-21 11:16:32 +02:00
Alex Saveau 851b154a6c
Convert math alignment to single-pass algorithm (#891) 2023-04-20 19:48:11 +02:00
HarmoGlace 42b93b7b53
Add `quo`, `trunc` and `fract` calculation methods and rename `mod` to `rem` (#890) 2023-04-20 16:09:41 +02:00
Martin Haug 2a682f0008
Add alt text to image function and PDF (#823) 2023-04-20 11:23:03 +02:00
Marmare314 4524539c2b
forbid underscore as identifier closes #513 (#837) 2023-04-20 11:05:11 +02:00
Alex Saveau c505a0f5dc
Add UPDATE_EXPECT envvar to update tests (#748) 2023-04-20 10:47:31 +02:00
Alex Saveau b285bea41d
Make `dot` be multiplication and add `dot.period` for periods (#747) 2023-04-19 19:08:59 +02:00
Laurenz f08ae95b9d Fix argument sinks
Fixes #886.
2023-04-19 17:51:33 +02:00
Laurenz 5a6330dbfc Fix math hiding once more 2023-04-19 16:51:47 +02:00
Johannes Wolf 981c578ff9
path: Use close_path() for closing paths (#801) 2023-04-19 16:30:27 +02:00
HarmoGlace 1e934def56
Add `gcd` and `lcm` calculation methods (#789) 2023-04-19 16:18:31 +02:00
Leedehai dc3017955a
Give more specific error messages (#881) 2023-04-19 13:26:55 +02:00
Laurenz f8966f9e86 Fix realize in math 2023-04-19 11:06:52 +02:00
Laurenz d10b53df0b Clippy 2023-04-18 19:16:13 +02:00
Laurenz 35302d2004 Handle SVG with text 2023-04-18 19:04:46 +02:00
Laurenz b51cb131bd Bump comemo 2023-04-17 19:59:45 +02:00
Peng Guanwen 480ad7670b
More Chinese punctuation adjustment (#836)
and also general linebreak improvements
2023-04-17 18:20:59 +02:00
Laurenz 9bdc4a7de0 Write PDF outline 2023-04-17 13:26:49 +02:00
Alex Saveau e5f942172d
Add comment at end of line test (#783) 2023-04-13 21:22:34 +02:00
HarmoGlace 29b36d4876
Fix `pow` overflow (#784) 2023-04-13 21:08:54 +02:00
Alex Saveau 6d596da72b
Make math punctuation tests more complete (#782) 2023-04-13 21:03:00 +02:00
Marmare314 0105eb7382
Fix function sinks (#638) 2023-04-13 16:07:58 +02:00
Birk Tjelmeland d1cd814ef8
Add support for more complex strokes (#505) 2023-04-13 16:05:56 +02:00
Laurenz 46ce9c94e3 Fix linebreak after inline objects with metadata 2023-04-13 15:52:20 +02:00
Laurenz 9025ecb2ee Better error spans in `calc` 2023-04-13 15:13:31 +02:00
HarmoGlace e11bd2a193
Add factorial, permutation and binomial to calculation functions (#639) 2023-04-13 14:38:51 +02:00
Laurenz 89cf4054d6 Reduce amount of hashing 2023-04-13 14:23:46 +02:00
Peng Guanwen ff16f3fb37
Refine linebreak algorithm for better Chinese justification (#701) 2023-04-13 10:44:39 +02:00
Alex Saveau 03d2ec9f81
Strip trailing line breaks in math equations (#750) 2023-04-13 10:42:03 +02:00
Chen a066a3d283
More flexible capability to control showing reference (#646) 2023-04-13 10:41:42 +02:00
Sébastien d'Herbais de Thun 1198e0cd38
Selector rework (#640) 2023-04-12 12:47:51 +02:00
Laurenz fe2640c552 Version bump 2023-04-11 22:34:25 +02:00
Laurenz 12be8fe070 Let dictionaries respect insertion order 2023-04-11 21:59:02 +02:00
Laurenz 6dcb65e3a3 Improve documentation 2023-04-11 21:54:13 +02:00
Marmare314 72d8785abe
fix parenthesized binding (#707) 2023-04-11 18:44:17 +02:00
Laurenz 9984e73ff3 Fix highlighting of identifiers before brackets 2023-04-11 17:26:00 +02:00
Laurenz 9720424884 Fix duplicate error message for destructuring 2023-04-11 16:50:26 +02:00
Laurenz 74fce3fc78 Fix square sizing
Fixes #85.
2023-04-11 16:26:26 +02:00
Eric Biedert c7db709da5
Allow treating ratios as floats (#681) 2023-04-11 14:13:01 +02:00
Daniel Csillag a8087a9dbb
Array sorting by key (#584) 2023-04-11 12:48:17 +02:00
Laurenz 75461675c4 Fix numbering test 2023-04-06 15:55:28 +02:00
SteamedFish ebb995feca
Add Chinese numbering (#565) 2023-04-06 15:50:15 +02:00
Laurenz 4ba3b9da80 Fix block sizing test 2023-04-06 15:49:40 +02:00
Pg Biel ca71081d05
Add 'layout' function to obtain the size of the outer container (#557) 2023-04-06 15:36:36 +02:00
Alex Sayers 5cb226026e
Add Iroha-style numbering (+ bugfix) (#555) 2023-04-06 15:31:17 +02:00
Marmare314 0f8219b392
Unpacking syntax (#532)
Closes #341
2023-04-06 15:26:09 +02:00
Laurenz a73149767c Fix block child spacing 2023-04-06 15:13:26 +02:00
Laurenz 4f4af02ace Fix path and polygon strokes 2023-04-06 12:58:27 +02:00
Laurenz f9b9be16f9 Fix box and block sizing 2023-04-06 12:26:39 +02:00
SekoiaTree 52b92a9d35
Path support (#536) 2023-04-06 12:10:49 +02:00
astrale-sharp 085282c138
Appends a hint if length is expected but hint provided. (#580) 2023-04-05 16:47:12 +02:00
Raphaël CV d569f6b33b
Fix inversion cal frak R (#593) 2023-04-05 13:37:54 +02:00
Daniel Csillag f548223663
Fix hiding of math (#587) 2023-04-05 12:04:11 +02:00
Laurenz b3faef4b80 Bump version 2023-04-05 01:41:15 +02:00
Laurenz e13c72b301 Fix first line indent with styled text 2023-04-05 00:15:51 +02:00
Sébastien d'Herbais de Thun f347ed4314
Improved figure numbering, labelling and referencing (#491) 2023-04-04 19:21:25 +02:00
Laurenz 5b0297464e Rename bibliography styles 2023-04-04 18:29:18 +02:00
Laurenz 570c528b3e Integers with different bases 2023-04-04 15:46:09 +02:00
Laurenz e77abf842d Make error messages a bit more consistent 2023-04-04 14:33:43 +02:00
HarmoGlace 4aa5e0a4a3
Make behavior of calculation functions consistent (#515) 2023-04-04 14:33:26 +02:00
Alex Sayers 2c735294cd
Improve justification of Chinese/Japanese text (#542) 2023-04-03 15:56:23 +02:00
Sébastien d'Herbais de Thun cca9ea8249
Make all counters start at zero (#533) 2023-04-02 20:01:19 +02:00
Laurenz b469f30c83 Fix block spacing 2023-04-02 19:47:42 +02:00
Laurenz e1ecb8cabe Simplify `pow` function 2023-04-01 23:31:23 +02:00
Naim A 66a22b5555
Hebrew numbering (#446) 2023-04-01 16:05:06 +02:00
Birk Tjelmeland ed79ecbb44
Add support for cliping content in `block` and `box` (#431) 2023-04-01 16:04:38 +02:00
P-Andersson 387bcc3879
add support for loading data from yaml files (#447) 2023-04-01 14:33:42 +02:00
Lars Wrenger 631ba40e57
Support for multiple bib files in a bibliography (#296) 2023-03-31 18:41:17 +02:00
Chris Ohk 418bd89ba4
Correct minor typos (#474) 2023-03-31 16:51:12 +02:00
frozolotl ed36ef3312
Add support for more characters in links (#379) 2023-03-30 21:26:43 +02:00
Johannes Wolf 4d9c6b28d0
cli: Allow reading every path not of type dir (#414) 2023-03-30 00:36:22 +02:00
Naim A 2ed4212c76
bail! when #symbol is called without parameters (#440) 2023-03-29 23:07:08 +02:00
Laurenz 72fb155403 Link to label 2023-03-29 20:10:23 +02:00
Laurenz 24e26b8c77 Fix styling of text operators 2023-03-29 19:21:01 +02:00
frozolotl e13fc04c3e
Fix parsing of language in single-tick raw literals (#401) 2023-03-28 17:04:27 +02:00
Laurenz d1ff94a3b5 A bit more polygon docs 2023-03-28 17:00:02 +02:00
Olle Lögdahl 44165d09a9
Add polygon drawing primitive (#314) 2023-03-28 16:43:16 +02:00
Laurenz e84df1a036 Fix tests on Windows
Fixes #386.
2023-03-28 14:30:21 +02:00
Laurenz e83e05d541 Term list separator changes 2023-03-27 22:31:29 +02:00
Laurenz 66de90437f Update fibonacci example and add `round` function 2023-03-27 20:23:37 +02:00
Laurenz e724d04253 Update changelog 2023-03-27 16:51:03 +02:00
Laurenz c5fb34123c Fix parsing of unbalanced delimiters in math 2023-03-27 16:09:26 +02:00
Laurenz d71c933cca Bump dependencies 2023-03-27 15:49:04 +02:00
Laurenz 1336219690 Fix numeric bibliography ordering 2023-03-27 15:21:18 +02:00
Laurenz 13ece5ec26 Allow disabling vector and matrix delimiters 2023-03-27 14:52:25 +02:00
Laurenz 51d972ec24 Fix matrix delimiters
Fixes #200.
2023-03-27 13:14:21 +02:00
Laurenz 2c7f2c005a Parse decimals as a unit
Fixes #257.
2023-03-27 12:50:00 +02:00
Laurenz a5c88c19b3 Fix enum parsing and allow zero in numberings
Fixes #353.
2023-03-27 12:12:57 +02:00
Alexander Ekdahl 766d1be72b
Newton's notation for derivatives (#281) 2023-03-25 13:32:25 +01:00
Ryan Pitasky 8b1852cffb
Replace infinite repeat layout panic with error (#235)
When a page has auto width and there were no other constraints on the repetition width, this would previously panic. Now, there is an explicit check with a new error and test case.
2023-03-24 09:15:24 +01:00
Kian-Meng Ang 25acefeb5b
Fix typos (#115)
Found via `codespell -S target -L
crate,ist,thi,alle,dedented,ue,tung,nd,ende,overriden,dependant`
2023-03-22 09:02:51 +01:00
Laurenz b934a2fd83 Embed standard fonts in binary 2023-03-21 23:18:56 +01:00
Laurenz 53b57d8294 Fix show rule colon error message 2023-03-21 13:08:18 +01:00
Laurenz 2d16f9434f Documentation for citation, bibliography, and content 2023-03-20 22:09:10 +01:00
Laurenz ab43bd802e Renaming and refactoring 2023-03-19 22:39:19 +01:00
Laurenz 0ba99ab8aa Measurement and introspection rework 2023-03-19 10:19:34 +01:00
Laurenz c7f4d6b12e Equation numbering 2023-03-18 19:54:00 +01:00
Laurenz a69b587455 Rename formula to equation 2023-03-18 19:27:31 +01:00
Laurenz a16726ae66 Architecture description 2023-03-18 18:27:22 +01:00
Laurenz f2b0c5e08d Fix page counter 2023-03-18 16:28:39 +01:00
Laurenz af7fe4d760 Hover and autocomplete in show rules 2023-03-17 18:18:47 +01:00
Laurenz 6d64d3e8e9 Query 2023-03-17 16:04:14 +01:00
Laurenz c47e4cb496 State 2023-03-17 16:04:12 +01:00
Laurenz 312197b276 Counters 2023-03-17 11:45:57 +01:00
Laurenz ecb5543985 Node links 2023-03-15 12:33:38 +01:00
Laurenz 89f44f220d Bibliography and citations 2023-03-14 22:53:54 +01:00
Laurenz e50189cfa7 Allow keywords as fields 2023-03-14 22:31:05 +01:00
Laurenz 2bacbaf2bd Hanging indent 2023-03-14 22:30:21 +01:00
Laurenz 724e9b140c Locatability and synthesis improvements 2023-03-13 21:41:33 +01:00
Laurenz ad05ba5925 Spans in math 2023-03-12 13:20:36 +01:00
Martin Haug 2720a44b96 Merge branch 'main' into ng 2023-03-12 09:58:47 +01:00
Laurenz 1a390deaea Figures 2023-03-11 20:01:56 +01:00
Laurenz 529d3e10c6 Section references 2023-03-11 18:29:48 +01:00
Laurenz a9fdff244a Expose content representation more 2023-03-10 21:19:50 +01:00
Laurenz 902c2ea121 Fix y offset in shaper 2023-03-10 14:25:04 +01:00
Laurenz 62f35602a8 New #[func] macro 2023-03-10 12:55:21 +01:00
Laurenz 2c13ff9bfe Make render background color configurable 2023-03-09 13:07:36 +01:00
Laurenz d7a65fa26d Rework style chain access 2023-03-08 14:35:33 +01:00