From 424af4c60db1781d12357bee1f7af7cae5714afe Mon Sep 17 00:00:00 2001 From: firai Date: Mon, 2 Sep 2024 02:18:52 +0800 Subject: [PATCH] Add Reset LaTeX Size script --- ea-scripts/README.md | 1 + ea-scripts/Reset LaTeX Size.md | 31 +++++++++++++++++++++++++++++++ images/scripts-reset-latex.jpg | Bin 0 -> 16089 bytes 3 files changed, 32 insertions(+) create mode 100644 ea-scripts/Reset LaTeX Size.md create mode 100644 images/scripts-reset-latex.jpg diff --git a/ea-scripts/README.md b/ea-scripts/README.md index 9362757..f1aea21 100644 --- a/ea-scripts/README.md +++ b/ea-scripts/README.md @@ -61,6 +61,7 @@ Open the script you are interested in and save it to your Obsidian Vault includi |[OCR - Optical Character Recognition](OCR%20-%20Optical%20Character%20Recognition.md)|The script will 1) send the selected image file to [taskbone.com](https://taskbone.com) to extract the text from the image, and 2) will add the text to your drawing as a text element.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-ocr.jpg)|[@zsviczian](https://github.com/zsviczian)| |[Organic Line](Organic%20Line.md)|Converts selected freedraw lines such that pencil pressure will decrease from maximum to minimum from the beginning of the line to its end. The resulting line is placed at the back of the layers, under all other items. Helpful when drawing organic mindmaps.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-organic-line.jpg)|[@zsviczian](https://github.com/zsviczian)| |[Repeat Elements](Repeat%20Elements.md)|This script will detect the difference between 2 selected elements, including position, size, angle, stroke and background color, and create several elements that repeat these differences based on the number of repetitions entered by the user.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-repeat-elements.png)|[@1-2-3](https://github.com/1-2-3)| +|[Reset LaTeX Size](Reset%20LaTeX%20Size.md)|Reset the sizes of embedded LaTeX equations to the default sizes or a multiple of the default sizes.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-reset-latex.jpg)|[@firai](https://github.com/firai)| |[Reverse arrows](Reverse%20arrows.md)|Reverse the direction of **arrows** within the scope of selected elements.|![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-reverse-arrow.jpg)|[@zsviczian](https://github.com/zsviczian)| |[Scribble Helper](Scribble%20Helper.md)|iOS scribble helper for better handwriting experience with text elements. If no elements are selected then the creates a text element at pointer position and you can use the edit box to modify the text with scribble. If a text element is selected then opens the input prompt where you can modify this text with scribble.|![]('https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-scribble-helper.jpg')|[@zsviczian](https://github.com/zsviczian)| |[Select Elements of Type](Select%20Elements%20of%20Type.md)|Prompts you with a list of the different element types in the active image. Only elements of the selected type will be selected on the canvas. If nothing is selected when running the script, then the script will process all the elements on the canvas. If some elements are selected when the script is executed, then the script will only process the selected elements.
The script is useful when, for example, you want to bring to front all the arrows, or want to change the color of all the text elements, etc.|![]('https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-select-element-of-type.jpg')|[@zsviczian](https://github.com/zsviczian)| diff --git a/ea-scripts/Reset LaTeX Size.md b/ea-scripts/Reset LaTeX Size.md new file mode 100644 index 0000000..bae6633 --- /dev/null +++ b/ea-scripts/Reset LaTeX Size.md @@ -0,0 +1,31 @@ + +/* +![](https://raw.githubusercontent.com/zsviczian/obsidian-excalidraw-plugin/master/images/scripts-reset-latex.jpg) + +Reset the sizes of embedded LaTeX equations to the default sizes or a multiple of the default sizes. + +```javascript +*/ + +if (!ea.verifyMinimumPluginVersion || !ea.verifyMinimumPluginVersion("2.4.0")) { + new Notice("This script requires a newer version of Excalidraw. Please install the latest version."); + return; +} + +let elements = ea.getViewSelectedElements().filter((el)=>["image"].includes(el.type)); +if (elements.length === 0) return; + +scale = await utils.inputPrompt("Scale?", "Number", "1"); +if (!scale) return; +scale = parseFloat(scale); + +for (el of elements) { + equation = ea.targetView.excalidrawData.getEquation(el.fileId)?.latex; + if (!equation) return; + eqData = await ea.tex2dataURL(equation); + el.width = eqData.size.width * scale; + el.height = eqData.size.height * scale; +}; + +ea.copyViewElementsToEAforEditing(elements); +ea.addElementsToView(false, false); \ No newline at end of file diff --git a/images/scripts-reset-latex.jpg b/images/scripts-reset-latex.jpg new file mode 100644 index 0000000000000000000000000000000000000000..05e1f80d5745d3642b746a47665fab8d607c4c60 GIT binary patch literal 16089 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