Ich benutze ein Javascript-Bookmarklet, um Unicode-Symbole bei math.stackexchange.com einzugeben. Mathjax macht den meisten Unicode genauso wie die entsprechenden Latex-Makros. Zum Beispiel $ℝ$
und $\mathbb$
geben Sie das gleiche Ergebnis. Ich mag die Art und Weise, wie Tex-Code mit Unicode-Symbolen kompakter und lesbarer bleibt.
Ich denke, dass dieser Code in der Lage ist zu tun, was Sie wollen. Ich mag nicht zu viele Tastenanschläge zu verwenden, also statt \alpha
ich \a
zu produzieren α
. Sie können dieses Skript an Ihre eigenen Bedürfnisse anpassen und dann in ein Bookmarklet umwandeln, indem Sie diese Website verwenden, beispielsweise: http://jasonmillerdesign.com/Free_Stuff/Instant_Bookmarklet_Converter
Wenn Sie dieses Skript auf einer Website ohne Jquery verwenden möchten, müssen Sie zuerst dieses Bookmarklet ausführen: http://www.learningjquery.com/2006/12/jquerify-bookmarklet/
jQuery.fn.autocorrect = function(options) { if ("text" != jQuery(this).attr("type") && !jQuery(this).is("textarea")) { return; } var defaults = { corrections: { a: "α", b: "β", c: "γ", d: "δ", e: "ϵ", emp : "∅", f: "\\frac{}{}", in : "∈", s: "σ", t: "\\text{}", tau : "τ", th : "θ", p: "π", pm : "±", o : "ω", O : "Ω", r : "ρ", A : "∀", E : "∃", R: "ℝ", C: "ℂ", H: "ℍ", N: "ℕ", Q: "ℚ", Z: "ℤ", int: "\\int_{}^{}", inf : "∞", sum : "\\sum_{}^{}", "-1": "^{-1}", ph: "ϕ", ch: "χ", ps: "ψ", leq : "≥", xi : "ξ", geq : "≤", "/=" : "≠", "==" : "≡", "<" : "\\langle {} \\rangle", "->" : "→", "=>" : "⇒", "<=" : "⇐", "<>" : "⇔", "sq" : "\\sqrt{}" } }; if (options && options.corrections) { options.corrections = jQuery.extend(defaults.corrections, options.corrections); } var opts = jQuery.extend(defaults, options); getCaretPosition = function(oField) { var iCaretPos = 0; if (document.selection) { var oSel = document.selection.createRange(); oSel.moveStart("character", 0 - oField.value.length); iCaretPos = oSel.text.length; } else if (oField.selectionStart || oField.selectionStart == "0") { iCaretPos = oField.selectionStart; } return (iCaretPos); } function setCaretPosition (oField, iCaretPos) { if (document.selection) { var oSel = document.selection.createRange(); oSel.moveStart("character", 0 - oField.value.length); oSel.moveStart("character", iCaretPos); oSel.moveEnd("character", 0); } else if (oField.selectionStart || oField.selectionStart == "0") { oField.selectionStart = iCaretPos; oField.selectionEnd = iCaretPos; } } this.keyup(function(e) { if (32 != e.keyCode) { return; } var caretPosition = (getCaretPosition(this) - 1); if (1 > caretPosition) { return; } var valueOfField = this.value; var stringUptoCaretPosition = (valueOfField).substr(0, caretPosition); if (" " == stringUptoCaretPosition.charAt(caretPosition - 1)) { return; } var beginIndex = stringUptoCaretPosition.lastIndexOf('\\'); if (beginIndex < stringUptoCaretPosition.lastIndexOf(' ')) { return; } var stringToSearch = stringUptoCaretPosition.substring(beginIndex+1); var stringNotToSearch = stringUptoCaretPosition.substring(0, beginIndex); if (!opts.corrections[stringToSearch]) { return; } var stringToReplace = opts.corrections[stringToSearch]; stringUptoCaretPosition = stringNotToSearch+ stringToReplace; var stringFromCaretPositionUptoEnd = (valueOfField).substr(caretPosition+1); this.value = (stringUptoCaretPosition + stringFromCaretPositionUptoEnd); if (stringToReplace.indexOf("{}")!=-1 ) { setCaretPosition(this, stringUptoCaretPosition.indexOf("{}")+1); } else { setCaretPosition(this, stringUptoCaretPosition.length);} }); }; $(document).ready(function() { $("textarea").autocorrect(); });