Solverer's $\LaTeX$ package

On Solverer, you can use LaTeX to write both in Text Mode and in Math Mode, without any need for an additional markup language. This is immensely powerful as it is allows you to directly copy-paste your LaTeX code between \begin{document} and \end{document} to the website and parse it in the browser. Although we only established partial support for the LaTeX syntax as of now, new commands are being made compatible every week. Below you will find a summary of the most important functionality of $\LaTeX$. \tableofcontents

The structure of text

Sections, subsections and paragraphs

To help the readers find their way through your work, you should partition it into sections, subsections and paragraphs. $\LaTeX$ supports this with special commands that take the section title as their argument. It is up to you touse them in the correct order. The following sectioning commands are available:

\section{Early life of Einstein}
\subsection{Childhood of Einstein}
\subsubsection{Stories about baby-Einstein}





1 Early life of Einstein

1.2 Childhood of Einstein

1.1.3 Stories about baby Einstein

To start a new paragraph, use \par at the end of the paragraph. To simply break the line, use \newline. Note that $\LaTeX$ does not support the commands \part{...} and \chapter{...} as they are exclusively designed for the typesetting of large books.

Table of contents

$\LaTeX$ creates a table of contents by taking the section headings on the page and putting them in a box. The command

\tableofcontents
expands to a table of contents at the place it is issued. An example of such table is given at the top of this page. Notice, however, that adding table of contents requires silent reload of the HTML page and will thus slightly increase the load time.

Cross references and hyperlinks

To cross reference an exercise, book or an author on solverer, use the \href{url}{text} command.

\href{http://math.solverer.com}{Solverer - a place to share your (mathematical) knowledge}
Solverer - a place to share your (mathematical) knowledge
You do not have to mention the whole URL if you are referencing to a Solverer object. For instance, if you want to reference the previous URL (one level deeper), then you can use ./:

\href{./about}{about section}
about section
Indeed, you can go as many levels deeper as you want. For instance, if you you are working with the following links on solverer:
| HOME 
+- author_2
+- author_1
|_ | +- book_1
| + exercise_1
and you are currently working on exercise_1, then you can reference author_2 from there using the following URL on that page:
../../../author_2
The first ../ moves the URL from exercise_1 to book_1, the second ../ moves from book_1 to author_1 and the third ../ moves from author_1 to the main library page. From there you can call author_2.
Support for \url{...} will be added soon.

Footnotes

Use \footnote to add footnotes to a text. The footnote will be moved to the end of the text and a numerical link will be added instead.

Text formatting

You can format text using the following commands

\textbf{This text is bold.}\newline
\textit{But this one is italic}

Lists

There are three kinds of lists in LaTeX: itemize, enumerate and description. The itemize environment is suitable for simple lists.

We will cover the following groups in our course:
\begin{itemize}
\item modular groups
\item cyclic groups
\item symmetry groups
\item Galois groups
\end{itemize}
We will cover the following groups in our course:
  • modular groups
  • cyclic groups
  • symmetry groups
  • Galois groups
The enumerate environment is aimed at lists where order plays a role.

The Peano axioms are stated as follows:
\begin{enumerate}
\item $0$ is a natural number.
\item If $n$ is a natural number, then its successor $n++$ is also a natural number.
\item $0$ is not the successor of any natural number.
\item Different natural numbers must have different successors.
\item Let $P(n)$ be any property pertaining to a natural number n.
Suppose that $P(0)$ is true, and that whenever $P(n)$ is true, $P(n++)$ is also true.
Then $P(n)$ is true for every natural number $n$.
\end{itemize}
The Peano axioms are stated as follows:
  1. $0$ is a natural number.
  2. If $n$ is a natural number, then its successor $n++$ is also a natural number.
  3. $0$ is not the successor of any natural number.
  4. Different natural numbers must have different successors.
  5. Let $P(n)$ be any property pertaining to a natural number n. Suppose that $P(0)$ is true, and suppose that whenever $P(n)$ is true, $P(n++)$ is also true. Then $P(n)$ is true for every natural number $n$.
The description environment will be implemented in the near future. You can also use enumitem package
  \begin{enumerate}[label=(\alph*)]
\item an apple
\item a banana
\item a carrot
\item a durian
\end{enumerate}

\begin{enumerate}[label=(\Alph*)]
\item an apple
\item a banana
\item a carrot
\item a durian
\end{enumerate}

\begin{enumerate}[label=(\roman*)]
\item an apple
\item a banana
\item a carrot
\item a durian
  \end{enumerate}

Tables

Will be implemented soon.

Figures

A good set of commands for inclusion of graphics into these floatingbodies is provided in thegraphicxpackage by D. P. Carlisle. It is part of awhole family of packages called the graphics bundle. It is enabled in $\LaTeX$ by default. Use the following step by step guide to include a picture into your doc-ument:
  1. Export your picture in one of the following formats.
    • PNG (Animated Portable Network Graphics) — Good choice for lossless animation sequences (GIF is less performant)
    • AVIF (AV1 Image File Format) — Good choice for both images and animated images due to high performance.
    • GIF (Graphics Interchange Format) — Good choice for simple images and animations.
    • JPEG (Joint Photographic Expert Group image) — Good choice for lossy compression of still images (currently the most popular).
    • PNG (Portable Network Graphics) — Good choice for lossy compression of still images (slightly better quality than JPEG).
    • SVG (Scalable Vector Graphics) — Vector image format. Use for images that must be drawn accurately at different sizes.
    • WebP (Web Picture format) — Excellent choice for both images and animated images
    The most preferred format on solverer is SVG, as it is infinitely zoomable and extremely lightweight. You can use the following tools to create mathematical figures in SVG:
    • Desmos - a webapp with a simple interface for creating 2D and 3D function graphs. Supports export in SVG format.
    • Inkscape - a power illustrator app with which, among others, it is extremely easy to create scalable geometric schemes (boxes, circles, triangles and so on).
  2. Open the exercise or the blog entry where the image should be uploaded. Enter the edit mode and find the "Upload images" button (currently not working - will be fixed in the next weeks).
  3. After uploading the image to the figures folder of the corresponding blog/exercise, use the following LaTeX syntax:
    
    \begin{figure}
    \includegraphics[width=0.5\textwidth]{filename.format}
    \end{figure}
As explained in the previous section, LaTeX provides the facilities to workwith floating bodies, such as images or graphics, with the figure and table environments. In $\LaTeX$, floating of the objects is disabled by default and so the arguments like [h], [h!], [H] will be disabled by default.

Code

You can insert code chunks of other programming languages for illustrative purposes. Support for the following languages will be enabled in the next weeks:
Language Code
Bash Linux bash
C/C++ c, cpp
Java java
Julia julia
$\LaTeX$ latex
MATLAB matlab
Python python
R r
Rust rust
SQL sql
Feel free to contact us if you need support for an additional programming languages.

Definitions, theorems and proofs

When writing mathematical documents, one often needs to typeset and enumerate "Definitions", "Theorems", "Axioms" and similar structures. You can do so by using the corresponding environments all of which are listed below.

\begin{axiom}
There exist living oranisms.
\end{axiom}
\begin{definition} (Community)
Community is any collection of living organisms.
\end{definition}
\begin{theorem} (solverer, 2021)
Community is a living organism too.
\end{theorem}
\begin{proposition}
The community of several communities is also kinda a community.
\end{proposition}
\begin{lemma}
A community of all communities contains itself. \end{lemma}
\begin{proof}
Left as an exercise to the reader.
\end{proof}
\begin{remark}Mathematics is hard, but do not give up!\end{remark}

Typesetting Mathematical Formulae

Inline and display math mode

A mathematical formula can be typeset in-line within a paragraph (textstyle), or the paragraph can be broken and the formula typeset separately(display style). Mathematical equations within a paragraph are entered between $ and $:

Add $a$ squared and $b$ squared to get $c$ squared. Or, using a more mathematical approach: $a^2 + b^2 = c^2$.
Add $a$ squared and $b$ squared to get $c$ squared. Or, using a more mathematical approach: $a^2 + b^2 = c^2$.
If you want your larger equations to be set apart from the rest of the paragraph, it is preferable to display them rather than to break the paragraph apart. To do this, you enclose them between \begin{equation} and \end{equation}.

Einstein says
\begin{equation}
E = mc^2
\end{equation}
Yet he didn't say
\begin{equation}
1 + 1 = 3
\end{equation}
Einstein says \begin{equation} E = mc^2 \end{equation} Yet he didn't say that \begin{equation} 1 + 1 = 2 \end{equation}
Note the difference in typesetting style between text style and display style equations:

This is text style: $\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}$.\newline
And this is display style:
\begin{equation}
\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}
\end{equation}
This is text style: $\lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2} = \frac{\pi^2}{6}$.
And this is display style: \begin{equation} \lim_{n \to \infty} \sum_{k=1}^n \frac{1}{k^2}= \frac{\pi^2}{6} \end{equation}

Multiline equations

In the most general situation we have a sequence of several equalities that do not fit onto one line. Here we need to work with vertical alignment in order to keep the array of equations in a nice and readable structure.

\begin{align}
a & = b + c \\
& = d + e
\end{align}
\begin{align} a & = b + c\\ & = d + e \end{align}

Short glossary of Math Mode commands

\subsection{The Greek alphabet} \begin{table}[] \begin{tabular}{lll} Capital & Small & $\LaTeX$ \\ $\Alpha$ & $\alpha$ & \textbackslash{}alpha \\ $\Beta$ & $\beta$ & \textbackslash{}beta \\ $\Gamma$ & $\gamma$ & \textbackslash{}gamma \\ $\Delta$ & $\delta$ & \textbackslash{}delta \\ $\Epsilon$ & $\epsilon$, $\varepsilon$ & \textbackslash{}epsilon \\ $\Zeta$ & $\zeta$ & \textbackslash{}zeta \\ $\Eta$ & $\eta$ & \textbackslash{}eta \\ $\Theta$ & $\theta$, $vartheta$ & \textbackslash{}theta \\ $\Iota$ & $\iota$ & \textbackslash{}iota \\ $\Kappa$ & $\kappa$, $\varkappa$ & \textbackslash{}kappa \\ $\Lambda$ & $\lambda$ & \textbackslash{}lambda \\ $\Mu$ & $\mu$ & \textbackslash{}mu \\ $\Nu$ & $\nu$ & \textbackslash{}nu \\ $\Xi$ & $\xi$ & \textbackslash{}xi \\ $\Omicron$ & $\omicron$ & {[}omicron{]} \\ $\Pi$ & $\pi$, $\varpi$ & \textbackslash{}pi \\ $\rho$ & $\rho$ & \textbackslash{}rho \\ $\sigma$ & $\sigma$ & \textbackslash{}sigma \\ $\tau$ & $\tau$ & \textbackslash{}tau \\ $\upsilon$ & $\upsilon$ & \textbackslash{}upsilon \\ $\phi$ & $\phi$ & \textbackslash{}phi \\ $\chi$ & $\chi$ & \textbackslash{}chi \\ $\psi$ & $\psi$ & \textbackslash{}psi \\ $\omega$ & $\omega$ & \textbackslash{}omega \end{tabular} \end{table}
$\leq$ $\backslash$leq
$\geq$ $\backslash$geq
$\neq$ $\backslash$neq
$\nleq$ $\backslash$nleq
$\ngeq$ $\backslash$ngeq
$\cong$ $\backslash$cong
$\equiv$ $\backslash$equiv
$\sim$ $\backslash$sim
$\approx$ $\backslash$approx
$\doteqdot$ $\backslash$doteqdot
$\times$ $\backslash$times
$\cdot $ $\backslash$cdot
$\ast $ $\backslash$ast
$\div$ $\backslash$div
$\pm$ $\backslash$pm
$\mp$ $\backslash$mp
$\bigcirc$ $\backslash$bigcirc
$\oplus$ $\backslash$oplus
$\otimes$ $\backslash$otimes
$\propto $ $\backslash$propto
$\cdots $ $\backslash$cdots
$\dots $ $\backslash$dots
$\because$ $\backslash$because
$\therefore$ $\backslash$therefore
$\forall$ $\backslash$forall
$\exists$ $\backslash$exists
$\in$ $\backslash$in
$\subset $ $\backslash$subset
$\subseteq $ $\backslash$subseteq
$\varnothing $ $\backslash$varnothing
$\cap $ $\backslash$cap
$\cup $ $\backslash$cup
$\setminus $ $\backslash$setminus
$\wedge $ $\backslash$wedge
$\vee $ $\backslash$vee
$\Rightarrow$ $\backslash$Rightarrow
$\rightarrow$ $\backslash$rightarrow
$\mapsto$ $\backslash$mapsto
\$ $\backslash$\$
\% $\backslash$%
$\backslash$ $\backslash$backslash
$\sharp$ $\backslash$sharp
$\partial$ $\backslash$partial
$90^\circ$ 90$^\wedge\backslash$circ
$\parallel$ $\backslash$parallel
$\bot$ $\backslash$bot
$\triangle$ $\backslash$triangle
$\nabla$ $\backslash$nabla
$\square$ $\backslash$square
$\angle$ $\backslash$angle
$\Pi$ $\backslash$Pi
$\Theta$ $\backslash$Theta
$\Gamma$ $\backslash$Gamma
$\Delta$ $\backslash$Delta
$\Omega$ $\backslash$Omega
$\Sigma$ $\backslash$Sigma
$\alpha$ $\backslash$alpha
$\beta$ $\backslash$beta
$\epsilon$ $\backslash$epsilon
$\zeta$ $\backslash$zeta
$\eta$ $\backslash$eta
$\kappa$ $\backslash$kappa
$\lambda$ $\backslash$lambda
$\mu$ $\backslash$mu
$\xi$ $\backslash$xi
$\rho$ $\backslash$rho
$\tau$ $\backslash$tau
$\phi$ $\backslash$phi
$\psi$ $\backslash$psi
$\pi$ $\backslash$pi
$\theta$ $\backslash$theta
$\gamma$ $\backslash$gamma
$\delta$ $\backslash$delta
$\omega$ $\backslash$omega
$\sigma$ $\backslash$sigma
$\infty$ $\backslash$infty
$f\;' $ f$\backslash$;$\prime$
$\int $ $\backslash$int
$\oint $ $\backslash$oint
$\mathbb{Z} $ $\backslash$mathbb{Z}
$\mathbb{R} $ $\backslash$mathbb{R}
$\mathbb{Q} $ $\backslash$mathbb{Q}
$\sqrt[3]{2}$ $\backslash$sqrt[3]{2}
$\frac{2}{3}$ $\backslash$frac{2}{3}
$\lceil x \rceil$ $\backslash$lceil x $\backslash$rceil
$\lfloor x \rfloor$ $\backslash$lfloor x $\backslash$rfloor
$\{ x \}$ $\backslash${ x $\backslash$}
$\widehat{p} $ $\backslash$widehat{p}
$\overline{AB} $ $\backslash$overline{AB}
$\overleftrightarrow{AB} $ {\scriptsize $\backslash$overleftrightarrow{AB} }
$\overset{\LARGE\frown}{\small{AB}} $ \scriptsize $\backslash$overset{$\backslash$LARGE $\backslash$frown\}{$\backslash$small{AB}}