_ _    _ _____  ___   __                       
 __      _(_) | _(_)___ / ( _ ) / /_   ___ ___  _ __ ___  
 \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ 
  \ V  V /| |   <| |___) | (_) | (_) | (_| (_) | | | | | |
   \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|

User:Omegatron/monobook.js/mathcharacterfixer.js

In this article, we will explore and analyze different aspects related to User:Omegatron/monobook.js/mathcharacterfixer.js. From its origin and history to its relevance today, through its impacts on society and its influence in different areas of daily life. Along these lines, we will delve in depth into User:Omegatron/monobook.js/mathcharacterfixer.js to understand its importance and implications, as well as to reflect on its role in today's world. Through a detailed and exhaustive analysis, we will seek to shed light on this topic and offer an enriching perspective for the reader.
/* <pre><nowiki> */

function mathfixer() {
    var txt = document.editform.wpTextbox1;

    // Convert minus sign HTML entities into actual minus signs (overlaps with dashfixer.js)
    txt.value = txt.value.replace(/(&#x2212;|&#8722;|&minus;)/g, '−');

    // Convert times sign HTML entities into actual times signs
    txt.value = txt.value.replace(/(&#x00D7;|&#215;|&times;)/g, '×');

    // Convert plusorminus sign HTML entities into actual plusorminus signs
    txt.value = txt.value.replace(/(&#x00B1;|&#177;|&plusmn;)/g, '±');

    // Convert hyphen next to a number into a minus sign character
    txt.value = txt.value.replace(/()-(\d)/g, '$1−$2');

    // Changes 2x3 to 2×3
    txt.value = txt.value.replace(/(\d\s?)x(\s?\d)/g, '$1×$2');

    // Changes 10^3 to 10<sup>3</sup>
//    txt.value = txt.value.replace(/(\d+)\^(\d+)/g, '$1<sup>$2</sup>');
    
    // Changes x^3 to x<sup>3</sup>
    txt.value = txt.value.replace(/()\^(\d+)/g, '$1<sup>$2</sup>');

    // Changes <sup> tags inside <math> tags back into carets
    // (don't know of a way to exclude them from the above statement)
    txt.value = txt.value.replace(/<math>(.*)<sup>(\d+)<\/sup>(.*)<\/math>/g, '<math>$1^$2$3</math>');

    // Changes 2 +/- 3 to 2±3
    txt.value = txt.value.replace(/(\s|\d)\+\/?(-|−|-)(\s|\d)/g, '$1±$3');

    // Add a tag to the summary box
    var txt = document.editform.wpSummary;
    var summary = "]";
	if (txt.value.indexOf(summary) == -1) {
		if (txt.value.match(/?\s*$/)) {
			txt.value += " | ";
		}
		txt.value += summary;
	}

    // Press the diff button to check it
    document.editform.wpDiff.click()
}

addOnloadHook(function () {
    if(document.forms.editform) {
        mw.util.addPortletLink('p-cactions', 'javascript:mathfixer()', '±', 'ca-mathfixer', 'Fixes some math characters', '', '');
    }
});

/* </nowiki></pre> */