Commit Graph

1328 Commits

Author SHA1 Message Date
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
Laurenz e5eab73374 Streamline field names 2023-03-08 11:02:27 +01:00
Laurenz 1b2b53ecb9 Require font to be a named argument 2023-03-08 10:44:24 +01:00
Laurenz 25b5bd1175 Fully untyped model 2023-03-07 15:17:13 +01:00
Laurenz 6ab7760822 Split up `model` module 2023-03-01 16:33:28 +01:00
Laurenz 7597b99789 New default style 2023-02-25 20:04:30 +01:00
Laurenz 09077d6382 Fix more bad font names 2023-02-24 15:08:00 +01:00
Laurenz 448844d66c Allow multiple authors 2023-02-24 14:09:38 +01:00
Laurenz affb353453 Merge main back 2023-02-23 14:38:45 +01:00
Laurenz 6e65ebf236 Panic function 2023-02-19 21:08:01 +01:00
Laurenz c1637054a4 Fix semicolon parsing 2023-02-17 16:41:21 +01:00
Laurenz 028632a3a1 Fix error handling after hashtag 2023-02-17 16:32:48 +01:00
Laurenz dd5f07eb91 Add `clusters` and `codepoints` methods 2023-02-17 10:53:47 +01:00
Laurenz 585f656487 Check char boundaries in string methods 2023-02-17 10:20:52 +01:00
Laurenz 56b6a2a908 Impl `Eq` for syntax tree types 2023-02-17 10:01:40 +01:00
Laurenz 67b4540397 Dissolve utility category 2023-02-16 14:43:38 +01:00
Laurenz 942fa6636d Fix raw block highlighting 2023-02-15 09:52:08 +01:00
Laurenz b9c0fd87d3 Fix grid sizing 2023-02-14 12:34:16 +01:00
Laurenz cc9b52ddd4 Better table lines 2023-02-14 12:08:05 +01:00
Laurenz 17e9805b34 Let `eval` take code instead of markup 2023-02-13 17:45:08 +01:00
Laurenz 28b5c55cd5 Configurable markers for nested lists 2023-02-13 17:15:20 +01:00
Laurenz 05c8c6045c Configurable numbering for nested enums 2023-02-13 16:54:05 +01:00
Laurenz 8f68bc7a8e Dissolve basics folder 2023-02-13 16:50:57 +01:00
Laurenz b1b4e52af9 Block sizing 2023-02-13 16:04:25 +01:00
Laurenz 72b60dfde7 Fill and stroke properties for containers 2023-02-13 12:18:34 +01:00
Laurenz fd90736fb6 Support fractional width for `box` 2023-02-12 22:04:27 +01:00
Laurenz d99359dede Add `baseline` argument to `box` 2023-02-12 21:14:21 +01:00
Laurenz d689d706ea Vertically center non-math content in math by default 2023-02-12 21:14:12 +01:00
Laurenz 7b2cdb9d95 Require colon in show rule 2023-02-12 20:25:24 +01:00
Laurenz 3ffa7393f0 Make all nodes block-level 2023-02-12 19:57:28 +01:00
Laurenz ebbee6274c Fix square base 2023-02-12 16:38:18 +01:00
Laurenz 6260878245 Let line have an extent 2023-02-12 15:01:40 +01:00
Laurenz 2b26e08128 Fix set document bug 2023-02-12 13:23:48 +01:00
Laurenz 8cbc2ac483 Fix place base 2023-02-12 13:23:40 +01:00
Laurenz 01a62a690b Make grid RTL aware 2023-02-12 12:57:40 +01:00
Laurenz 8951b1923a Skip grid region if one cell is empty 2023-02-12 12:57:35 +01:00
Laurenz e873468ea7 Change grid base for auto columns 2023-02-12 11:38:42 +01:00
Laurenz 03cbdea4b4 Fix "not in" precedence 2023-02-12 10:17:35 +01:00
Laurenz ebe919220d Fix flow bugs 2023-02-11 13:30:55 +01:00
Laurenz 7d28e6499e Set Typst versions to `0.0.0` 2023-02-06 11:53:49 +01:00
Laurenz 2e87dcdbe0 More fonts 2023-02-06 11:48:16 +01:00
Laurenz ec05ed7e06 Move assets 2023-01-31 15:05:42 +01:00
Laurenz 9a99beec94 Fix `array.pop()` 2023-02-05 17:47:33 +01:00
Laurenz 93138e2d4b Fix font switch in math 2023-02-03 17:47:05 +01:00
Laurenz 9e918d06ad Fix function call highlighting 2023-02-03 17:46:53 +01:00
Laurenz 15bc932ec1 Rename infinity symbol 2023-02-02 22:34:53 +01:00
Laurenz 2bb0135d2a Fix inconsistency between text and idents in math 2023-02-02 22:33:12 +01:00
Laurenz 255044e04e Ignore accent when positioning superscript 2023-02-02 21:21:04 +01:00
Laurenz 3f85d005bb Fix root index placement again 2023-02-02 19:50:14 +01:00
Laurenz 10675cd6d5 Merge text and math symbols 2023-02-02 19:50:06 +01:00
Laurenz e9ff2d6463 More robust automatic math spacing 2023-02-02 16:47:10 +01:00
Laurenz e6400861ab Matrix baseline alignment 2023-02-02 14:40:34 +01:00
Laurenz bb12624e8e Fix heading and list markers 2023-02-02 14:27:31 +01:00
Laurenz 5f5c659279 Math tests 2023-02-02 14:13:56 +01:00
Laurenz afa344f33d Fix raw show rule 2023-02-01 13:32:05 +01:00
Laurenz c2bd114914 Symbol improvements 2023-01-31 13:00:20 +01:00
Laurenz 69985e59bc Make lowercase greek italic 2023-01-31 02:05:53 +01:00
Laurenz 0ef1b02ee0 Add calc constants 2023-01-30 21:29:03 +01:00
Martin Haug 0287b98ef3 Add calc module 2023-01-30 21:04:34 +01:00
Laurenz 1ea0a93325 User-defined symbols 2023-01-30 19:45:10 +01:00
Laurenz d9d2c021d6 Fix inline math bounding box 2023-01-29 20:44:33 +01:00
Laurenz 0911c709a8 Fix tests 2023-01-29 18:00:28 +01:00
Laurenz 406de22ee5 Remove method call syntax kind 2023-01-28 18:32:58 +01:00
Laurenz 4809e685a2 More capable math calls 2023-01-28 15:36:32 +01:00
Laurenz 28c554ec21 Rework math attachments and accents 2023-01-28 12:14:03 +01:00
Laurenz 2e039cb052 Fix math spacing bugs 2023-01-27 15:32:05 +01:00
Laurenz 43ef60c09c Tracing-based expression tooltips 2023-01-27 12:05:12 +01:00
Laurenz 1de53730bc Symbol values and modules 2023-01-27 12:04:36 +01:00
Laurenz a8fd64f928 Hashtags everywhere! 2023-01-27 11:54:30 +01:00
Laurenz 4653ffebb4 Math module 2023-01-23 15:23:52 +01:00
Laurenz 2b8426b1b3 Interpret methods on modules as functions in modules 2023-01-23 13:26:10 +01:00
Laurenz 87a89e77e5 Some fixes 2023-01-22 13:48:49 +01:00
Laurenz 6f7e8dd497 Add Fira Math font 2023-01-22 13:16:25 +01:00
Laurenz eabbbf7eae Name handling for New Computer Modern Math 2023-01-22 13:16:03 +01:00
Laurenz dd331f007c Rewrite parser 2023-01-20 14:05:35 +01:00
Laurenz 40561e57fb Remove most fields from `SyntaxKind` enum 2023-01-15 12:40:27 +01:00
Laurenz ab03f32240 Reorganize syntax module 2023-01-14 12:34:17 +01:00
Laurenz 29b31c4a5a New import syntax 2023-01-03 12:32:17 +01:00
Laurenz 7c683db367 Merge `MarkupNode` and `MathNode` into `Expr` 2022-12-31 09:52:14 +01:00
Laurenz a6d90c1bf1 Numbering functions 2022-12-30 20:00:50 +01:00
Laurenz f70cea508c Remove index syntax in favor of accessor methods 2022-12-30 16:45:41 +01:00
Laurenz fe1f440069 Clamp shape radii 2022-12-30 10:07:46 +01:00
Laurenz 94cf7005e9 Forbid division by zero 2022-12-30 10:01:37 +01:00
Laurenz 68c6160a14 Recursion with max depth 2022-12-30 09:48:30 +01:00
Martin Haug bc535f7b71 `read` function 2022-12-29 11:49:01 +01:00
Laurenz 8527517258 Rename `desc` to `terms` 2022-12-22 18:25:29 +01:00
Laurenz 4c92ab4ace Rename the `create` category to `construct` 2022-12-21 23:51:15 +01:00
Laurenz 038f9b015e Document `line` function 2022-12-21 16:32:14 +01:00
Laurenz 31f904a2c4 Split up and document shapes 2022-12-21 16:19:46 +01:00
Laurenz ba294e2670 Split up list type into three separate types and document them 2022-12-21 12:50:33 +01:00
Laurenz ee732468c7 Document text category 2022-12-21 00:26:20 +01:00
Laurenz 38a0404050 Document underline, strikethrough, and overline 2022-12-20 18:20:19 +01:00
Laurenz f5f7df7247 Documentation 2022-12-20 16:11:37 +01:00
Laurenz b4b022940b Syntax and example sections 2022-12-19 01:16:35 +01:00
Laurenz 35b16e545b Document parameters in comment 2022-12-17 16:24:29 +01:00
Laurenz b6202b646a Reflection for castables 2022-12-15 23:11:20 +01:00
Laurenz 9ba4d2c134 New macro setup 2022-12-14 10:09:44 +01:00
Laurenz 4c73456fc1 Move highlighting into new IDE module 2022-12-14 10:02:19 +01:00
Laurenz ad66fbdfa2 Detect infinite loops 2022-12-14 09:56:24 +01:00
Laurenz c38d55614a A few math fixes 2022-12-09 21:22:23 +01:00
Laurenz cd089b6194 Align set rule 2022-12-09 10:21:11 +01:00
Laurenz 11c7ceb29e Extend math library 2022-12-07 14:01:20 +01:00
Laurenz 5a0053c729 Vectors and cases 2022-12-07 11:30:17 +01:00
Laurenz b2572f9d48 Math shorthands 2022-12-06 15:37:17 +01:00
Laurenz 3ecb0c754b More math syntax 2022-12-06 12:37:08 +01:00
Laurenz c2e458a133 Symbol notation 2022-12-05 12:25:37 +01:00
Laurenz f57ce86431 Heading numbering and outline 2022-12-02 15:53:01 +01:00
Laurenz 56923ee472 Multi-part numbering patterns 2022-12-02 15:47:25 +01:00
Laurenz 9bc90c371f Introspection 2022-12-02 15:45:18 +01:00
Laurenz 5110a41de1 Introduce virtual typesetter 2022-12-02 13:21:36 +01:00
Laurenz bdf06c9c61 Fix auto column shrinking behaviour 2022-11-30 14:49:55 +01:00
Laurenz 579dac3c91 Strong delta 2022-11-29 14:57:05 +01:00
Laurenz 0efe669278 Reorganize library and tests 2022-11-29 14:18:13 +01:00
Laurenz 836692e73c Widow and orphan prevention 2022-11-28 17:57:16 +01:00
Laurenz 989d170dc7 Fragments 2022-11-28 12:40:16 +01:00
Laurenz 6bafc63910 Document metadata 2022-11-26 23:52:01 +01:00
Laurenz 0579fd4409 Reorganize library base 2022-11-26 17:13:31 +01:00
Laurenz 36490f7f7b Make text and space nodes unselectable 2022-11-26 15:09:03 +01:00
Laurenz 7af46fc025 Dynamic labels 2022-11-26 13:41:27 +01:00
Laurenz 3cdd8bfa40 Extract numbering pattern from list node 2022-11-26 12:51:15 +01:00
Laurenz 96f72eee6c Separate typesetting and compilation 2022-11-24 17:51:07 +01:00
Laurenz 5ae81971f2 Introduce `Library` 2022-11-23 16:07:54 +01:00
Laurenz b2a3d3f235 More general evaluation interface 2022-11-23 12:00:06 +01:00
Laurenz 2ce727fc95 Make inner node and node data private 2022-11-22 14:40:56 +01:00
Laurenz dd9c323941 Show with set 2022-11-21 17:12:16 +01:00
Laurenz c28d2130dd Don't display functions 2022-11-21 17:11:40 +01:00
Laurenz 1d7e082d1d Labels 2022-11-21 16:12:24 +01:00
Laurenz ddada45097 Tracepoints for show rules 2022-11-20 23:32:30 +01:00
Laurenz 72361106bc Add flag for model printing 2022-11-20 21:39:19 +01:00
Laurenz 321121c6c3 Move font folder 2022-11-20 18:14:13 +01:00
Laurenz 8eeb4ad8f6 Rename `margins` to `margin` 2022-11-19 23:33:33 +01:00
Laurenz 1937d746ab Show everything! 2022-11-19 22:40:42 +01:00
Laurenz 9b8c1dc19f Pass text node to text show rule instead of string 2022-11-18 14:31:51 +01:00
Laurenz bf59c08a0a New interaction model 2022-11-12 23:46:26 +01:00
Laurenz 010cc2effc New block spacing model 2022-11-09 18:20:02 +01:00
Laurenz a7a4cae294 Less style properties 2022-11-08 11:45:59 +01:00
Laurenz 0a41844cc4 Selectors 2022-11-07 14:43:13 +01:00
Laurenz efd1853d06 Show it!
- New show rule syntax
- Set if syntax
- Removed wrap syntax
2022-11-07 12:46:05 +01:00
Laurenz eb951c008b Style changes 2022-11-04 11:38:09 +01:00
Laurenz 33928a00dc Tidy up library 2022-11-03 16:50:26 +01:00
Laurenz 46921a8c28 Separate test crate
This removes the not-really-cyclic dependency that confuses rust-analyzer. See also: https://github.com/rust-lang/rust-analyzer/issues/2414
2022-11-03 16:13:35 +01:00
Laurenz 37a7afddfa Split crates 2022-11-03 13:35:39 +01:00
Laurenz f547c97072 Reduce usage of `finalize` 2022-10-31 15:47:49 +01:00
Laurenz 636bdb9e43 Rename `RoleMap` to `LangItems` 2022-10-31 09:11:56 +01:00
Laurenz 95e9134a3c Refactor `geom` module 2022-10-28 16:43:38 +02:00
Laurenz c0e972b91a Reduce dependencies from compiler on library 2022-10-18 00:04:12 +02:00
Laurenz e218226655 Merge some modules 2022-10-17 20:04:22 +02:00
Laurenz fd8160f374 Remove `SpanPos` in favor of `ErrorPos` 2022-10-05 13:15:02 +02:00
Laurenz ec884ec1d8 Refactor syntax module 2022-10-05 12:49:39 +02:00
Laurenz 5a8534a395 Parse basic math syntax 2022-10-04 13:45:16 +02:00
Laurenz 7ef6cb31df Bump ttf-parser 2022-09-30 11:23:09 +02:00
Laurenz abafb39041 Fix bad list interaction
Fixes #87
2022-09-26 16:25:40 +02:00