您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Copy TeX code from stackexchange sites by clicking on equations
当前为
- // ==UserScript==
- // @name Stackexchange TeX copy
- // @namespace http://tampermonkey.net/
- // @version 2023-12-26
- // @description Copy TeX code from stackexchange sites by clicking on equations
- // @author joelsleeba
- // @match https://math.stackexchange.com
- // @icon https://www.google.com/s2/favicons?sz=64&domain=stackexchange.com
- // @license AGPL v3
- // ==/UserScript==
- (function() {
- 'use strict';
- // Your code here...
- function handleEquationClick(event) {
- event.stopPropagation();
- const equation = event.target.closest(".math-container")
- if (equation) {
- // Wikipedia nicely packs a single <math> element inside each .mwe-math-element classes
- const mathScript = equation.querySelector("script[type='math/tex']");
- const tex = mathScript.innerText
- console.log(tex);
- // Do something with the joined alt text here, e.g., display it in an alert:
- navigator.clipboard.writeText(tex)
- .then(() => {
- // Copying succeeded
- console.log("TeX copied to clipboard");
- })
- .catch(err => {
- // Copying failed, handle the error
- console.error("Failed to copy TeX :", err);
- });
- } else {
- console.log("Clicked element is not within an .mwe-math-element");
- }
- }
- // // Attach the event listener to all descendants of .ltx_Math which are not themselves descendants of .ltx_equation
- document.querySelectorAll(".math-container *").forEach(element => {
- element.addEventListener("click", handleEquationClick);
- });
- })();