What interesting uses of MathJax are there, other than mathematical typesetting, that might be useful for Code Review?
3 Answers
You can use it to get color text, such as \$ \bbox[black]{\color{white}{\textrm{white}}}\ \color{black}{\textrm{black}}\ \color{red}{\textrm{red}}\ \color{green}{\textrm{green}}\ \color{blue}{\textrm{blue}}\ \color{cyan}{\textrm{cyan}}\ \color{magenta}{\textrm{magenta}}\ \bbox[gray]{\color{yellow}{\textrm{yellow}}} \$.
The MathJax \color
command works differently from the \$\LaTeX\$ \color
command. The MathJax syntax is \color{red}{apple}
; the \$\LaTeX\$ syntax is just \color{red}
, which changes the color of all subsequent text.
Any standard CSS color name should work, e.g. \$\color{firebrick}{\texttt{\color{firebrick}{blah}}}\$.
To change the background color, you can use \bbox[bgcolorname]{content}
.
-
\$\begingroup\$ Don't do this, but what some people did on Math.SE a while back was prepend \$\bbox[red]{\color{red}{\boxed{\color{white}{+500}}}}\$ to their title to indicate a promised bounty. \$\endgroup\$– apnortonJan 7, 2015 at 2:42
-
2\$\begingroup\$ @anorton I don't believe Code Review allows MathJax in question titles. And if anyone tried to pull something like that, it would get Jamalized away. \$\endgroup\$ Jan 7, 2015 at 2:46
You can make tables using \begin{array}{colspec} … \end{array}
, where colspec
is some string consisting of l
, c
, r
specifying left, center, and right alignment for the columns. The colspec
may also have |
characters indicating the placement of vertical column-separating bars.
To draw horizontal row-separating lines, use the \hline
command.
Here is a moderately complex example:
$$ \newcommand{smallm}[0]{\overset{n\ \gg\ m}{\longrightarrow}} \begin{array}{|l|c|c|} \hline \\ & \textrm{Straightforward approach, done well} & \textrm{Fenwick tree} \\ \hline \\ \textrm{Space} & O(m + n) \smallm O(n) & O(m) \smallm O(1) \\ \hline \\ \textrm{Time} & O(m + n) \smallm O(n) & O((m + n) \log m) \smallm O(n) \\ \hline \end{array}$$
Here is a very complex example of a truth table:
$$\begin{array}{ccc|c|c} \text{*p == *q} & \text{*q != '\0'} & \text{*p != '\0'} & {\begin{array}{l}\text{*p!='\0' &&}\\\text{*q!='\0' &&}\\\text{*p==*q}\end{array}} & \begin{array}{l}\text{*q != '\0' &&}\\\text{*p == *q}\end{array} \\ \hline \\ \begin{array}{c}T\\T\end{array} & \begin{array}{c}T\\T\end{array} & \begin{array}{c}T\\F\end{array} & \begin{array}{c}T\\F\ \textrm{(impossible)}\end{array} & T \\ \hline \\ \begin{array}{c}T\\T\end{array} & \begin{array}{c}F\\F\end{array} & \begin{array}{c}T\\F\end{array} & \begin{array}{c}F\ \textrm{(impossible)}\\F\end{array} & F \\ \hline \\ \begin{array}{c}F\\F\end{array} & \begin{array}{c}T\\T\end{array} & \begin{array}{c}T\\F\end{array} & \begin{array}{c}F\\F\end{array} & F \\ \hline \\ \begin{array}{c}F\\F\end{array} & \begin{array}{c}F\\F\end{array} & \begin{array}{c}T\\F\end{array} & \begin{array}{c}F\\F\end{array} & F \\ \end{array}$$
See the source for the examples above, or by right-clicking on each table and selecting Show Math As → TeX Commands.
-
5\$\begingroup\$ Since Stack Exchange now supports Markdown tables, it is no longer necessary, in most cases, to resort to using MathJax. \$\endgroup\$ Dec 18, 2020 at 8:59
You can draw box-and-pointer diagrams using a combination of \fbox{}
and arrows.
$$ \newcommand{ptr}[1]{\overset{\mathtt{#1}}{\longrightarrow}} \begin{align*} &\mathtt{newNode} \\ &\quad\downarrow \\ \mathtt{head} \ptr{} \fbox{first} \ptr{next} &\fbox{another} \ptr{next} \mathtt{null} \\ &\fbox{second} \ptr{next} \fbox{rest} \ptr{next} \fbox{of} \ptr{next} \fbox{list} \ptr{next} \mathtt{null} \end{align*} $$