93

As the title says, I could use an exhaustive list of all Stack Exchange sites that use MathJax. If the list included any site-specific customizations made to the MathJax configuration on each site, that would be even better.

1

1 Answer 1

87

Which sites support MathJax?

These sites (and their respective Meta sites) support MathJax:

  1. 3D Printing (with mhchem extension)
  2. Amateur Radio
  3. Artificial Intelligence
  4. Astronomy
  5. Aviation
  6. Bioacoustics
  7. Bioinformatics
  8. Biology (with mhchem extension)
  9. Blender
  10. Chemistry (with mhchem extension)
  11. Code Golf (with \$ delimiters)
  12. Code Review (with \$ delimiters)
  13. Computational Science
  14. Computer Graphics
  15. Computer Science
  16. Computer Science Educators
  17. Cross Validated
  18. Cryptography
  19. Data Science
  20. Drones and Model Aircraft
  21. Earth Science (with mhchem extension)
  22. Economics
  23. Electrical Engineering (with \$ delimiters)
  24. Engineering
  25. Game Development (with \$ delimiters)
  26. History of Science and Mathematics
  27. MathOverflow
  28. Mathematica
  29. Mathematics
  30. Mathematics Educators
  31. Matter Modeling (with mhchem extension)
  32. Operations Research
  33. Photography (with \$ delimiters)
  34. Physics
  35. Programming Language Design and Implementation
  36. Proof Assistants
  37. Psychology & Neuroscience
  38. Puzzling
  39. Quantitative Finance
  40. Quantum Computing (with mhchem extension)
  41. Robotics
  42. Role-playing Games (with \$ delimiters)
  43. Signal Processing
  44. Space Exploration
  45. Theoretical Computer Science
  46. Worldbuilding (with mhchem extension)

This list was complete as of 2023-08-13. If you notice that it has become outdated, please update it using the snippet below.

Run the Stack Snippet to get the live list based on /sites from the Stack Exchange API. Note that the snippet does not check sites for the mhchem extension or \$ delimiters, only for the mere presence of MathJax; these parenthetical notes are hard-coded into the output. If any of these are out of date, please update the specials list or leave a comment on this post to let the author know to change it:

// edit below structure to indicate mathjax specific settings
// remove all spacees and/or - from the name of the site
// all lowercase
var specials = {
  "3dprinting": { mhchem: true },
  biology: { mhchem: true },
  chemistry: { mhchem: true },
  earthscience: { mhchem: true },
  mattermodeling: { mhchem: true },
  quantumcomputing: { mhchem: true },
  worldbuilding: { mhchem: true },
  electricalengineering: { delim: true },
  codegolf: { delim: true },
  codereview: { delim: true },
  gamedevelopment: { delim: true },
  photography: { delim: true },
  roleplayinggames: { delim: true },
 };

// no changes needed after this
function onload() {
  
  // error handling
  if (xhr.status !== 200) {
    document.getElementById('result').textContent = 'An error occurred: ' + xhr.status;
    return;
  }

  function filter(items) {
   var i, 
       sites =[];
   for(i=0; i < items.length; i++) {
     if (items[i].site_type === 'main_site' &&
         items[i].markdown_extensions &&
         items[i].markdown_extensions.indexOf('MathJax')>-1)
       {
          sites.push(items[i]);
       }
     }
    return sites; 
  }

  function getExtensions(sitename) {
    var sec = specials[sitename.toLowerCase().replace(' ','').replace('-','')],
        extra = '';
    if (sec !== undefined) {
      extra = '(with ';
      if (sec.mhchem) extra = extra + 'mhchem extension';
      if (sec.delim) extra = extra + '`\\$` delimiters';
      extra = extra + ')'
     }
     return extra;
  }

  function buildMarkdown(site, extra) {
    var content = [
      '1. [',
      site.name,
      '](',
      site.site_url.substr(site.site_url.indexOf(':') + 1),
      ') ',
      extra
    ], 
    pre = document.createElement('pre');
    pre.innerHTML = content.join('');
    return pre;
  }

  function processSites(sites) {
    var i,
      result = document.getElementById('result'),
      md = document.getElementById('md'),
      li, 
      extra;

    for(i = 0; i < sites.length; i = i + 1) {
        extra = getExtensions(sites[i].name);
        li = document.createElement('li');
        li.textContent = sites[i].name + ' ' + extra;
        result.appendChild(li);
        md.appendChild(
           buildMarkdown(sites[i], extra)
        );
    }
  }

  function sortSiteName(l, r) {
    return l.name<r.name?-1:1;
  }

  function process(txt) {
    var data =  JSON.parse(txt);
    processSites(filter(data.items).sort(sortSiteName));
  }
  
  process(xhr.responseText);

}

var xhr = new XMLHttpRequest();
xhr.open(
  'GET',
  'https://api.stackexchange.com/2.2/sites?pagesize=500&filter=!*L6SiaRiUSk*Z2zr');
xhr.addEventListener("load", onload);
xhr.send();
<ol id="result">
</ol>

<div id="md">
</div>

It's possible to examine the configuration programmatically, as suggested by @IlmariKaronen; here is a user script which does. (It doesn't work as a snippet because of CORS protection.)

Why doesn't [site X] support MathJax?

MathJax increases page load times drastically, so it's only supported on sites that have demonstrated a serious need for it. For more information, see LaTeX on Stack Overflow?

It is intentionally deactivated on TeX - LaTeX, as generally, site users want to see the code more than they want to see the rendered output.

11
  • 13
    Just as a remark: It is intentionally deactivated on TeX.SE, cf. Can we turn off math-tex please?, and to clear up a common misunderstanding: It is also off-topic there to ask MathJax related questions.
    – Speravir
    Commented Jan 18, 2014 at 5:10
  • 3
    @Speravir: apparently, the topicality of MathJax questions on TeX.SE is "marginal". Commented Jan 19, 2014 at 20:14
  • 3
    Please enable it on Stack Overflow.
    – endolith
    Commented Aug 25, 2017 at 3:06
  • 1
    Physics SE doesn't have MathJax on the meta site, which causes continuous troubles there.
    – peterh
    Commented Sep 20, 2017 at 13:50
  • 1
    @endolith The SE has a strong urge to make all page rendering in tenths of seconds possible on most client machines. I already tried to convince an SE insider from that the mathjax should be conditionally initialized on the page requests where there is a formula on the page. The answer was a polite mentioning, that they want to remain still so fast (then became unresponsive + nothing happened).
    – peterh
    Commented Sep 20, 2017 at 13:56
  • 2
    @endolith It can also explain, why the SE handles the SO differently. For example, on the SE sites, it is no problem, if there is some topic overlap. But it seems, they have a strong wish to collect practically all programming questions to the SO and that it should remain undivided and very fast, forever. This is likely also the reason, why the SO has a lot of improvements what the SE sites get only with a delay, or never. Maybe business logic could be the most realistic explanation (i.e. bosses simply calculate paid work hours / generated income and these numbers can be strongly for the SO).
    – peterh
    Commented Sep 20, 2017 at 14:01
  • @endolith Btw, there are simple userscripts which enable mathjax simply everywhere.
    – peterh
    Commented Sep 20, 2017 at 14:03
  • 2
    The "funny" thing is, that tex.stackexchange.com somehow doesn't have MathJax support, on mysterious reasons.
    – peterh
    Commented Aug 22, 2018 at 23:23
  • 4
    @peterh The reason why is explained here: tex.meta.stackexchange.com/questions/1272/… Commented Aug 23, 2018 at 5:40
  • 3
    @SonictheInclusiveHedgehog That is not an explanation, just a simple statement. The very little "explanation" part is non-sense (code can be still shown, just \$s it should be enclosed in `). Probably their real reason is that having MathJax support would focus the site to MathJax and distract other Tex implementations. However, if it is so, then they should say that.
    – peterh
    Commented Aug 23, 2018 at 6:16
  • 5
    @peterh If you disagree with their decision to not support MathJax, the best place to contest that would be on their per-site meta, not in comments here. Commented Aug 23, 2018 at 6:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .