From 13ece5ec265e4e81b396cd3d469569b6c0ea2601 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 27 Mar 2023 14:52:25 +0200 Subject: [PATCH] Allow disabling vector and matrix delimiters --- library/src/math/matrix.rs | 16 ++++++++-------- tests/ref/math/matrix.png | Bin 9945 -> 10694 bytes tests/typ/math/matrix.typ | 1 + tests/typ/math/vec.typ | 2 +- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/library/src/math/matrix.rs b/library/src/math/matrix.rs index 8fba10e71..66925cda5 100644 --- a/library/src/math/matrix.rs +++ b/library/src/math/matrix.rs @@ -24,8 +24,8 @@ pub struct VecElem { /// #set math.vec(delim: "[") /// $ vec(1, 2) $ /// ``` - #[default(Delimiter::Paren)] - pub delim: Delimiter, + #[default(Some(Delimiter::Paren))] + pub delim: Option, /// The elements of the vector. #[variadic] @@ -39,8 +39,8 @@ impl LayoutMath for VecElem { layout_delimiters( ctx, frame, - Some(delim.open()), - Some(delim.close()), + delim.map(Delimiter::open), + delim.map(Delimiter::close), self.span(), ) } @@ -76,8 +76,8 @@ pub struct MatElem { /// #set math.mat(delim: "[") /// $ mat(1, 2; 3, 4) $ /// ``` - #[default(Delimiter::Paren)] - pub delim: Delimiter, + #[default(Some(Delimiter::Paren))] + pub delim: Option, /// An array of arrays with the rows of the matrix. /// @@ -121,8 +121,8 @@ impl LayoutMath for MatElem { layout_delimiters( ctx, frame, - Some(delim.open()), - Some(delim.close()), + delim.map(Delimiter::open), + delim.map(Delimiter::close), self.span(), ) } diff --git a/tests/ref/math/matrix.png b/tests/ref/math/matrix.png index 59e3a7b0912502b8ef9d7cc4718bbbaca68dee00..f74384a366bf885c4e929cec9287af298adcc788 100644 GIT binary patch literal 10694 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