您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Highlights mathematical variables and notations (MathJax, Italic) with a simple blue background, so long paragraphs are easier to read. Primarily focused for usage on websites such as codeforces and project euler.
// ==UserScript== // @name math variables and notations highlighter // @namespace https://github.com/FreGeh // @version 1.5 // @license GPL-3.0-or-later // @description Highlights mathematical variables and notations (MathJax, Italic) with a simple blue background, so long paragraphs are easier to read. Primarily focused for usage on websites such as codeforces and project euler. // @icon https://cdn-icons-png.flaticon.com/128/43/43102.png // @author fregeh // @match *://*/* // @grant none // ==/UserScript== (function() { 'use strict'; // Define a function to style elements. function highlightElements() { // Style tex-span variables. const texElements = document.querySelectorAll('.tex-span i'); texElements.forEach(variable => { variable.style.backgroundColor = 'rgba(160, 200, 255, 0.7)'; // Less transparent blue variable.style.borderRadius = '3px'; variable.style.padding = '0 2px'; }); // Style MathJax elements. const mathJaxElements = document.querySelectorAll('.MathJax'); mathJaxElements.forEach(element => { element.style.backgroundColor = 'rgba(160, 200, 255, 0.7)'; // Less transparent blue element.style.borderRadius = '3px'; element.style.padding = '2px 4px'; element.style.margin = '0 2px'; element.style.display = 'inline-block'; }); // Style italic and subscript variables in problem_par. const problemVars = document.querySelectorAll('.problem_par i, .problem_par sub'); problemVars.forEach(variable => { variable.style.backgroundColor = 'rgba(160, 200, 255, 0.7)'; variable.style.borderRadius = '3px'; variable.style.padding = '0 2px'; }); } // Apply styling to existing elements. highlightElements(); // Observe DOM changes for dynamic content. const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { mutation.addedNodes.forEach(node => { if (node.nodeType === 1) { if (node.matches('.tex-span i, .MathJax, .problem_par i, .problem_par sub')) { highlightElements(); } else { node.querySelectorAll('.tex-span i, .MathJax, .problem_par i, .problem_par sub').forEach(highlightElements); } } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })();