pub fn tex2typst_with_macros(
tex: &str,
macro_definitions: &str,
) -> Result<String, String>
Expand description
Converts a given TeX string to a Typst string with custom macro definitions.
This function takes a TeX string and a string containing macro definitions as input, tokenizes the TeX string, parses the custom macros, registers them, expands the macros, parses the expanded tokens into a TeX tree, converts the TeX tree to a Typst tree, serializes the Typst tree, and returns the resulting Typst string.
§Arguments
tex
- A string slice that holds the TeX input.macro_definitions
- A string slice that holds the custom macro definitions.
§Returns
Result<String, String>
- On success, returns the Typst string wrapped inOk
. On failure, returns an error message wrapped inErr
.
§Errors
This function will return an error if the tokenization, macro parsing, macro expansion, TeX parsing, conversion, or serialization fails.
§Example
use tex2typst_rs::tex2typst_with_macros;
let tex_input = r"\foo";
let macro_definitions = r"\newcommand{\foo}{bar}";
let typst_output = tex2typst_with_macros(tex_input, macro_definitions).unwrap();
println!("{}", typst_output);